+ All Categories
Home > Documents > baze de date proiect

baze de date proiect

Date post: 17-Feb-2015
Category:
Upload: alex-du
View: 354 times
Download: 18 times
Share this document with a friend
Description:
baze de date oracle
28
1 ACADEMIA DE STUDII ECONOMICE ZARA S.A PROIECT Baze de date Student :IRIMIA CATALIN Grupa : An: I I 1/14/2013
Transcript

1

ACADEMIA DE STUDII ECONOMICE

PROIECT Baze de date

Student :IRIMIA CATALINGrupa :

An: I I

24

BAZE DE DATE ORACLE

CONTENTS

1.INTRODUCERE.....................................................................................................3

2.DESCRIEREA FIRMEI.............................................................................................4

3.SCHEMA CONCEPTUALA PENTRU TEMA ALEASA.....................................................5

4.CONSTRUIREA BAZEI DE DATE..............................................................................6

5.EXEMPLE CU OPERATII DE ACTUALIZARE A DATELOR .............................................8

6. EXEMPLE INTEROGARI.........................................................................................9

24

BAZE DE DATE ORACLE

1.iNTRODUCERE

Acest proiect are ca scop gestionarea activitatii unei firme distribuitoare de produse vestimentare. Proiectul va tine evidenta mai ampla a firmei,se va realiza gestiunea comenzilor,a furnizorilor, a produselor cat si a clientilor care ne trec pragul magazinului.

Necesitatea proiectului este data de cerintele actuale de pe piata muncii si de confruntarea angajatilor firmei cu diversele probleme de gestiune care pot sa apara ,atunci cand clientii apeleaza la serviciile firmei .Prin realizarea unei baze de date a comenzilor se va reduce considerabil aparitia erorilor ,iar utilizarea programelor de creare de baze de date gen SQL-developer a devenit o necesitate in lumea contemporana .

Mijloacele de realizare

Proiectul este realizat cu ajutorul programului : SQL developer , Microsoft Word

24

BAZE DE DATE ORACLE

2.DESCRIEREA FIRMEI

Zara S.A

Sediul social: Str. B.P. Hasdeu nr. 22, Campina ,105600, Prahova.Capital social: 21.820 lei.Obiectul de activitate: Comert.Asociati: Milu Mihail-Ioan 54% Milu Mihail Daniel 23% Milu Ciprian Eduard 23%

Firma Zara S.A este un depozit de haine engross localizat in Campina .Oferim imbracaminte engross atat in Romania cat si in tarile vecine precum Ungaria sau Bulgaria.Povestea noastra a inceput in anul 2007. Placerea si dorinta de a cumpara in scop personal imbracaminte s-a transformat putin cate putin intr-o afacere .In momentul de fata, avem pe stoc peste 400 de modele de imbracaminte,

Am inceput sa castigam tot mai mult teren in fata concurentei noastre datorita materialelor calitative si a preturilor f.competitive , a tuturor modelelor pe care le importam direct din PARIS .

Multi client de-ai nostril au renuntat la complexiurile En-gros de genul ‘ europa’ in favoarea noastra ,datorita relatiei stranse pe care o avem cu fiecare client in parte. Multumirea si zambetul clientilor nostril dupa fiecare achizitie facuta, contribuie cel mai mult in succesul pe care il avem .

Livrarea prompta a produselor este asigurata de parcul auto alcatuit din 220 de masini,care parcurg zilnic aproximativ 40000 de km ,deci in stil stafeta ar putea inconjura Pamantul.

Acoperirea complete a regiunii este asigurata de 41 de reprezentante in Ungaria ,20 in Romania si 10 in Bulgaria Pe langa livrarile locale din ora in ora,zilnic sunt effectuate si 2 livrari la distante mai mari in aria de deservire a reprezentantelor .

Angajatii instruiti la ZARA S.A au convingerea ca succesul companiei este garantat si reprezentat printr-un mecanic sau comerciant de pierse auto multumit

24

BAZE DE DATE ORACLE

3. SCHEMA CONCEPTUTALA

24

BAZE DE DATE ORACLE

4. CONSTRUIREA BAZEI DE DATE

create table LOCATIE

(id_locatie number(38) constraint PKey_FURNIZORI primary key,

oras varchar2(30),

tara varchar2(30) );

create table DETALII_FURNIZORI

( nume varchar2(38) constraint Pkey_DETALII_FURNIZORI primary key,

adresa varchar2(38),

angajati number ,

capital_social number(7,2) );

create table PRODUSE

