Sunteți pe pagina 1din 33

Proiect Baze de Date Magazin Muzica

Pocovnicu Robert Seria C Grupa 1029

Tabele:

Aceasta baza de date a fost creata pentru gestiunea magazinul Muzica. Tabelele necesare sunt urmatoarele: ANGAJATI: id_angajat; nume; prenume; adresa; telefon; data_angajare; salariu; comision; id_functie; FUNCTII:id_functie; denumire_functie; salariul_min; salariul_max; CLIENTI:id_client; nume_c; prenume_c; telefon; adresa; localitate; COMENZI: nr_comada; data_c; id_angajat; id_client; modalitate_plata; stare_comanda; STOC:nr_stoc; cantitate; id_produs; id_furnizor; PRODUSE:id_produse; categorie_produs; pret;denumire_produs; FURNIZORI:id_furnizor; denumire_furnizor; localitate; cantitate_comandata;

CREAREA TABELELOR

Functii:
create table FUNCTII (Id_functie NUMBER(4), Denumire_functie VARCHAR2(40) NOT NULL, Salariul_min NUMBER(4), Salariul_max NUMBER(4) ); alter table functii add CONSTRAINT PK_FUNCTIE PRIMARY KEY;

Angajati:
create table ANGAJATI (id_angajat number(4), Nume_angajat varchar2(10) not null, Prenume_angajat varchar2(10), Adresa varchar2(40),

Telefon number(10), Data_angajare date, Salariul number(4), Comision number(2), id_functie number(4), constraint id_functie_pk foreign key(id_functie) references Functii(id_functie) ); alter table angajati add constraint pk_angajati primary key(id_angajat);

Clienti:
create table Clienti (id_client number(4), nume_c varchar2(10), prenume_c varchar2(10), telefon number(10), adresa varchar2(30), localitate varchar2(15)

); alter table clienti add constraint pk_client primary key(id_client);

Produse:
create table Produse (id_produs number(4), categorie_produs varchar2(10), pret number(4) ); alter table Produse add constraint pk_produs primary key (id_produs); alter table Produse

add denumire_produs varchar2(20); alter table Produse modify denumire_produs varchar2(50);

Furnizori:
create table Furnizori (id_furnizor number(4), denumire_furnizor varchar2(20), localitate varchar2(15), cantitate_comandata number(4) ); alter table Furnizori add constraint id_furnizor_pk primary key(id_furnizor);

Stoc:
create table Stoc (nr_stoc number(4), cantitate number(3), id_produs number(4), id_furnizor number(4) ); alter table Stoc add constraint pk_stoc primary key(nr_stoc); alter table Stoc add constraint id_produs_fk foreign key(id_produs) references Produse(id_produs); alter table Stoc

add constraint id_furnizor_fk foreign key(id_furnizor) references Furnizori(id_furnizor);

Comenzi:
create table Comenzi (nr_comanda number(3), data_c date, id_angajat number(4), id_client number(4), modalitate_plata varchar2(5), stare_comanda varchar2(15) ); alter table Comenzi add constraint pk_comanda primary key(nr_comanda); alter table Comenzi add constraint fk_angajat foreign key(id_angajat) references Angajati(id_angajat); alter table Comenzi add constraint fk_client foreign key(id_client) references Clienti(id_client); alter table Comenzi

add id_produs number(4); alter table Comenzi add constraint fkey_produs foreign key(id_produs) references Produse(id_produs);

Daca se doreste stergerea unei tabele se foloseste comanda DROP ca de exemplu:


Drop table functii cascade constraints; Drop table angajati cascade constraints; Drop table clienti cascade constraints; Drop table produse cascade constraints; Drop table comenzi cascade constraints; Drop table stoc cascade constraints; Drop table furnizori cascade constraints;

Populare tabelelor:
Functii:
insert into Functii(id_functie,denumire_functie,salariul_min,salariul_max) values('100','Casier','1000','1600'); insert into Functii(id_functie,denumire_functie,salariul_min,salariul_max) values('101','Lucrator comercial','1000','1600'); insert into Functii(id_functie,denumire_functie,salariul_min,salariul_max) values('102','Manager','2000','2500'); insert into Functii(id_functie,denumire_functie,salariul_min,salariul_max) values('103','Promoter','900','1200'); insert into Functii(id_functie,denumire_functie,salariul_min,salariul_max) values('104','Ingrijitoare','700','800'); insert into Functii(id_functie,denumire_functie,salariul_min,salariul_max) values('105','Director','5000','6000');

