Académique Documents
Professionnel Documents
Culture Documents
Baza de Date
Baza de Date
Microsoft Access , . , . : , ; ; ; ; .
- (, ) , (, ()). , - .
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 ....
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
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
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
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 ....
11
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