Vous êtes sur la page 1sur 14

DEPOZIT ( ) 1.

Microsoft Access , . , . : , ; ; ; ; .

Baza de date DEPOZIT (exemplu de elaborare) 1. Scopul lucrrii


Scopul lucrrii const n proiectarea i elaborarea bazei de date pentru un depozit de mrfuri industriale folosind SGBD Microsoft Access. Baza de date trebuie s: conin informaii despre furnizori, marf, clieni; asigure evidena mrfurilor primite de la furnizori prin facture de primire; asigure evidena mrfurilor realizate clienilor prin facture de vnzare; asigure evidena mrfurilor prezentate n depozit la momentul dat;

2. Modelarea semantic a bazei de date. Elementele modelului ER entitate-relaie


Metode de modelare Elaborarea sistemului informaional cu baze de date const din mai multe etape, principalele dintre care sunt analiza domeniului concret din lumea real, elaborarea proiectului (modelarea sistemului) i realizarea bazei de date fizice n cadrul unui sistem de gestiune a bazelor de date (SGBD). n acest capitol ne vom preocupa de elaborarea proiectului logic care nu depinde de softul n cadrul crora el va fi realizat.
1


- (, ) , (, ()). , - .

Problema proiectrii a sistemului informaional are cel puin dou subprobleme: Colectarea informaiei i modelarea business-proceselor; Elaborarea structurii (sau architecturii mai bine zis) a sistemului informaional. La modelarea business-proceselor trebuie de considerat trei aspecte: Obiectele cu care opereaz business-procesul; Procesele implicate n business; Evenimentele care gestioneaz procesele. Exist dou modaliti (tehnologii) de modelare a sistemului informaional cu baz de date: Modelare prin normalizarea schemei bazei de date. Reprezint procedeie de normalizare consecutiv a relaiilor cu scopul nbuntirii calitii proiectului BD; Modelare semantic, bazat pe sensul datelor. Este o modelare a structurelor de date reieind din sensul (semantica) acestor date. Modelarea semantic este cea mai natural i des utilizat. Ca instrument de modelare semantic se folosesc diferite variante de diagrame Entitate-relaie (ER). Diagramele se bazeaz pe reprezentarea n forma grafic a: Entitilor (obiectelor i proceselor); Atributelor entitilor; Legturilor dintre entiti. n baza modelrii semantice la momentul dat activ se elaboreaz tehnologii (mijloace de program) de proiectare automatizat a BD asistat de calculator CASE-tehnologii (Computer Aided Software Engineering). Cel mai cunoscut instrumentar pentru acest caz este pachetul ER-Win. Modelare cu ER diagrame. Sistemul de notaii Prima variant de model Entitate-relaie a fost propus de Piter Chen n 1976. n prezent exist mai multe notaii folosite pentru expunerea diagramelor: Notaia IDEF1X;
2

Nortaia lui R. Barker; Notaia lui J. Martin; Noi vom folosi o variant simpl de notaie, apropriat de cea a lui R. Barker. Vom aduce n continuare definiiile necesare. Definiia 1. Entitate o colecie (o clas) de obiecte sau procese de acelai tip, informaia despre care trebuie s fie considerat n model. Se prezint prin substantiv n numrul singular. Exemple: Colaborator, Furnizor, Marf, Factur, Client, Student, Livrare, Vinzare, nchiriere, Eliberare de materiale. Se noteaz prin box cu nume Colaborator

Definiia 2. Atributul entitii o caracteristic denumit a entitii care reprezint o proprietate careva a ei. Totalitatea atributelor unei entiti reprezint aceast entitate n modelul relaional. Colecia de atribute trebuie s fie complet, consistent i neexcident. Exemple: Numr de tabel, Nume, Telefon, Salariu, ... Se nscriu n boxul entitii: Colaborator
Numr de tabel Nume Data naterii Salariu

Definiia 3. Exemplarul entitii reprezentant concret al entitii. Exemple: SCI201, Cebanu, 2700.50, ... Totalitatea exemplarelor entitii reprezint coninutul informaional datele propriu zise care se refer la aceast entitate. Definiia 4. Cheia entitii un set minimal (neexcedent) de atribute totalitatea de valori a crora n ansamblu unic determin fiecare exemplar al entitii.

Servete drept unicul mijloc de identifiare a exemplarelor entitii. n entitate pot fi mai multe chei diferite. Cea care este aleas pentru identificare unic n procesul practic se noteaz prin subliniere Colaborator
Numr de tabel Nume Data naterii Adresa