Angajati:
insert into Angajati(id_angajat,nume_angajat,prenume_angajat,adresa,telefon,data_angajare,salariul,comision,id_fun ctie) values('200','Petcu','George','Aleea Crevedia nr 1','0722687569','05.April.2001','1600','10','100'); insert into Angajati(id_angajat,nume_angajat,prenume_angajat,adresa,telefon,data_angajare,salariul,comision,id_fun ctie) values('201','Petcu','Mihai','Aleea Cetatea Veche nr 3','0745895348','06.November,2003','1600','10','100'); insert into Angajati(id_angajat,nume_angajat,prenume_angajat,adresa,telefon,data_angajare,salariul,comision,id_fun ctie) values('202','Bunea','Alin','Strada Cetatea Veche nr 5','0766892135','28.May.2008','1300','5','101'); insert into Angajati(id_angajat,nume_angajat,prenume_angajat,adresa,telefon,data_angajare,salariul,comision,id_fun ctie) values('203','Croitoru','Mirel','Strada Luica nr 3','0756458956','21.January.2003','1400','10','101'); insert into Angajati(id_angajat,nume_angajat,prenume_angajat,adresa,telefon,data_angajare,salariul,comision,id_fun ctie) values('204','Vasile','Dragos','Strada Izvorul Rece nr 5','0724652355','04.April.2004','2500','20','102');

insert into Angajati(id_angajat,nume_angajat,prenume_angajat,adresa,telefon,data_angajare,salariul,comision,id_fun ctie) values('205','Popescu','Mirela','Aleea Mihai Eminescu nr 30','0725633546','08.January.2012','800','5','104'); insert into Angajati(id_angajat,nume_angajat,prenume_angajat,adresa,telefon,data_angajare,salariul,comision,id_fun ctie) values('206','Zota','Elena','Strada Ion Creanga nr 13','0722456653','17.May.2004','1100','10','103'); insert into Angajati(id_angajat,nume_angajat,prenume_angajat,adresa,telefon,data_angajare,salariul,comision,id_fun ctie) values('207','Burada','Andreea','Strada Scuilor nr 16','0745665348','05.July.2005','1200','15','103'); insert into Angajati(id_angajat,nume_angajat,prenume_angajat,adresa,telefon,data_angajare,salariul,comision,id_fun ctie) values('208','Pocovnicu','Robert','Aleea Crevedia nr 1','0724824468','16.November.2000','6000','20','105');

Clienti:
insert into Clienti(id_client,nume_c,prenume_c,telefon,adresa,localitate) values('300','Ion','Andrei','0746537896','Strada Mircea Eliade nr 3','Bucuresti'); insert into Clienti(id_client,nume_c,prenume_c,telefon,adresa,localitate) values('301','Voinea','Marius','0724568799','Strada Vergului nr 1','Bucuresti'); insert into Clienti(id_client,nume_c,prenume_c,telefon,adresa,localitate) values('302','Popa','Radu','0745668976','Bulevardul Oltenitei nr 301','Bucuresti'); insert into Clienti(id_client,nume_c,prenume_c,telefon,adresa,localitate) values('303','Ciobanu','Madalina','0764889645','Strada 1Mai nr 2','Timisoara'); insert into Clienti(id_client,nume_c,prenume_c,telefon,adresa,localitate) values('304','Ganea','Georgiana','0735468931','Strada Chisinaului','Brasov'); insert into Clienti(id_client,nume_c,prenume_c,telefon,adresa,localitate) values('305','Anghel','Ion','0746531235','Strada Bacovia nr 5','Suceava');

insert into Clienti(id_client,nume_c,prenume_c,telefon,adresa,localitate) values('306','Buzatu','Alexandra','0766532846','Strada Crisul Alb nr 5','Galati'); insert into Clienti(id_client,nume_c,prenume_c,telefon,adresa,localitate) values('307','Voicu','Geanina','0744689635','Strada Armatei nr 7','Bacau'); insert into Clienti(id_client,nume_c,prenume_c,telefon,adresa,localitate) values('308','Ionescu','Mihai','0745689731','Strada Revolutiei','Buzau');

