baza de date pentru gestiunea aprovizionarii la un supermarket

9
BAZA DE DATE PENTRU GESTIUNEA APROVIZIONARII LA UN SUPERMARKET

Upload: alexeandreia9449

Post on 03-Jul-2015

707 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Baza de Date Pentru Gestiunea Aprovizionarii La Un Supermarket

BAZA DE DATE PENTRU GESTIUNEA APROVIZIONARII

LA UN SUPERMARKET

Page 2: Baza de Date Pentru Gestiunea Aprovizionarii La Un Supermarket

Un supermarket urmeaza sa implementeze o baza de date pentru evidenta informatizata a aprovizionarii. Pentru fiecare produs ce poate constitui obiectul aprovizionarii, alaturi de nume (denumire produs) sunt inregistrate urmatoarele informatii: unitatea de masura (UM), stoc initial si prêt catalog; fiecarui produs I se atribuie un cod unic (cod produs).

Supermarket-ul se aprovizioneaza cu produse de la mai multi furnizori, identificati prin: cod furnizor, nume frunizor, adresa furnizor, numar telefon, iar in momentul aprovizionarii de la un furnizor se intocmeste o factura pe care sunt consemnate: numar factura, data factura si cod furnizor.

Aceste facturi sunt achitate prin documente de plata pentru care se completeaza numar document plata, tip document plata si data document plata.

Aprovizionarea supermarket-ului se face pe baza unei comenzi prin care se pot solicita mai multe produse. In comanda sunt specificate: numar comanda, data comanda, data livrare, ora livrare si cod curier.

Produsele sunt aduse la supermarket de catre curieri identificate prin: cod curier, nume curier, adresa curier; o comanda fiind livrata de un singur curier.

Consideram urmartorul dictionar de atribute:

CodProdus, DenumireProdus, UM, StocInitial, PretCatalog, CodFurnizor, NumeFurnizor, AdresaFurnizor, NumarTelefon, NumarFactura, DataFactura, IDFactura, NumarComanda, DataComanda, DataLivrarii, OraLivrarii, CantitateaComandata, CodCurier, NumeCurier, AdresaCurier, NumarDocumentPlata, DataDocumentPlata, SumaPlata, NumarTotalProduseComandate.

Reguli de gestiune:

(1) Preturile din catalog sunt fixe.

(2) O livrare este realizata de un singur curier.

(3) Un curier poate realize mai multe livrari.

(4) Se poate solicita pe aceeasi comanda mai multe produse.

(5) Cu un document de plata se pot achita mai multe facturi.

(6) Un furnizor poate da un singur fel de produs.

(7) O factura corespunde unui singur furnizor.

(8) Pot exista documente de plata cu acelasi numar, dar de tipuri diferite.

Page 3: Baza de Date Pentru Gestiunea Aprovizionarii La Un Supermarket

Intocmirea Dictionarului de Date:

Pentru intocmirea dictionarului de date inlaturam din dictionarului de attribute elementele sinonime (IDFactura) si atributele calculate (NumarTotalProduseComandate) rezultand urmatorul dictionar de date:

DD

Stabilirea dependentelor functionale:

a) Dependenta functionala simpla:

CodProdus : DenProdus UM StocInitial PretCatalog (1)

NrFactura : DataFactura CodFz (7)

CodFz : NumeFz Adresa Fz NrTel CodProdus (6)

NrComanda : DataComanda DataLivrare OraLivrare CodCurier (2)

CodCurier : NumeCurier AdresaCurier

NrDocPlata : DataDocPlataTipDocPlata :

b) Dependente functionale multivaloare:

CodCurier NrComanda (3)

Page 4: Baza de Date Pentru Gestiunea Aprovizionarii La Un Supermarket

NrComanda CodProduse (4)NrDocPlata NrFactura (5)TipDocPlata

Chei primare:

CodProdus CodFz NrFactura NrComanda CodCurier NrDocPlata + TipDocPlata

NrComanda si CodProdus

NrFactura si NrDocPlata

Atribute izolate:

NrComanda si CantitateaComandata CodProdus

NrFactura si NrDocPlata si SumaPlata TipDocPlata

Construirea tabelelor:

Produse ( CodProdus, DenProdus, UM, StocInitial, PretCatalog )Furnizori ( CodFz, NumeFz, AdresFz, NrTel, CodProdus )Facturi ( NrFactura, DataFactura, CodFz )Comenzi ( NrComanda, DataComanda, DataLivrare, OraLivrare, CodCurier )Curieri ( CodCurier, NumeCurier, AdresaCurier )DocumentPlata ( NrDocPlata + TipDocPlata, DataDocPlata )ProduseComandate ( NrComanda, CodProdus, CantitateComandata )PlatiFacturi ( NrFactura, NrDocPlata + TipDocPlata, SumaPlata )

Modelul Relational:Produse

1ProduseComandate ∞ 1 Comenzi

CodProduse NrComanda NrComanda

Page 5: Baza de Date Pentru Gestiunea Aprovizionarii La Un Supermarket

DenProduseUM

StocInitialPretCatalog

1 ∞

CodProdusCantComandata

DataComandaDataLivrareOraLivrareCodCurier

1

∞ dddddddddd

Furnizori Curieri 1

CodFzNumeFzAdresaFz

NeTelCodProdus

CodCurierNumeCurierAdresaCurier

Facturi1 ∞ ∞

PlatiFacturi 1

DocumentePlataNrFactura

DataFacturaCodFz

NrFacturaNrDocPlata +

TipDocFacturaLunaPlata

NrDocPlata + TipDocPlata

DataPlata

In tabelele modelului realizat se vor stabili urmatoarele proprietati:

a) in cadrul tabelei “ Produse ”, campul “ UM “ poate lua valorile: buc, l, kg;b) campul “ CodFz “ din tabela “ Facturi “ sa poata fi selectata prin

intermediul unei liste in care s figureze codurile din tabela Fz;c) “ DataLivrare “trebuie sa fie ulterioara ( sau cel mult aceeasi )

momentului “ DataComandata “;d) Tipul documentelor de plata pentru achitarea facturilor poate lua valorile:

“ ordin de plata “, “ chitanta “, “ foaie de varsamant ”;e) Data facturii va fi implicit data curenta;f) “ PretCatalog “ si “ CantComandata “ trebuie sa aibe valori mai mari de

zero;g) la stabilirea tipurilor de date se va avea in vedere ca: Numele Furnizorului

poate avea lungimea maxima de 40 de caractere, iar selectarea produselor 25 de caractere.

QBE

Page 6: Baza de Date Pentru Gestiunea Aprovizionarii La Un Supermarket

Sa se afiseze toate facturile din anul curent emis de furnizor din Bucuresti;Sa se afiseze lista alfabetica a produselor care au ca uitate de masura “buc“.Sa se calculeze numarul de facturi pt fiecare furnizor in ultiml an;Sa se calculeze numarul de comenzi effectuate de un curier;Sa se calculeze numarul total de produse comandate.

Sa se creeze o tabela noua denumita ProduseNoi care sa contina denumirea fiecarui produs si pretul afferent numai in cazul in care acesta este mai mic de 20 lei;Sa se modifice suma de plata micsorandu-se cu 10%. PlatiFact.

Sa se realizeze o interogar pentu a evidential pretul maxim al fiecarui produs in fiecare UM; Sa se calculeze valoarea fiecarui produs comandat;Sa se calculeze numarul total de facturi pe fiecare furnizor pe anul current.

SQL

1.Sa se afiseze numele si adresele furnizorilor de la care supermarketul a aprovizionat sucuri;2.Sa se calculeze cantitatea medie aprovizionata la o comandadin fiecare produs. Voi ordona lista descrescator, dupa cantitatea medie determinate;3.Sa se afiseze lista furnizorilor de la care s-au realizat cel mult 4 facturi dupa data de 1 ianuarie 2009;4.Care este cel mai ieftin produs in 2008?;5.Pe baza cantitatii comandate, sa se realizeze un clasament al primelor 3 produse solicitate de supermarket;6.Sa se determine numarul de curieri cu care opereaza supermarket-ul din fiecare localitate, rezultatele vor fi odonate alphabetic in functie de localitate;7.Sa se afiseze toate facturile emise in ultima luna de catre furnizorul din localitatile al caror nume incepe cu “B” mare, afisarea se va realize cronologic;8.Sa se stearga toti furnizori care nu au emis factura in ultimul an.

9.Sa se calculeze numarul documentelor de plata care au fost necesare pentru achitatrea fiecarui dintre facturi;

10Sa se afiseze in ordinea alfabetica tipurile documentelor de plata.