(id_produs number(3,0) constraint PKey_PRODUSE primary key,

nume_produs varchar2(20),

tip_produs varchar2(20),

pret_achiz number(4,0),

pret_vanzare number(4,0),

stoc number(4,0) ,

date_exp date );

create table FURNIZORI

(id_furnizor number(2) constraint PKey_FURNIZORI_2 primary key,

nume varchar2(38),

id_locatie number(38),

CONSTRAINT FKLOCATIE FOREIGN KEY (id_locatie) REFERENCES LOCATIE(id_locatie),

24

BAZE DE DATE ORACLE

CONSTRAINT FKDETALII_FURNIZORI FOREIGN KEY (nume) REFERENCES DETALII_FURNIZORI(nume)

);

create table COMENZI

(id_comanda number(6) constraint Pkey_COMENZI primary key,

id_produs number(4,0),

id_furnizor number(2),

cantitate_prod number(6,0),

data_Scadenta date,

CONSTRAINT FKFURNIZORI_1 FOREIGN KEY (id_furnizor) REFERENCES FURNIZORI(id_furnizor),

CONSTRAINT FKFURNIZORI_2 FOREIGN KEY (id_produs) REFERENCES PRODUSE(id_produs));

create table PLATI

( id_plata number(6),

id_comanda number(6),

data_achitplatii date,

CONSTRAINT FKPLATI FOREIGN KEY(id_comanda) REFERENCES COMENZI(id_comanda));

create table CLIENTI

(id_client number(6),

id_produs number(4,0),

cantitate_produs number(4,0),

CONSTRAINT FKPRODUSE FOREIGN KEY (id_produs) REFERENCES PRODUSE(id_produs));

ALTER,DROP TABLE –exemple

24

BAZE DE DATE ORACLE

1) Sa se adauge in tabela CLIENTI coloana NUMECLIENTI

2) Sa se redenumeasca tabela DETALII_FURNIZORI cu numele INFORMATII

3) Sa se modifice in tabela PRODUSE extensia coloanei NUME_PRODUS

4)Sa se elimine din tabela FURNIZORI coloana cu numele ID_LOCATIE

5)Sa se stearga tabela PLATI

6) Sa se elimine restrictia de intergritate FKPRODUSE din tabela CLIENTI

24

BAZE DE DATE ORACLE

5) EXEMPLE CU OPERATII DE ACTUALIZARE A DATELOR

1) Sa se INSEREZE in tabela FURNIZORI ,valorile (4,AUTOTAL,3)

INSERT INTO FURNIZORI (ID_FURNIZOR, NUME ,ID_LOCATIE ) VALUES (‘4’ ,’GUCI’ ,’3’)

2) Sa se INSEREZE in tabela CLIENTI valorile (6,5,6)

INSERT INTO CLIENTI (ID_CLIENT ,ID_PRODUS,CANTITATE_PRODUS ) VALUES (‘6’,’5’,’6’)

3) Sa se INSEREZE in tabela DETALII_FURNIZORI valorile 2 randuri ( PULL&BEAR ,STRADA RADNEI NR 23 ARAD ,4,10000) si (ADIDAS STORE ,STRADA GRIVITEI NR 29 IASI,23,16000)

INSERT INTO DETALII_FURNIZORI (NUME,ADRESA,ANGAJATI, CAPITAL_SOCIAL) VALUES ( ‘PULL&BEAR’, ‘STRADA RADNEI NR 23 ARAD ‘, ‘10000)

INSERT INTO DETALII_FURNIZORI (NUME,ADRESA,ANGAJATI,CAPITAL_SOCIAL ) VALUES (‘ADIDAS STORE’. STRADA GRIVITEI NR 29 IASI ,’23’,’16000’ )

4) Sa se INSEREZE in tabela COMENZI valorile (1901,1,2,1,10-MAR-12)

INSERT INTO COMENZI (ID_COMANDA ,ID_PRODUS ,ID_FURNIZOR ,CANTITATE_PROD, DATA_SCADENTA) VALUES (’1901’,’1’,’2’,’1’, TO_DATE (’10-MAR-12 ‘ ,’DD-MON-RR’))

5) Sa se scada cu 10 unitati ,numarul de ‘TRICOU POLO BARBATI ‘ din stocul din tabela PRODUSE

24

BAZE DE DATE ORACLE

6) Presupunem ca toti furnizorii romani cu care colaboram din diferite orase din tara, isi muta sediul la BUCURESTI . Sa se updateze locatia FURNIZORILOR din ROMANIA care au avut locatia in alt oras in afara de Bucuresti

7) S-a constatat ca stocul de PRODUSE care au avut pretul de vanzare <300 ron ,s-a epuizat.

Sa se updateze cu “0” in baza de date stocul PRODUSELOR care au avut pretul <300 RON

24

BAZE DE DATE ORACLE

8) Sa se stearga din tabela LOCATIE,furnizorii care au locatia in BUCURESTI

10)

5)EXEMPLE INTEROGARI

24

BAZE DE DATE ORACLE

a) Firma incearca sa detina cat mai multe produse la un prêt mediu de 1000 ron ,pentru a avea cat mai multe vanzari. Insa exista si anumite produse scumpe.,iar pretul acestora este unul pe masura .

Sa se afle cate produse “scumpe “ exista in stoc

b) Sa se afiseze numele firmelor distribuitoare al caror nume incepe cu A, si au capitalul social cuprins intre 10000 si 15000

SELECT NUME from DETALII_FURNIZORI WHERE NUME LIKE ‘A%’ AND CAPITAL_SOCIAL BETWEEN 10000 AND 150000

c) Sa se afiseze numele si tipul produselor care au pretul de achizitie intre 300 si 900 ronSELECT NUME_PRODUS ,TIP_PRODUS FROM PRODUSE WHERE PRET_ACHIZ IN (300,900)

24

BAZE DE DATE ORACLE

1) JONCTIUNI ( INNER ,OUTER)a) Sa se afiseze toate informatiile legate de produsul cumparat de clientul “ALEX

DUDULEA”(j.ega)

SELECT PRODUSE.* ,CLIENTI.*

FROM PRODUSE, CLIENTI

WHERE PRODUSE,ID_PRODUS=CLIENTI.ID_PRODUS AND ID_CLIENT=1;

24

BAZE DE DATE ORACLE

b) Sa se calculeze valoarea fiecarui produs (val_prod =cant* pret) si sa se afiseze cantitatea existenta in stoc

c) Firma are in stoc produse scumpe si anume cele care depasesc valoarea de 60000 ron .Sa se afle numele produselor care intra in categoria celor scumpe.

24

BAZE DE DATE ORACLE

UTILIZAREA FUNCTIILOR LA NIVEL DE GRUP-group by ,having1)Sa se afiseze suma totala din fiecare categorie de produse.

24

BAZE DE DATE ORACLE

2)sa se afiseze in ordine crescatoare dupa pret , fiecare categorie de produse a carei suma depaseste 5000 ron

2) UTILIZAREA FUNCTIILOR LA NIVEL DE RAND

a)Sa se afiseze numele produselor care expira in luna MARTIE anul 2011.

b)Sa se afiseze ID_PRODUS, ID_FURNIZOR, ID_COMANDA de la produsul care are data scadenta a platii 10-MAR-12

24

BAZE DE DATE ORACLE

c)Sa se afiseze in ordine crescatoare cate saptamani au trecut de la ultima zi pentru plata comenzilor.

24

BAZE DE DATE ORACLE

d) Sa se afiseze numele clientilor care au in componenta numelui a 2-a litera „ a” si lungimea numelui >10 caractere.

Sa se afiseze in ce categorie intre firmele care au locatia in romania si cele care au locatia in strainatate. Asfel : daca firma este din ROMANIA -> afiseaza companie interna , daca NU ,afiseaza companie externa.

24

BAZE DE DATE ORACLE

3) Utilizarea operatorilor UNION, MINUS, INTERSECT;

a) ) Sa se afiseze produsele care au stocul intre 45 si 90 fara cele care au stocul intre 1si 44 de unitati:

B) Afiseaza numele produselor care au pretul de achizitie <200 si numele produselor al caror stoc <5

24

BAZE DE DATE ORACLE

4)SUBCERERI SIMPLE SI CORELATE

a) Afişarea numelui şi tipului de produs având pret de vanzare si achizitie cu cel mediu +/- 30%. Se foloseşte operatorul BETWEEN având ca parametri două subcereri:

24

BAZE DE DATE ORACLE

4) TABELE VIRTUALE

a) Sa se realizeze o tabela virtuala cu toate firmele distribuitoare din ROMANIA. Tabela nu va putea fi actualizata.

24

BAZE DE DATE ORACLE

b)Sa se creeze o tabela virtuala cu toti clientii firmei care cumpara mai mult de 2 produse

24

BAZE DE DATE ORACLE

c)Sa se creeze un index pe tabela FURNIZORI pe coloana NUME:

CREATE INDEX NUMEID ON FURNIZORI (NUME)

5) CREATE-INSERT-UPDATE-DELETE + SELECTa) Update+SELECT

Sa se afiseze cu litere mici,numele clientilor care au comandat mai putin de 3 produse intr-o comanda.

24

BAZE DE DATE ORACLE


Recommended