8/12/2019 Poiect Baze de Date CSIE 2013
1/18
cademia de Studii Economic BucuretiFacultatea de Cibernetic, Statistic i Informatic Economic
8/12/2019 Poiect Baze de Date CSIE 2013
2/18
BAZA DE DATE PENTRU IDENTIFICAREA BIJUTERIILOR PE MAGAZINE NFUNCIE DE MODEL I MATERIAL
Aceast baz de date estefoarte util pentru persoanele care doresc s-iachizitioneze diferitemodele de bijuterii precum inele, coliere, brose, bratari sau diademe.
n aceasta baz de date vor gsi informaii importante precum modelele debijuterii,materialele din care acestea sunt facute (aur, argint , diamant sau tinichea), firmele care
produc si comercializeaza un anumit model de bijuterie precum si informaii referitoare laistoricul firmelor respective: anul apariiei pe pia i ara de provenien.
Cu ajutorul acesteibaze de date chiar i angajaii unui magazin i pot uura munca deoarece
pot efectua modificrile de pre, pot s mreasc stocul sau s l scad atunci cnd au efectuato vnzare .
Aceast baz de date relaional este format din 6 tabele: orae, magazine, localizare,firme, modele_bijuteriii stocuri. Tabelele sunt legate ntre ele prin legturi oneto- many,tabelele stocurisi locatiifcnd legatura ntre cate dou tabele ntre care exist o legatur detip many- to- many.
n tabela modele_bijuteriise afl tipurile debijuteriipe care le conine o firm( de exemplu
firma pretty are printre modelele sale inele si coliere). n aceast tabel de asemenea vominsera i cmpurile : greutate_gramesi tip_material.
n tabela stocuri avem cantitatile disponibile dintr-un model intr-un anumit magazin. Acestlucru este util in cazul in care dorim sa achizitionam un model pentru a sti de dinainte dacaeste disponibil intr-un anumit magazin.
n pagina urmtoare este prezentat schema bazei de date ilustrndu-se i tipul de legturintre tabele.
8/12/2019 Poiect Baze de Date CSIE 2013
3/18
Orase
Magazine
Localizari
Firme
8/12/2019 Poiect Baze de Date CSIE 2013
4/18
Stocuri
Modele
Scriptul de creare si actualizare a bazei de date-Se va realiza folosind comenzile createsi alter table-
create table orase(id_oras number(3) constraint pk_orase primary key,nume_oras varchar2(15) not null,zona varchar2(10));
create table magazine
8/12/2019 Poiect Baze de Date CSIE 2013
5/18
(id_magazin number(3) constraint pk_magazine primary key,denumire varchar2(50) not null,adresa varchar2(50) not null);
create table firme
(id_firma number(3) constraint pk_ceasuri primary key,den_firma varchar2(15),an_aparitie number(4));
create table stocuri(id_magazin number(3),id_model number(3),stoc number(7));
alter table stocuriadd constraint pk_stocuri primary key (id_magazin, id_model);
alter table stocuriadd constraint fk_stocuri_id_mag foreign key (id_magazin)references magazine(id_magazin);
create table modele(id_model number(5) constraint pk_modele primary key,denumire_model varchar2(30) not null,id_firma number(3),
pret number(7) not null);
alter table modeleadd constraint fk_modele foreign key (id_firma)references firme(id_firma);
create table localizari(id_magazin number(3) ,id_oras number(3),nr_angajati number(7));
alter table localizariadd constraint fk_locatii_id_mag foreign key(id_magazin )references magazine(id_magazin);
alter table localizariadd constraint fk_locatii_id_oras foreign key(id_oras )references orase(id_oras);
alter table localizariadd constraint pk_locatii primary key(id_oras,id_magazin);
8/12/2019 Poiect Baze de Date CSIE 2013
6/18
1 . S se creeze o nou tabel oferte_bijuteriicare s conin urmtoarele cmpuri:Id_reducere number(2); valoare_reducere number(3); timp_expirare date.
2. S se tearg tabela oferte_bijuterii.
8/12/2019 Poiect Baze de Date CSIE 2013
7/18
3. S se redenumeasc tabela modelecu modele_bijuterii.
4.Adugai n tabela firme restricia check_an_aparitiecare inseman ca anul aparitieis inceap cu cifra 2 .
8/12/2019 Poiect Baze de Date CSIE 2013
8/18
5.Modificai n tabela firme lungimea cmpului denumiredin varchar2(50) n varchar2(20).
6. Adugai n tabela modele_bijuterii cmpurile greutate number(3) i cmpul
tip_materialvarchar2(20).
7. Adugai n tabela stocuri restricia check_stoc_culoare care verific dac stocul arevaloare pozitiv sau egal cu 0.
8/12/2019 Poiect Baze de Date CSIE 2013
9/18
8. Adaugati in tabela firmecampul tara_provenienta varchar2(12).
alter table orase disable all triggers;alter table magazine disable all triggers;alter table firme disable all triggers;alter table stocuri disable all triggers;alter table modele_bijuterii disable all triggers;alter table localizari disable all triggers;
insert into orase (ID_ORAS, NUME_ORAS,ZONA)
values (1, Videle, 'CENTRU');insert into orase (ID_ORAS, NUME_ORAS,ZONA)values (4, Rosiori, 'SUD');
8/12/2019 Poiect Baze de Date CSIE 2013
10/18
insert into orase (ID_ORAS, NUME_ORAS,ZONA)values (3, Zimnicea, 'CENTRU');insert into orase (ID_ORAS, NUME_ORAS,ZONA)values (5, 'Jilava', 'SUD');
insert into magazine( id_magazin, denumire, adresa)values (1, 'euromall', t. vladimirescu);insert into magazine( id_magazin, denumire, adresa)values (2, 'trivale shopping center', 'strada 1 mai');
insert into magazine( id_magazin, denumire, adresa)values (3, 'plaza mall', 'bd. iuliu maniu');insert into magazine( id_magazin, denumire, adresa)values (4, 'afi palace cotroceni', 'regie');
insert into localizare(id_magazin,id_oras,nr_angajati)values (1,1,2);
insert into localizare (id_magazin,id_oras,nr_angajati)values (1,2,4);insert into localizare (id_magazin,id_oras,nr_angajati)values (1,3,9);insert into localizare (id_magazin,id_oras,nr_angajati)values (1,4,5);insert into localizare (id_magazin,id_oras,nr_angajati)values (1,5,2);insert into localizare (id_magazin,id_oras,nr_angajati)values (1,6,8);insert into localizare (id_magazin,id_oras,nr_angajati)
values (2,1,12);insert into localizare (id_magazin,id_oras,nr_angajati)
8/12/2019 Poiect Baze de Date CSIE 2013
11/18
values (2,2,22);insert into localizare (id_magazin,id_oras,nr_angajati)values (2,3,20);insert into localizare (id_magazin,id_oras,nr_angajati)values (2,6,21);insert into localizare (id_magazin,id_oras,nr_angajati)values (3,1,23);insert into localizare (id_magazin,id_oras,nr_angajati)values (4,1,16);insert into localizare (id_magazin,id_oras,nr_angajati)values (3,2,8);insert into localizare (id_magazin,id_oras,nr_angajati)values (4,4,7);insert into localizare (id_magazin,id_oras,nr_angajati)values (3,3,13);insert into localizare (id_magazin,id_oras,nr_angajati)values (3,6,29);
insert into localizare (id_magazin,id_oras,nr_angajati)values (4,6,7);
insert into firme(id_firma, den_firma, an_aparitie, tara_provenienta)values(7, 'Negrila', 2003, 'romania');insert into firme(id_firma, den_firma, an_aparitie, tara_provenienta)values(2, 'Catalin', 2012, 'elvetia');insert into firme(id_firma, den_firma, an_aparitie, tara_provenienta)values(3, 'Adrian', 2006, 'italia');insert into firme(id_firma, den_firma, an_aparitie, tara_provenienta)values(4, 'ase', 2000, 'franta');insert into firme(id_firma, den_firma, an_aparitie, tara_provenienta)values(5, 'cibernetica', 2005, 'elvetia');insert into firme(id_firma, den_firma, an_aparitie, tara_provenienta)
values(6, 'ie', 2010, 'elvetia');
8/12/2019 Poiect Baze de Date CSIE 2013
12/18
insert into stocuri(id_magazin, id_model,stoc)values (1, 1,13);insert into stocuri(id_magazin, id_model,stoc)values (1, 2,56);insert into stocuri(id_magazin, id_model,stoc)values (1, 3,5);insert into stocuri(id_magazin, id_model,stoc)values (1, 4,0);insert into stocuri(id_magazin, id_model,stoc)values (1, 5,3);insert into stocuri(id_magazin, id_model,stoc)values (2, 1,9);insert into stocuri(id_magazin, id_model,stoc)values (2, 2,3);insert into stocuri(id_magazin, id_model,stoc)values (2, 3,4);
insert into stocuri(id_magazin, id_model,stoc)values (3, 1,4);insert into stocuri(id_magazin, id_model,stoc)values (3, 3,3);insert into stocuri(id_magazin, id_model,stoc)values (3, 6,20);insert into stocuri(id_magazin, id_model,stoc)values (4, 2,8);insert into stocuri(id_magazin, id_model,stoc)values (4, 1,5);insert into stocuri(id_magazin, id_model,stoc)
values (4, 3,12);insert into stocuri(id_magazin, id_model,stoc)values (4, 4,16);
insert into modele_bijuterii(id_model, tip_model, id_firma,pret_ron,greutate_grame, tip_material)values(1, 'colier' ,2, 700, 50, 'aur');insert into modele_bijuterii(id_model, tip_model, id_firma,pret_ron,greutate_grame, tip_material)values(2, 'inel',3, 200, 20, 'aur');
insert into modele_bijuterii(id_model, tip_model, id_firma,pret_ron,greutate_grame, tip_material)values(3, 'bratara',2, 450, 29, 'aur');insert into modele_bijuterii(id_model, tip_model, id_firma,pret_ron,greutate_grame, tip_material)values(4, 'bratara',7, 900, 100, 'argint');insert into modele_bijuterii(id_model, tip_model, id_firma,pret_ron,greutate_grame, tip_material)values(5, 'brosa',6, 100, 10, 'argint');insert into modele_bijuterii(id_model, tip_model, id_firma,pret_ron,greutate_grame, tip_material)values(6, 'inel',5, 1100, 10, 'diamant');insert into modele_bijuterii(id_model, tip_model, id_firma,pret_ron,greutate_grame, tip_material)values(7, 'diadema',4, 700, 45, 'argint');insert into modele_bijuterii(id_model, tip_model, id_firma,pret_ron,greutate_grame, tip_material)
values(8, 'inel',2, 652, 60, 'aur');insert into modele_bijuterii(id_model, tip_model, id_firma,pret_ron,greutate_grame, tip_material)values(9, 'colier',3, 950, 360, 'aur');
8/12/2019 Poiect Baze de Date CSIE 2013
13/18
insert into modele_bijuterii(id_model, tip_model, id_firma,pret_ron,greutate_grame, tip_material)values(10, 'bratara',6, 800 , 56, 'argint');insert into modele_bijuterii(id_model, tip_model, id_firma,pret_ron,greutate_grame, tip_material)values(11, 'diadema',3, 300, 20, 'aur');
1. Sa se modifice greutatea modelului cu id_model=11 astfel incat sa fie egalcu cel al modelului cu id-ul 7.
update model_bijuteriiset greutate_grame=(select greutate_grame from modele_bijuterii where id_model=7)where id_model=11;
8/12/2019 Poiect Baze de Date CSIE 2013
14/18
2. Sa se modifice adresa magazinelorcare au id_magazin= astfel incat sa fielocalizate pe strada Aleea Pietei.
update magazineset adresa='Aleea Pietei'where id_magazin=5;
3.Adaugati in tabela firmecampulani_vechime.alter table firmeadd (ani_vechime number(4));
4. Completati automat coloana ani_vechimeupdate firmeset ani_vechime=extract(year from sysdate)-an_aparitie;
8/12/2019 Poiect Baze de Date CSIE 2013
15/18
5. Sa se mareasca cu 10% pretul bijuteriilor din aurupdate modele_bijuterii
set pret_ron=pret_ron*0.1;
6. Sa se modifice materialul bijuteriei cu id_model=3 in argint.update modele_bijuteriiset tip_material='argint'where id_model=3;
Interogari
1. Sa se afiseze toate modelele firmei Negrila.Select tip_model, den_firma
8/12/2019 Poiect Baze de Date CSIE 2013
16/18
from modele_bijuterii,firmeWhere firme.id_firma=modele_bijuterii.id_firmaAnd firme.den_firma= 'Longines';
2. Sa se afiseze modelele si materialele si preturile disponibile ale bijuteriilorcare costa intre 80 si 110.
select tip_model, tip_material, pret_ronfrom modele_bijuteriiwhere pret_ron between 80 and 110;
3. Sa se afiseze toate datele despre bijuteriile din firmele care incep cu literaE.
select *
from modele_bijuterii m, firme fwhere f.den_firma like 'B%';
8/12/2019 Poiect Baze de Date CSIE 2013
17/18
4. Sa se afiseze modelul/modelele care au pretul maximselect tip_model, pret_ronfrom modele_bijuterii
where pret_ron =(select max(pret_ron) from modele_bijuterii);
8/12/2019 Poiect Baze de Date CSIE 2013
18/18
18