Produse:
insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('400','CD','50','Tupac - Me Against The World'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('401','CD','50','Tupac- All Eyez On Me'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('402','CD','50','Wu-Tang - 36 Chambers'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('403','CD','50','Method Man - Tical'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('404','CD','50','Eminem - The Eminem Show'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('405','CD','50','Eminem - Slim Shady LP'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('406','CD','50','Dr.Dre - The Chronic'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs)

values('407','CD','50','The Notorious B.I.G. - Ready to Die'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('408','CD','50','Nas - Illmatic'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('409','CD','50','The Roots - Undun'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('410','CD','50','House of Pain - Fine Malt Lyrics'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('411','Instrument','1300','Chitara Electrica'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('412','Instrument','900','Chitara Acustica'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('413','Instrument','3000','Pian'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('414','Instrument','1000','Trompeta'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('415','Instrument','1500','Vioara'); insert into Produse(id_produs,categorie_produs,pret,denumire_produs) values('416','Instrument','5000','Harpa');

Furnizori:
insert into Furnizori(id_furnizor,denumire_furnizor,localitate,cantitate_comandata)

values('500','Interscope Distrib','Bucuresti','55'); insert into Furnizori(id_furnizor,denumire_furnizor,localitate,cantitate_comandata) values('501','Instrumente Distrib','Bucuresti','18');

Stoc:
insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('1','5','400','500'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('2','5','401','500'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('3','5','402','500'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('4','5','403','500'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('5','5','404','500'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('6','5','405','500'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('7','5','406','500'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('8','5','407','500'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('9','5','408','500'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor)

values('10','5','409','500'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('11','5','410','500'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('12','3','411','501'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('13','3','412','501'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('14','3','413','501'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('15','3','414','501'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('16','3','415','501'); insert into Stoc(nr_stoc,cantitate,id_produs,id_furnizor) values('17','3','416','501');

Comenzi:
insert into Comenzi(nr_comanda,data_c,id_angajat,id_client,modalitate_plata,stare_comanda,id_produs) values('1','04.january.2014','200','301','Cash','Finalizata','401'); insert into Comenzi(nr_comanda,data_c,id_angajat,id_client,modalitate_plata,stare_comanda,id_produs) values('2','05.january.2014','201','302','Cash','Finalizata','402'); insert into Comenzi(nr_comanda,data_c,id_angajat,id_client,modalitate_plata,stare_comanda,id_produs) values('3','09.December.2013','201','303','Cash','Finalizata','403'); insert into Comenzi(nr_comanda,data_c,id_angajat,id_client,modalitate_plata,stare_comanda,id_produs) values('4','12.may.2013','200','304','Cash','In Curs','409'); insert into Comenzi(nr_comanda,data_c,id_angajat,id_client,modalitate_plata,stare_comanda,id_produs) values('5','13.april.2013','200','305','Cash','Finalizata','405'); insert into Comenzi(nr_comanda,data_c,id_angajat,id_client,modalitate_plata,stare_comanda,id_produs) values('6','11.january.2013','201','307','Cash','In Curs','413'); insert into Comenzi(nr_comanda,data_c,id_angajat,id_client,modalitate_plata,stare_comanda,id_produs) values('7','12.january.2014','200','308','Cash','In Curs','415'); insert into Comenzi(nr_comanda,data_c,id_angajat,id_client,modalitate_plata,stare_comanda,id_produs)

values('8','12.may.2013','201','306','Cash','Finalizata','416');

Interogari:
1. Sa se afiseze clientii care provin din orase ce incep cu litera B:

2. Sa se afiseze albumele lui Tupac disponibile:

3. Sa afiseze produsele mai scumpe de 2000:

4. Sa se afiseze numele ,prenumele, si salariul angajatilor cu salariile intre 1500 si 6000 si ale caror nume incepe cu liter R ordonate dupa salariu descrescator:

5.Sa se seteze comanda nr 4 finalizata:

6. Sa se afiseze angajatii care au efectuat comenzi:

7. Sa se afiseze data primei si ultimei comenzi :

8.Sa se afiseze data comenzilor in format yyyy/mm:

9.Sa se afiseze valoarea totala a fiecarui produs aflat in stoc:

10. Sa se creeze o uniune intre datele de contact ale angajatilor si clientilor:

11.Sa se creeze un view care sa arate datele clientilor din Bucuresti:

12. Sa se creeze un sinonim pentru tabela Furnizori:

13. Sa se afiseze comenzile efectuate in anul 2014:

14. Sa se afiseze suma salariilor platite:

15. Sa se afiseze concatenate denumirea furnizorului si localitate ordonat dupa id furnizorului: