Sunteți pe pagina 1din 21

PROIECT BAZE DE DATE

Descrierea bazei de date:

Baza de date creat n cadrul acestui proiect reprezint


baza de date a unei mici ntreprinderi romneti care vinde
diverse componente electronice produse de aceasta. Baza de
date cuprinde informaii att despre clienii i comenzile
efectuate ct i informaii despre angajaii, funciile i
departamentele acesteia. Legaturile dintre tabele sunt toate de
tip unu-la-mai muli, iar n unele cazuri au fost adaugate i
unele constrngeri de tipul verificrilor, pentru a asigura
validitatea datelor n contextul respectiv. Cheile primare sunt de
tipul ID. Compania are contracte cu firme din strainatate, iar in
cadrul tabelei comenzi sunt nregistrate att comenzile n curs
de livrare *10*, ct i cele livrate i confirmate *11*. Toate
datele referitoare la preuri, ct i cele legate de salariile
angajaiilor reprezinta valoarea n dolari.
Schema bazei de date:

Definirea bazei de date:

Pentru definirea bazei de date conform schemei anterioare s-a


folosit urmtorul script care a dus la creearea tabelelor
necesare:
create table CLIENTI_PRO
(ID_CLIENT VARCHAR2(20) not null,
NUME_CLIENT VARCHAR2(30),
DESCRIERE VARCHAR2(1000),
ID_LOC VARCHAR2(3));
alter table CLIENTI_PRO
add constraint CLIENTI_ID_CLIENT_PK primary key (ID_CLIENT);
alter table CLIENTI_PRO
add constraint CLIENTI_ID_LOC_FK foreign key (ID_LOC)
references LOCATII_PRO (ID_LOC);
create table FEEDBACK_CLIENTI_PRO
(ID_FEED VARCHAR2(20),
ID_CLIENT VARCHAR2(20) not null,
NUME_DEP VARCHAR2(30),
CALIFICATIV VARCHAR2(20)
constraint FEEDBACK_CLIENTI_ID_FEED_PK primary key (ID_FEED));
alter table FEEDBACK_CLIENTI_PRO
add constraint FEEDBACK_CLIENTI_ID_CLIENT_FK foreign key (ID_CLIENT)
references CLIENTI_PRO (ID_CLIENT);
alter table FEEDBACK_CLIENTI_PRO
add constraint FEEDBACK_CLIENTI_NUME_DEP_FK foreign key (NUME_DEP)
references DEPARTAMENTE_PRO (NUME_DEP);
create table DEPARTAMENTE_PRO
(ID_DEPART VARCHAR2(20),
NUME_DEP VARCHAR2(30),
TEAM_MANAGER VARCHAR2(30),
DESCRIERE_D VARCHAR2(1000));
alter table DEPARTAMENTE_PRO
add constraint DEPARTAMENTE_ID_DEPART_PK primary key (ID_DEPART);
create table PRODUSE_PRO
(ID_PRODUS VARCHAR2(20),
NUME_PRODUS VARCHAR2(30),
DESCRIERE_P VARCHAR2(1000),
CANTITATE
NUMBER(6),
ID_MATERIAL VARCHAR2(20),
PRET_TVA Number(6));
alter table PRODUSE_PRO
add constraint PRODUSE_ID_PRODUS_PK primary key (ID_PRODUS);
alter table PRODUSE_PRO
add constraint PRODUSE_ID_MATERIAL_FK foreign key (ID_MATERIAL)
references MATERIALE_PRO (ID_MATERIAL);
alter table PRODUSE_PRO
add constraint PRODUSE_PRET_TVA_FK foreign key (PRET_TVA)
references PRETURI_PRO (PRET_TVA);
create table FUNCTII_PRO

(ID_FUNCT VARCHAR2(20),
DEN_FUNCT VARCHAR2(20),
SALARIU_MIN NUMBER(6),
SALARIU_MAX NUMBER(10));
alter table FUNCTII_PRO
add constraint FUNCTII_ID_FUNCT_PK primary key (ID_FUNCT);
alter table FUNCTII_PRO
add constraint FUNCTII_SALARIUL_MIN
check (SALARIU_MIN > 0);
alter table FUNCTII_PRO
add constraint FUNCTII_SALARIUL_MAX
check (SALARIU_MAX > 0);
create table ANGAJATI_PRO
(ID_ANG VARCHAR2(20) not null,
NUME VARCHAR2(20),
PRENUME VARCHAR2(20),
VARSTA NUMBER(3),
TELEFON NUMBER(10),
EMAIL VARCHAR2(20),
ID_DEPART VARCHAR2(20),
SALARIU NUMBER(8),
ID_FUNCT VARCHAR2(20));
alter table ANGAJATI_PRO
add constraint ANGAJATI_ID_ANG_PK primary key (ID_ANG);
alter table ANGAJATI_PRO
add constraint ANGAJATI_ANG_EMAIL_UK unique (EMAIL);
alter table ANGAJATI_PRO
add constraint ANGAJATI_ID_DEPT_FK foreign key (ID_DEPART)
references DEPARTAMENTE_PRO (ID_DEPART);
alter table ANGAJATI_PRO
add constraint ANGAJATI_ID_FUNCTIE_FK foreign key (ID_FUNCT)
references FUNCTII_PRO (ID_FUNCT);
alter table ANGAJATI_PRO
add constraint ANGAJATI_NUME_NN
check ("NUME" IS NOT NULL);
alter table ANGAJATI_PRO
add constraint ANGAJATI_PRENUME_NN
check ("PRENUME" IS NOT NULL);
alter table ANGAJATI_PRO
add constraint ANGAJATI_SALARIU
check (SALARIU > 0);
create table PRETURI_PRO
(ID_PRET VARCHAR2(20),
ID_PRODUS VARCHAR2(20),
PRET_BUC NUMBER(6),
PRET_TVA NUMBER(6),
PRET_TRANS NUMBER(6),
PRET_TOTAL NUMBER(6));
alter table PRETURI_PRO
add constraint PRETURI_ID_PRET_PK primary key (ID_PRET);
create table COMENZI_PRO

(ID_COMANDA VARCHAR2(20),
ID_CLIENT VARCHAR2(20),
ID_PRODUS VARCHAR2(20),
CANTITATE NUMBER(6),
STARE_COMANDA NUMBER(2));
alter table COMENZI_PRO
add constraint COMENZI_NR_COMANDA_PK primary key (NR_COMANDA);
alter table COMENZI_PRO
add constraint COMENZI_ID_CLIENT_FK foreign key (ID_CLIENT)
references CLIENTI_PRO (ID_CLIENTI);
alter table COMENZI_PRO
add constraint COMENZI_ID_PRODUS_FK foreign key (ID_PRODUS)
references PRODUSE_PRO (ID_PRODUS);
create table MATERIALE_PRO
(ID_MATERIAL VARCHAR2(20),
NUME_MAT VARCHAR2(20),
STOC NUMBER(6),
PRET_UNIT NUMBER(6));
alter table MATERIALE_PRO
add constraint MATERIALE_ID_MATERIALE_PK primary key (ID_MATERIAL);
create table LOCATII_PRO
(ID_LOC VARCHAR2(3) not null,
LOCATIE VARCHAR2(20),
TARA VARCHAR2(30),
DURATA_TR_H NUMBER(4));
alter table LOCATII_PRO
add constraint LOCATII_ID_LOC_PK primary key (ID_LOC);

Pentru populare s-a folosit urmtorul script:


insert into CLIENTI_PRO (ID_CLIENT, NUME_CLIENT, DESCRIERE, ID_LOC)
values ('0011G', 'Apple', 'Companie americana producatoare de echipamente
electronice.', 'USA');
insert into CLIENTI_PRO (ID_CLIENT, NUME_CLIENT, DESCRIERE, ID_LOC)
values ('0021A', 'Sony', 'Conglomerat japonez ce produce echipamente
electronice si produse multimedia.', 'JAP');
insert into CLIENTI_PRO (ID_CLIENT, NUME_CLIENT, DESCRIERE, ID_LOC)
values ('120RH', 'Allview', 'Companie romaneasca producatoare de telefoane
inteligente.', 'ROU');
insert into CLIENTI_PRO (ID_CLIENT, NUME_CLIENT, DESCRIERE, ID_LOC)
values ('GF620', 'HTC', 'Companie taiwaneza producatoare de gadget-uri
inteligente.', 'TWN');
insert into CLIENTI_PRO (ID_CLIENT, NUME_CLIENT, DESCRIERE, ID_LOC)
values ('FG11A', 'Microsoft', 'Companie americana producatoare de solutii
software si echipamente electronice.', 'USA');
insert into CLIENTI_PRO (ID_CLIENT, NUME_CLIENT, DESCRIERE, ID_LOC)
values ('MG143', 'GOOGLE', 'Companie americana producatoare de echipamente
electronice si produse software.', 'USA');
insert into FEEDBACK_CLIENTI_PRO (ID_FEED, ID_CLIENT, NUME_DEP,
CALIFICATIV)
values ('6521A', '0011G','Sales','Excellent');

insert into FEEDBACK_CLIENTI_PRO (ID_FEED, ID_CLIENT,


CALIFICATIV)
values ('452WE', '0021A','Shipment','Good');
insert into FEEDBACK_CLIENTI_PRO (ID_FEED, ID_CLIENT,
CALIFICATIV)
values ('543DF', '120RH','Sales','Excellent');
insert into FEEDBACK_CLIENTI_PRO (ID_FEED, ID_CLIENT,
CALIFICATIV)
values ('321CD', 'GF620','Shipment','Medium');
insert into FEEDBACK_CLIENTI_PRO (ID_FEED, ID_CLIENT,
CALIFICATIV)
values ('76DFC', 'FG11A','Sales','Good');
insert into FEEDBACK_CLIENTI_PRO (ID_FEED, ID_CLIENT,
CALIFICATIV)
values ('764AS', 'MG143','After-Sale','Excellent');

NUME_DEP,
NUME_DEP,
NUME_DEP,
NUME_DEP,
NUME_DEP,

insert into DEPARTAMENTE_PRO (ID_DEPART, NUME_DEP, TEAM_MANAGER,


DESCRIERE_D)
values ('SALE','Sales', 'John Smith','The function of a sales department is to
engage in a variety of activities with the objective to promote the customer
purchase of a product or the client engagement of a service');
insert into DEPARTAMENTE_PRO (ID_DEPART, NUME_DEP, TEAM_MANAGER,
DESCRIERE_D)
values ('SHIP', 'Shipment', 'Mike Johnna','Planning, monitoring & controlling is the
key role of shipping dept.');
insert into DEPARTAMENTE_PRO (ID_DEPART, NUME_DEP, TEAM_MANAGER,
DESCRIERE_D)
values ('A-SALE', 'After-Sale', 'Anne Frederic','Periodic or as-required maintenance
or repair of equipment by its manufacturer or supplier, during and after a
warranty period.');
insert into DEPARTAMENTE_PRO (ID_DEPART, NUME_DEP, TEAM_MANAGER,
DESCRIERE_D)
values ('HR', 'Human Resources', 'Jim Henry','Identifies hiring need, develops the
position description, Recruitment Plan, organizational chart and other recruitment
related documents');
insert into DEPARTAMENTE_PRO (ID_DEPART, NUME_DEP, TEAM_MANAGER,
DESCRIERE_D)
values ('FIN', 'Finance', 'Mike Jordan','Make the budget before actual providing
money to any department, fulfill each department with minimum cost and take
care of making better budget.');
insert into DEPARTAMENTE_PRO (ID_DEPART, NUME_DEP, TEAM_MANAGER,
DESCRIERE_D)
values ('R&D', 'Research & Developement', 'Vanessa Florence','Planning,
monitoring & controlling is the key role of shipping dept.');
insert into PRODUSE_PRO (ID_PRODUS, NUME_PRODUS, DESCRIERE_P,
CANTITATE, ID_MATERIAL, PRET_TVA)
values ('PD321', 'Resistor', 'Pass current in proportion to voltage and oppose
current.', 32000, MT211,10);
insert into PRODUSE_PRO (ID_PRODUS, NUME_PRODUS, DESCRIERE_P,
CANTITATE, ID_MATERIAL, PRET_TVA)
values ('PD331', 'Capacitor', 'Store and release electrical charge.', 21300, MT522,
12);

insert into PRODUSE_PRO (ID_PRODUS, NUME_PRODUS, DESCRIERE_P,


CANTITATE, ID_MATERIAL, PRET_TVA)
values ('PD400', 'Magnetic devices', 'Electrical component that use magnetism in
the storage and release of electrical charge through current.', 10300, MT513, 20);
insert into PRODUSE_PRO (ID_PRODUS, NUME_PRODUS, DESCRIERE_P,
CANTITATE, ID_MATERIAL, PRET_TVA)
values ('PD531', 'Memristor', 'Electrical components that pass charge in
proportion to magnetism or magnetic flux.', 12300, MT641, 30);
insert into PRODUSE_PRO (ID_PRODUS, NUME_PRODUS, DESCRIERE_P,
CANTITATE, ID_MATERIAL, PRET_TVA)
values ('PD532', 'Camera', 'Optical instrument for recording images.', 50300,
MT544, 120);
insert into PRODUSE_PRO (ID_PRODUS, NUME_PRODUS, DESCRIERE_P,
CANTITATE, ID_MATERIAL, PRET_TVA)
values ('PD114', 'Processor', 'Its basic job is to receive input and provide the
appropriate output.', 43300, MT511, 140);
insert into PRETURI_PRO (ID_PRET, ID_PRODUS,
PRET_TRANS, PRET_TOTAL)
values ('PR121', 'PD321', 8, 10, 4, 14);
insert into PRETURI_PRO (ID_PRET, ID_PRODUS,
PRET_TRANS, PRET_TOTAL)
values ('PR223', 'PD331', 10, 12, 6, 18);
insert into PRETURI_PRO (ID_PRET, ID_PRODUS,
PRET_TRANS, PRET_TOTAL)
values ('PR321', 'PD400', 18, 20, 8, 28);
insert into PRETURI_PRO (ID_PRET, ID_PRODUS,
PRET_TRANS, PRET_TOTAL)
values ('PR451', 'PD531', 28, 30, 10, 40);
insert into PRETURI_PRO (ID_PRET, ID_PRODUS,
PRET_TRANS, PRET_TOTAL)
values ('PR552', 'PD532', 110, 120, 20, 140);
insert into PRETURI_PRO (ID_PRET, ID_PRODUS,
PRET_TRANS, PRET_TOTAL)
values ('PR671', 'PD114', 130, 140, 50, 190);
insert into MATERIALE_PRO (ID_MATERIAL,
values ('MTPL','Plastic', 20000, 1);
insert into MATERIALE_PRO (ID_MATERIAL,
values ('MTAL','Aluminium', 10000, 3);
insert into MATERIALE_PRO (ID_MATERIAL,
values ('MTMG','Magnet', 5000, 5);
insert into MATERIALE_PRO (ID_MATERIAL,
values ('MTSD','Sand', 20000, 2);
insert into MATERIALE_PRO (ID_MATERIAL,
values ('MTGL','Glass', 15000, 10);
insert into MATERIALE_PRO (ID_MATERIAL,
values ('MTIR','Iron', 5000, 8);

PRET_BUC, PRET_TVA,
PRET_BUC, PRET_TVA,
PRET_BUC, PRET_TVA,
PRET_BUC, PRET_TVA,
PRET_BUC, PRET_TVA,
PRET_BUC, PRET_TVA,

NUME_MAT, STOC, PRET_UNIT)


NUME_MAT, STOC, PRET_UNIT)
NUME_MAT, STOC, PRET_UNIT)
NUME_MAT, STOC, PRET_UNIT)
NUME_MAT, STOC, PRET_UNIT)
NUME_MAT, STOC, PRET_UNIT)

insert into LOCATII_PRO (ID_LOC, LOCATIE, TARA, DURATA_TR_H)


values ('USA','Los Angeles','United States of America', 10);
insert into LOCATII_PRO (ID_LOC, LOCATIE, TARA, DURATA_TR_H)
values ('ROU','Bucharest','Romania', 1);
insert into LOCATII_PRO (ID_LOC, LOCATIE, TARA, DURATA_TR_H)

values ('JAP','Tokyo','Japan', 13);


insert into LOCATII_PRO (ID_LOC, LOCATIE, TARA, DURATA_TR_H)
values ('TWN','Taipei','Taiwan', 9);
insert into LOCATII_PRO (ID_LOC, LOCATIE, TARA, DURATA_TR_H)
values ('FRA','Paris','France', 2);
insert into LOCATII_PRO (ID_LOC, LOCATIE, TARA, DURATA_TR_H)
values ('ITA','Rome','Italy', 2);
insert into FUNCTII_PRO (ID_FUNCT, DEN_FUNCT, SALARIUL_MIN,
values ('SMAN','Sales Manager',10000, 30000);
insert into FUNCTII_PRO (ID_FUNCT, DEN_FUNCT, SALARIUL_MIN,
values ('ASMAN','After-Sales Manager', 9000, 25000);
insert into FUNCTII_PRO (ID_FUNCT, DEN_FUNCT, SALARIUL_MIN,
values ('HRMAN','Human Resource Manager', 8000, 20000);
insert into FUNCTII_PRO (ID_FUNCT, DEN_FUNCT, SALARIUL_MIN,
values ('FMAN','Finance Manager',12000, 37000);
insert into FUNCTII_PRO (ID_FUNCT, DEN_FUNCT, SALARIUL_MIN,
values ('RDMAN','R&D Manager', 11000, 32000);
insert into FUNCTII_PRO (ID_FUNCT, DEN_FUNCT, SALARIUL_MIN,
values ('SH','Shipment', 9000, 28000);

SALARIUL_MAX)
SALARIUL_MAX)
SALARIUL_MAX)
SALARIUL_MAX)
SALARIUL_MAX)
SALARIUL_MAX)

insert into ANGAJATI_PRO (ID_ANG, NUME, PRENUME, VARSTA, TELEFON, EMAIL,


ID_DEPART, SALARIU, ID_FUNCT)
values ('AN321','Smith','John', 32, 0741223431, 'john.smith@yahoo.com', 'SALE',
23000, 'SMAN');
insert into ANGAJATI_PRO (ID_ANG, NUME, PRENUME, VARSTA, TELEFON, EMAIL,
ID_DEPART, SALARIU, ID_FUNCT)
values ('AN451','Johnna','Mike', 28, 0751623731, 'johnna.sh@yahoo.com', 'SHIP',
20000, 'SH');
insert into ANGAJATI_PRO (ID_ANG, NUME, PRENUME, VARSTA, TELEFON, EMAIL,
ID_DEPART, SALARIU, ID_FUNCT)
values ('AN131','Frederic','Anne', 25, 0761273531, 'anne.frd@yahoo.com', 'ASALE', 16000, 'ASMAN');
insert into ANGAJATI_PRO (ID_ANG, NUME, PRENUME, VARSTA, TELEFON, EMAIL,
ID_DEPART, SALARIU, ID_FUNCT)
values ('AN521','Henry','Jim', 30, 0741253438, 'henry.jim1@yahoo.com', 'HR',
12000, 'HRMAN');
insert into ANGAJATI_PRO (ID_ANG, NUME, PRENUME, VARSTA, TELEFON, EMAIL,
ID_DEPART, SALARIU, ID_FUNCT)
values ('AN731','Jordan','Mike', 33, 0754263431, 'jordan.mk@yahoo.com', 'FIN',
30000, 'FMAN');
insert into ANGAJATI_PRO (ID_ANG, NUME, PRENUME, VARSTA, TELEFON, EMAIL,
ID_DEPART, SALARIU, ID_FUNCT)
values ('AN821','Florence','Vanessa', 28, 0761283931, 'florence28@yahoo.com',
'R&D', 21000, 'RDMAN');
insert into ANGAJATI_PRO (ID_ANG, NUME, PRENUME, VARSTA, TELEFON, EMAIL,
ID_DEPART, SALARIU, ID_FUNCT)
values ('0000','Cosarca','Ciprian', 20, 0741243131, 'cip.lit@yahoo.com', 'SALE',
21000, 'SMAN');
insert into COMENZI_PRO (ID_COMANDA, ID_CLIENT, ID_PRODUS, CANTITATE,
STARE_COMANDA)
values ('CM121','0011G', 'PD532', 1000, 11);

insert into COMENZI_PRO (ID_COMANDA, ID_CLIENT,


STARE_COMANDA)
values ('CM321','0021A', 'PD114', 8000, 11);
insert into COMENZI_PRO (ID_COMANDA, ID_CLIENT,
STARE_COMANDA)
values ('CM451','120RH', 'PD400', 500, 10);
insert into COMENZI_PRO (ID_COMANDA, ID_CLIENT,
STARE_COMANDA)
values ('CM111', 'GF620', 'PD321', 11000, 10);
insert into COMENZI_PRO (ID_COMANDA, ID_CLIENT,
STARE_COMANDA)
values ('CM231', 'FG11A', 'PD331', 10000, 11);
insert into COMENZI_PRO (ID_COMANDA, ID_CLIENT,
STARE_COMANDA)
values ('CM481', 'MG143', 'PD400', 2000, 10);

ID_PRODUS, CANTITATE,
ID_PRODUS, CANTITATE,
ID_PRODUS, CANTITATE,
ID_PRODUS, CANTITATE,
ID_PRODUS, CANTITATE,

Operaii DDL:
1. Actualizai descrierile companiilor din USA, astfel:
American producer of electronic goods and services.
UPDATE CLIENTI_PRO SET DESCRIERE=American producer of
electronic goods and services
WHERE ID_LOC IN(USA );

2. Afiai toate comenzile de peste 9000 dolari care au fost


confirmate.
SELECT * FROM comenzi
WHERE cantitate>=9000
AND stare_comanda=11;

3. S se selecteze departamentele cu cele mai bune


calificative i managerii acestora.
SELECT DISTINCT f.nume_dep,d. team_manager,f. calificativ
FROM feedback_clienti_pro f, departamente_pro d
WHERE f.nume_dep=d.nume_dep
AND initcap(f.calificativ) = 'Excellent';

4.
S se afieze id_angajat, nume, id_functie si salariul
pentru angajatii care sunt manageri i al cror salariu este mai
mare dect oricare dintre salariile celor angajati la resurse
umane:
SELECT id_ang, nume, id_funct, salariu
FROM angajati_pro
WHERE salariu > ANY
(SELECT salariu FROM angajati_pro
WHERE id_depart LIKE UPPER( 'HR'))
AND id_funct LIKE UPPER('%MAN')
ORDER BY salariu;

5.S se adauge o nou coloana numit data_angajare de tip


date, cu urmatoarele nregistrari: 12-01-2005,11-09-2008,2302-2011,21-06-2007,16-02-2009,19-10-2011;

update ANGAJATI_PRO
set data_angajare=to_date( '11-09-2008','dd-mm-yyyy')
where id_ang='AN451';

6. Mrii salariul angajatilor care sunt n companie de peste 6


ani cu 1000 dolari.
UPDATE angajati_pro SET salariu=salariu+1000
WHERE(sysdate-data_angajare)>6);

7.S se calculeze valoarea fiecarui produs afisnd denumirea


produsului, preul, cantitatea i valoarea.
SELECT p.nume, pr.pret_buc, p.cantitate
p.pret_tva * p.cantitate AS Valoare
FROM produse_pro p, preturi pr
WHERE p.id_produs= pr.id_produs;

8. Calculati valoarea cheltuielilor cu fiecare


produs(transport,tva).

SELECT p.nume_produs, (pr.pret_TVA-pr.pret_BUC)


+pr.pret_trans as chetuieli_prod
From produse_pro p, preturi_pro pr
Where p.id_produs=pr.id_produs;

9. Afisati totalul produselor exportate in USA(doar cele care au


fost si confirmate).
SELECT c.nume_client, SUM(cm.cantitate) as total
From comenzi_pro cm, clienti_pro c
Where cm.id_client=c.id_client and cm.stare_comanda='11'
and c.id_loc='USA'
Group by nume_client;

10. S se adauge 10 de dolari la preul produselor din plastic,


15 dolari la cele din aluminiu i 20 la cele din magnet, afind i
numarul de produse din fiecare material in parte.
SELECT p.NUME_PRODUS, p.id_produs, PRET_TVA+10 as
NEW_PRICE
FROM produse_pro p, materiale_pro m
Where m.id_material=p.id_material and
initcap(m.nume_mat)='Plastic'
UNION
SELECT p.NUME_PRODUS, p.id_produs,PRET_TVA+15 as
NEW_PRICE
FROM produse_pro p, materiale_pro m
Where m.id_material=p.id_material and
initcap(m.nume_mat)='Aluminium'
UNION
SELECT p.NUME_PRODUS, p.id_produs,PRET_TVA+20 as
NEW_PRICE
FROM produse_pro p, materiale_pro m
Where m.id_material=p.id_material and
initcap(m.nume_mat)='Magnet';

11. Modificai descrierile companiilor din Taiwan, Romnia i


Japonia:
SELECT nume_client,
(CASE when upper(id_loc)='ROU' then 'Romanian electronic
goods company.'

when upper(id_loc)='TWN' then 'Taiwan electronic goods


company.'
when upper(id_loc)='JAP' then 'Japonese electronic goods
company.'
ELSE 'American electronic goods company.' End) Descriere
From clienti_pro;

12.Afisai toi angajai care lucreaza n acelai depatament cu


John.
SELECT nume, id_depart
From angajati_pro
Where id_depart=(Select id_depart from angajati_pro where
initcap(prenume)=John);

13. S realizeze o tabel virtual cu toi angajaii, scaznd


mrirea de salariu.
CREATE OR REPLACE VIEW v_angajati_pro
AS SELECT * FROM angajati_pro;

SELECT * FROM v_angajati_pro;

UPDATE v_angajati_pro
SET salariu = salariu - 1000;

14. S se creeze un sinonim pentru tabela Clieni,


verificai-l:
CREATE SYNONYM cl FOR CLIENTI_PRO;

SELECT * FROM USER_SYNONYMS;

15. Afisai datele despre angajaii care au salariul ntre 1000 i


3000, fr s includei cei cu salariul de 2300 i 1200.
SELECT * FROM angajati_pro
WHERE salariu between 1000 and 3000

MINUS
SELECT * FROM angajati_pro
WHERE salariu in(2300,1200);

S-ar putea să vă placă și