Aceasta cheie se numete i cheia primar Primary Key. Definiia 5. Legtur o asociere dintre dou entiti. Legturile permit unirea entitilor ntr-o structur integr. n diagram se prezint (se arat) prin linii care leag dou entiti entitatea conductoare (printe) i entitatea copil (condus)
Furnizor FurnizorId FurnizorName FurnizorHeader FurnizorSddress FurnizorPhone FurnizorAbout .... Livrare OrdNum LivrareDate Furnizor Marfa MarfaVolume MarfaPrice ....

Marfa MarfaId MarfaName FurnizorHeader MarfaUnitMeasure MarfaProducator MarfaAbout ....

Fig. 1. Trasarea legturilor ntre relaii. Baza de date LIVRARI

Liniile se trag de la atributul care joac rolul cheei primare n relaia printe spre atributul care joac rolul cheei externe (Foreign Key) n relaia copil. Valorile cheei primare trebuie se fie cunoscute i unice, iar valorile cheei externe trebuie s se conin printre valorile cheei primare la care se refer prin legtur. Acestea sunt restricii obligatorie n modelul relaional de date care de fapt i reprezint legturile dintre relaii. Aadar n procesul de modelare cu ER-diagrame trebuie s dispunem de urmtoarea informaie despre lumea real: lista entitilor; lista atributelor pentru fiecare entitate; descrierea legturilor dintre entiti.
4

3. Schema logic a bazei de date DEPOZIT


Fie avem de elaborat baza de date pentru o firm de comer angro (cu rdicata). ncepem cu studierea acestui domeniu concret: vorbim cu experii, citim documentaie, studiem documentele de ntrare/ieire. Aici trebuie se clarificm: Ce prezint domeniul concret al lumii reale? Care este scopurile elaborrii? Care funcii trebuie s ndeplineasc aplicaia de baz de date? Ce informaie trebuie s fie memorat n BD? Aadar, aflm c domeniul concret prezint: O firm de comer care este posesor de ncperi de depozitare a mrfurilor. Activitatea ei const n colectarea mrfurilor de la furnizori angro i vnzarea mrfurilor cu rdicata clienilor. Din convorbiri cu managerul de comer a firmei aflm c BD trebuie s: Pstrez informaie despre mrfuri, furnizori i clieni; S duc evidena mrfurilor primite de la furnizori prin facture de primire (document de ntrare); S duc evidena mrfurilor n depozit existente n prezent; S formez i s tipreasc facture de eliberare a mrfurilor (document de ieire); Din analiza aceastei informaie construim diagrama ER a bazei de date. Aceasta va fi schema logic a bazei de date.

Fig. 2. ER- DEPOZIT


Ware Supplier SupplId SupplName SupplPhone SupplCity SupplBankCount ... Category CategId CategName CategType .... WareId WareName WareCategory WareClass WUnitMeasure WProducer .... WareInWHouse SupplInvoice SuppInvlId DeliveryDate SupplId DeliverySum WareHouseId ... WareNumPozition WareId WareHouseId Volume Price TVA .... Client ClientId ClientName ClientPhone ClientCity ClientBankCo unt .... ClientInvoice Sales SaleNum ClientInvId WareId WareNumPozition Volume Price .... InvClientId SaleDate ClientId SaleSum WareHouseId ...

Producer ProdId ProdName ProdCity ProdCountry ....

Deliveries DeliveryNum SupplInvId WareId Volume Price ....

WareHouse WareHouseId WareHouseName WareHouseCheaf DepPhone DepAddress

4. Schema fizic a bazei de date DEPOZIT


Schema fizic a bazei de date se obine din schema ei logic prezentat n Fig. 2 reieind din particularitile sistemului de programare implementat. n cazul dat va fi aplicat limbajul de programare C. Deaceea relaiile i atributele din ER-diagram (modelul logic, Fig. 2) se transform n tabele i respectiv cmpuri. n cadrul limbajului implementat tabelele vor fi memorate n memoria extern n form de fiiere cu structura cmpurilior specificat. Mai jos vom specifica structura tabelelor (fiierelor) indicnd explicit denumirea cmpurilor, tipul de date n ele i lungimea cmpurilor n stricta corespundere cu cerinele limbajului C. 4.1. Tabelul Furnizori. Conine informaie despre furnizorii de mrfuri. No. Nume cmp 1 FurnId 2 3 4 5 FurnName FurnPhone FurnCity FurnCont Tip de date char(6) char(30) char(6) char(30) Char(15) Tabelul Furnizori Descriere Codul (identificatorul) furnizorului. Cheie primar Denumirea furnizorului Numrul de telefon Nume de ora Contul bancar

4.2. Tabelul FacturaLivrare. Conine informaie despre facturele de livrare cu care mrfurile vin de la furnizori. Este un document de ntrare. No. 1 2 3 4 Nume cmp FactLivrId Data FurnId LivrareSum Tip de date char(6) datetime char(6) decimal(12,2) Tabelul FacturaLivrare Descriere Codul facturei de livrare. Cheie primar Data livrrii Codul furnizorului. Cheie extern Suma total n factur de livrre

4.3. Tabelul Livrari. Conine informaie n detalii despre coninutul livrrilor n facturele de livrare liste de mrfuri n facturele de livrare cu indicaia volumelor i preurilor de livrare. Tabelul Livrari No. Nume cmp 1 OrdNumber Tip de date numeric Descriere Numrul de rnd a livrrii de marf concret
7

2 3 4 5

FactLivrId MarfaId Volume Price

char(6) char(6) numeric decimal(12,2)

Codul facturei de livrare. Cheie extern Codul marfei. Cheie extern Volumul livrrii de marfa dat Preul de livrare a marfei dat

4.4. Tabelul Marfa. Conine informaie despre toate mrfurile trecute vre-o dat prin depozit. Mrfurile cu care opereaz firma dat. Tabelul Marfa No. Nume cmp 1 MarfaId 2 MarfaName 3 Producator Tip de date char(6) char(30) char(30) Descriere Codul marfei. Cheie primar Denumirea marfei Firma producator

4.5. Tabelul Depozit. Conine informaie despre toate mrfurile trecute vre-o dat prin depozit. Mrfurile cu care opereaz firma dat. Tabelul Depozit No. 1 2 3 4 Nume cmp NumPoziie MarfaId Volume Price Tip de date numeric char(6) numeric decimal(12,2) Descriere Numrul de poziie a marfei n depozit Codul marfei. Cheie extern Volumul curent de marf n depozit Preul marfei dat n depozit

4.6. Tabelul Vinzari. Conine informaie n detalii despre coninutul vnzrilor n facturele de vnzare liste de mrfuri n facturele de vnzare cu indicaia volumelor i preurilor de vnzare. Tabelul Vinzari No. Nume cmp 1 OrdNumber 2 3 4 5 FactVinzId MarfaId Volume Price Tip de date numeric char(6) char(6) numeric decimal(12,2) Descriere Numrul de rnd a vnzrii de marf concret Codul facturei de vnzare. Cheie extern Codul marfei. Cheie extern Volumul vnzrii de marfa dat Preul de vnzare a marfei dat

4.7. Tabelul FacturaVinzare. Conine informaie despre facturele de vnzare cu care mrfurile sunt procurate de clienii firmei. Este un document de ieire.
8

No. 1 2 3 4

Nume cmp FactVinzId Data ClientId VinzareSum

Tip de date char(6) datetime char(6) decimal(12,2)

Tabelul FacturaVinzare Descriere Codul facturei de vnzare. Cheie primar Data vnzrii Codul clientului. Cheie extern Suma total n factur de vnzare

4.8. Tabelul Clienti. Conine informaie despre furnizorii de mrfuri. Tabelul Clienti No. Nume cmp 1 ClientId 2 3 4 5 ClientName ClientPhone ClientCity ClientCont Tip de date char(6) char(30) char(6) char(30) Char(15) Descriere Codul (identificatorul) clientului. Cheie primar Denumirea clientului Numrul de telefon a clientului Nume de ora Contul bancar a clientului

5. Sarcini
Sarcini la Figura 1: 1. n Fig.1. este dat ER-diagrama bazei de date LIVRARI. De a-o transforma n schema fizic i de a crea tabelele bazei de date cu operatorii SQL; 2. n Fig.1. este dat ER-diagrama bazei de date LIVRARI. Scriei comenzile SQL pentru a calcula sumele totale de livrri pentru fiecare ora; 3. n Fig.1. este dat ER-diagrama bazei de date LIVRARI. Scriei comenzile SQL pentru a calcula sumele totale de livrri pentru fiecare furnizor; 4. n Fig.1. este dat ER-diagrama bazei de date LIVRARI. Scriei comenzile SQL pentru a calcula sumele totale de livrri pentru fiecare marf 5. n Fig.1. este dat ER-diagrama bazei de date LIVRARI. Scriei comenzile SQL pentru a calcula sumele totale de livrri pentru fiecare ora pe data indicat; 6. n Fig.1. este dat ER-diagrama bazei de date LIVRARI. Scriei comenzile SQL pentru a calcula sumele totale de livrri pentru fiecare furnizor pe data indicat; 7. n Fig.1. este dat ER-diagrama bazei de date LIVRARI. Scriei comenzile SQL pentru a calcula sumele totale de livrri pentru fiecare marf pe data indicat; 8. n Fig.1. este dat ER-diagrama bazei de date LIVRARI. Scriei comenzile SQL pentru a calcula sumele totale de livrri pentru fiecare ora n perioada indicat de timp;
9

9. n Fig.1. este dat ER-diagrama bazei de date LIVRARI. Scriei comenzile SQL pentru a calcula sumele totale de livrri pentru fiecare furnizor n perioada indicat de timp; 10. n Fig.1. este dat ER-diagrama bazei de date LIVRARI. Scriei comenzile SQL pentru a calcula sumele totale de livrri pentru fiecare marf n perioada indicat de timp. Schema bazei de date LIVRARE2 (Fig. 3) Interogri la Fig. 3 Interogri unitabelare: Lista furnizorilor cu indicaia conductorului i numrul de telefon; Lista furnizorilor din oraul dat cu indicaia conductorului i numrul de telefon; Lista mrfurilor cu indicaia categoriei; Lista mrfurilor cu indicaia categoriei i unitilor de msur; Lista producatorilor din fiecare ar; Interogri multitabelare: Lista furnizorilor i mrfurilor livrate de ei; Lista furnizorilor i mrfurilor livrate de ei cu preurile de livrare; Lista mrfurilor cu indicaia categoriei i productorului; Funcii de totalizare.Interogri cu cmpuri calculate: Costul total ale mrfurilor livrate; Costul mrfurilor livrate n fiecare zi; Costul mrfurilor livrate n fiecare zi pentru o perioad de timp; Gruparea datelor.Constructor de expresii: Costul mrfurilor livrate, grupate pe categorii; Costul mrfurilor livrate, grupate pe furnizori; Costul mrfurilor livrate, grupate pe furnizori i categorii; Costul mrfurilor livrate, grupate pe producatori de marf; Care din furnizori a livrat mai rar/des marf; Care din furnizori a livrat marf de o sum mai mare/mic;

10

Categorie 1 Furnizor FurnId FurnName FurnHeader FurnPhone FurnCity FurnAddress FurnAbout .... 1 Livrare OrdNum LivrareDate Furnizor Marfa MarfaQuantity MarfaPrice .... 1 Marfa MarfaId MarfaName MarfaCateg MafaUnitMeas MarfaProduc MarfaAbout .... Producator 1 ProdId ProdName ProdCountry ProdAbout .... CatId CatName CatAbout ....

Fig. 3. Diagrama ER a bazei de date VINZARI2

11

Sarcini la baza de date DEPOZIT (Figura 2):

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.

De calculat sumele totale de livrri pentru fiecare ora; De calculat sumele totale de livrri pentru fiecare furnizor; De calculat sumele totale de livrri pentru fiecare marf; De calculat sumele totale de livrri pentru fiecare ora pe data indicat; De calculat sumele totale de livrri pentru fiecare furnizor pe data indicat; De calculat sumele totale de livrri pentru fiecare marf pe data indicat; De calculat sumele totale de livrri pentru fiecare ora n perioada indicat de timp; De calculat sumele totale de livrri pentru fiecare furnizor n perioada indicat de timp; De calculat sumele totale de livrri pentru fiecare marf n perioada indicat de timp. De calculat sumele totale de vnzri pentru fiecare ora; De calculat sumele totale de vnzri pentru fiecare client; De calculat sumele totale de vnzri pentru fiecare marf; De calculat sumele totale de vnzri pentru fiecare ora pe data indicat; De calculat sumele totale de vnzri pentru fiecare client pe data indicat; De calculat sumele totale de vnzri pentru fiecare marf pe data indicat; De calculat sumele totale de vnzri pentru fiecare ora n perioada indicat de timp; De calculat sumele totale de vnzri pentru fiecare client n perioada indicat de timp; De calculat sumele totale de vnzri pentru fiecare marf n perioada indicat de timp; De calculat venitul total pentru fiecare marf; De calculat venitul total pentru fiecare marf n perioada indicat de timp. Care furnizor ne-a livrat marf de mai multe ori? Care client a cumprat marf de mai multe ori? Care furnizor ne-a livrat marf de mai puine ori? Care client a cumprat marf de mai puine ori?
12

(. 2) 1. ; 2. ; 3. ; 4. ; 5. ; 6. ; 7. ; 8. ; 9. ; 10. 11. ; 12. ; 13. ; 14. ; 15. ; 16. ; 17. ; 18. ; 19. ; 20. ; 21. ; 22. .
13

23. , ; 24. , ; 25. , ; 26. , ; 27. , ; 28. , ; 29. , ; 30. , ; 31. ; 32. ; 33. , , ; 34. ; 35. .

14

Vous aimerez peut-être aussi