BAZE DE DATE CURS 3 Modele de date i modelare conceptual M. Danubianu - Baze de date 2 Abstractizarea const n neglijarea aspectelor nerelevante i concentrarea asupra proprietilor care prezint interes dintr-un anumit punct de vedere. este legat de criteriul de relevan prin procesul de abstractizare se rein acele aspecte care sunt relevante pentru un anumit scop. se folosete pentru a obine categorii de date sau pentru a combina categorii de date n categorii mai generale. poate fi fcut pe mai multe nivele, tipurile de pe un nivel constituind obiecte pentru nivelul superior de abstractizare iererhii de tipuri. dou tipuri de abstractizare: generalizarea agregarea. M. Danubianu - Baze de date 3 Generalizarea asociaz unei mulimi de obiecte sau unei mulimi de tipuri un singur tip generic. sunt scoase n eviden similitudinile dintre obiecte sau tipuri i sunt neglijate diferenele dintre acestea dou categorii de generalizare: obiect-tip sau clasificare; tip-tip sau generalizarea propriu-zis. opusul procesului de clasificare este instanierea, specializarea este opusul generalizrii propriu-zise ierarhii de generalizare. M. Danubianu - Baze de date 4 Agregarea form de abstractizare prin care un obiect este construit din prile sale componente. Se poate aplica att la nivelul tipurilor ct i al valorilor individuale. permite punerea n eviden a structurii unui obiect n mod gradat arat modul n care prile constituente se raporteaz la acesta, indic relaiile dintre aceste pri componente. ierarhii de agregare. Prin combinrea celor dou tipuri de abstractizare se poate exprima att clasificarea obiectelor i tipurilor, ct i structura lor. M. Danubianu - Baze de date 5 Modele de date i modelarea conceptual Modelul de date - colecie integrat de concepte, necesare descrierii datelor, relaiilor dintre date i constrngerilor asupra datelor dintr-o organizaie. Scop: s fie reprezentat ct mai fidel situaia din lumea real; datele s fie adaptate reprezentrii i prelucrrii pe calculator. un model de date se compune din trei pri: o parte structural care const dintr-un set de reguli conform creia sunt constituite bazele de date ; o parte de manipulare care definete tipurile de operaii care sunt permise asupra datelor ( operaii de reactualizare sau regsire a datelor din bazele de date, operaii de modificare a structurii bazei de date, etc.) ; un set de reguli de integritate care garanteaz c datele sunt corecte Arhitectura ANSI/SPARC poate fi reflectat prin trei modele de date legate ntre ele : un model de date extern, pentru a reprezenta vederea fiecrui utilizator asupra organizaiei ( denumit uneori Universul Discursului) un model de date conceptual pentru a reprezenta nivlul logic (sau general) care este independent de sistemul SGBD ; un model de date intern, pentru a reprezenta schema conceptual astfel nct s poat fi neleas de sistemul SGBD. M. Danubianu - Baze de date 6 Modele de date - clasificare strict tipizate : fiecare dat trebuie s aparin unei categorii. Dezavantaj Dezavantaj: lipsa de flexibilitate, dificultatea reprezentrii deosebirilor semantice mai subtile. Avantaj Avantaj: :proprietile datelor pot fi abstractizate i cercetate n termenii categoriilor crora le aparin bazat pe aceste categorii se poate formula o teorie care cuprinde proprietile datelor. stau la baza proiectrii SGBD-urilor. slab tipizate: nu fac nici o presupunere legat de categorii. categoriile sunt permise n msura n care sunt utile, dar datele individuale pot exista prin ele nsele i pot fi legate de alte date. modele de date bazate pe obiecte: utilizeaz concepte cum ar fi : entitile, atributele i relaiile (modelul ER, UML) modele de date bazate pe nregistrri: baza de date const dintr-un numr de nregistrri cu format fix, posibil de tipuri diferite. Fiecare tip de nregistrare definete un numr fix de cmpuri, fiecare cmp avnd de obicei o lungime fix (modelul ierarhic, modelul reea i modelul relaional) modele de date fizice. M. Danubianu - Baze de date 7 Model conceptual Un model conceptual sau schem, cuprinde : numele categoriilor proprietile acestora i legturile dintre categorii. Orice model conceptual este o descriere a unei structuri de date Regulile dup care este construit un model conceptual sunt definite n cadrul unui model de date. M. Danubianu - Baze de date 8 Entiti, legturi ntre entiti Modelul conceptual cuprinde descrierea tuturor entitilor unei baze de date mpreun cu toate legturile existente ntre ele. entitate este un coninut de sine stttor, o realitate obiectiv care exist prin ea nsi. este caracterizat prin proprietile sale, reprezentate prin atribute. In cadrul diferitelor modele de date intervin dou forme de structurare a datelor: prima form de structurare a datelor se refer la modalitatea de asociere a atributelor pentru a forma descrierile tipurilor de entiti crora le aparin. Intre mulimile de entiti dintr-o baz de date exist diferite legturi (relaii), care trebuie descrise n modelul conceptual al bazei de date. a doua form de structurare a datelor se refer la modul n care sunt reprezentate legturile existente ntre diferitele mulimi de entiti ale bazei de date. Modelele de date difer ntre ele prin modul n care se poate realiza reprezentarea legturilor dintre mulimi i entiti. M. Danubianu - Baze de date 9 Tipurile de legturi 1:1 1:N M:N 1 2 3 a b c d 1 2 3 a b c d 1 2 3 a b c d - unei entiti din M 1 i corespunde o singur entitate din M 2 i reciproc (rel. de tip so-soie); - unei entiti din M 1 i corespund una sau mai multe entiti din M 2 , dar fiecrei entiti din M 2 i corespunde o singur entitate din M 1 ( relaie de tip tat-fiu) relaie M:N cnd unei entiti din M 1 i corespund una sau mai multe entiti din M 2 i reciproc (relaie de tip prieten-prieten) M 1 M 2 M. Danubianu - Baze de date 10 Modelul Entitate Relaie M. Danubianu - Baze de date 11 Elemente de proiectare a bazelor de date Modelarea conceptual a datelor Modelul entitate relaie Etapele proiectrii bazelor de date Proiectarea conceptual a bazelor de date cu ajutorul modelului ER Modelul entitate-relaie Elementele modelului ER Entiti, tipuri de entiti legturi (asocieri, relaii), tipuri de legturi atribute Subclasele n modelul ER Trecerea de la diagrama ER la schema relaional Entiti slabe n diagrama ER M. Danubianu - Baze de date 12 Etapele proiectrii bazelor de date 1) Analiza solicitrilor Ce date, aplicaii i operaii sunt necesare 2) Proiectarea Conceptual a bazei de date: Descrierea la nivel nalt a datelor i constrngerilor dintre acestea utiliznd modelul ER sau un model similar de nivel nalt 3) Proiectarea Logic a bazei de date: Convertirea modelului conceptual ntr-o schem de baze de date 4) Rafinarea schemei Normalizarea relaiilor: controlul schemei din punct de vedere al redundanei i a anomaliilor asociate acesteia. 5) Proiectarea fizic a bazei de date: Indexare, grupare (clustering) ... 6) Proiectarea sistemului de securitate : Identificarea diferitelor grupuri de utilizatori i a rolurilor acestora M. Danubianu - Baze de date 13 Proiectarea conceptual a bazei de date Probleme ale proiectrii conceptuale: ( etap n care se utilizeaz modelul ER) Care sunt entitile i legturile dintre acestea n ntreprindere (organizaie)? Ce informaii despre aceste entiti i legturi vor fi memorate n baza de date? Ce constrngeri de integritate i ce reguli de afacere trebuie luate n considerare? Cum se reprezint grafic schema bazei de date ( diagrama ER). Cum se transpune diagrama ER ntr-o schem relaional? M. Danubianu - Baze de date 14 Modelul Entitate-Relaie Model de date conceptual de nivel nalt Dezvoltat de Chen (1976) Model de date conceptual - set de concepte care descriu structura unei baze de date precum i tranzaciile de regsire i de reactualizare asociate. Idee Model ER Schema relaional SGBD relaional M. Danubianu - Baze de date 15 Elementele modelului ER tipurile de entiti tipurile de legturi (asocieri, relaii) atributele M. Danubianu - Baze de date 16 Diagrama ER Este un graf: nodurile reprezint tipuri de entiti, tipuri de legturi i atribute, arcele leag tipurile de entiti de atributele lor, respectiv tipurile de entiti cu simbolurile asocierilor corespunztoare Notaie simbolic ce descrie schema unei baze de date M. Danubianu - Baze de date 17 Elementele modelului ER entiti, tipuri de entiti Entitate: Orice obiect din lumea real care poate fi distins de alte obiecte (ex. un angajat) n bazele de date o entitate este descris cu ajutorul unui set de atribute Tip de entiti: O colecie de entiti similare (Ex. toi angajaii) Entitatea este o instan a unui tip de entiti. Tipurile de entiti sunt identificate printr-un nume i o list de proprieti (atribute) Toate entitile dintr-un tip au aceleai atribute Fiecare atribut are un domeniu CREATE TABLE Angajai (cnp CHAR(11), nume CHAR(20), sex CHAR(1), PRIMARY KEY (cnp)) cnp nume sex 12322345636 Axinte F 23131536889 Stanciu M 13124365075 Savu F Atribut Angajati cnp nume sex Tip de entitate M. Danubianu - Baze de date 18 Elementele modelului ER atribute Atributul reprezint o proprietate a unui tip de entitate conine valori ca msur a proprietii respective pot fi simple (atomice) respectiv compuse cu o singur valoare sau cu valori multiple derivate (vrst, total_chelt, etc) Atribut cu o singur valoare Atribut cu valori multiple Ex. Numrul de telefon al unei org Atribut derivat ex. Vrsta unei persoane M. Danubianu - Baze de date 19 Chei n diagrama ER Fiecare tip de entiti are o cheie Angajati cnp nume sex Cheie primar Nu exist o metod formal de a indica mai Nu exist o metod formal de a indica mai multe chei multe chei M. Danubianu - Baze de date 20 Elementele modelului ER asocieri (relaii, legturi), tipuri de relaii Relaia (Legtura): Asocierea ntre 2 sau mai multe entiti. (Ex. Bdescu lucreaz n departmentul Vnzri). Tip de relaii (legturi): Colecie de legturi similare Un tip de relaie n-ar R leag n tipuri de entiti E 1 ... E n ; fiecare legtur din R implic faptul c entitatea e 1 E 1 , ..., e n E n Acelai tip de entitate poate participa n tipuri diferite de legturi, sau in diferite roluri in aceli tip de legtur sex dnume buget did nume lucreaz_In Departamente Angajai cnp Relaie (legtur, asociere) M. Danubianu - Baze de date 21 Asocieri(relaii) i atribute sex dnume buget did Din data nume lucreaz_In Departamente Angajai cnp Tipurile de relaii (legturi) pot avea de asemenea atribute descriptive (ex., atributul Din data n Lucreaz_In). Oare nu ar fi mai indicat asocierea atributului cu unul din tipurile de entiti participante?? M. Danubianu - Baze de date 22 Asocieri (relaii) i atribute (II) La transformarea unui tip de legtur ntr-un tabel(relaie), atributele trebuie s includ: Cheile fiecrui tip de entitate participant (ca i chei strine). Acest set de atribute formeaz o cheie compus pentru relaia rezultat. Toate atributele descriptive ale tipului de legtur. CREATE TABLE lucreaz_In ( cnp CHAR(1), did INTEGER, din_data DATE, PRIMARY KEY (cnp, did), FOREIGN KEY (cnp) REFERENCES Angajai, FOREIGN KEY (did) REFERENCES Departamente); cnp did Din_data 12323666 51 1/1/91 123223666 56 3/3/93 231315368 51 2/2/92 M. Danubianu - Baze de date 23 Multiplicitatea tipurilor de relaii n modelul E/R 1:1 N:1 N:M 1 2 3 a b c d 1 2 3 a b c d 1 2 3 a b c d M. Danubianu - Baze de date 24 Gradul tipurilor de relaii n modelul E/R Cum pot fi modelate relaiile ntre tipurile de entiti Produse Magazine i Persoane? Gradul unui tip de legtur este dat de numrul tipurilor de entiti participante. Cumpr Produse Persoan Magazin Tipuri de legturi Binare (de grad II) Ternare (de grad III) Cvadruple (de grad IV) M. Danubianu - Baze de date 25 Sgeile n tipurile de legturi de grad superior Care este semnificaia sgeii ? nchiriaz Centru_de_nchiriere Persoan Film Factura Dac se cunoate centrul de nchiriere, persoana i factura se cunoate deasemenea filmul nchiriat M. Danubianu - Baze de date 26 Sgeile n tipurile de legturi de grad superior (II) Care este semnificaia acestor sgei? nchiriaz Centru_de_nchiriere Persoan Film Factura Centrul de nchiriere, factura i persoana determin filmul nchiriat i Centrul de nchiriere, factura i Filmul determin persoana care a nchiriat Valabil in ipoteza ca pentru o persoana, pe o factura se poate trece un singur film M. Danubianu - Baze de date 27 Rolurile n tipurile de legturi Este posibil ca un tip de entitate s apar de dou sau mai multe ori ntr-un singur tip de legtur. Relaie recursiv este relaia n care acelai tip de entitate particip de mai multe ori n diferite roluri Subordonat-lui sex nume Angajai subordonat supervizor cnp M. Danubianu - Baze de date 28 Comercializeaza Produs Persoan Magazin Ce tip de entitate credei c ar putea juca roluri diferite n tipul de legtur Cumpr? Rolurile n tipurile de legturi M. Danubianu - Baze de date 29 Rolurile n tipurile de legturi Comrercializeaza Produs Persoan Magazin cumprtor vnztor M. Danubianu - Baze de date 30 Conversia legturilor de grad superior n legturi binare
modele de date care nu admit dect legturi binare
legtur de grad superior poate fi convertit la o colecie de legturi binare se introduce un nou tip de entiti ale crui entiti sunt tupluri ale tipului de legtur de grad superior - tip de tip de entit entit i i de de conectare conectare se leag acest tip de entiti cu fiecare din tipurile de entiti participante n legtura original dac un tip de entitate joac mai multe roluri atunci el va fi inta cte unei legturi pentru fiecare rol M. Danubianu - Baze de date 31 Conversia legturilor de grad superior n legturi binare Cumpr Produs Persoan Magazin data Se consider diagrama ER urmtoare: Se pune problema eliminrii legturii ternare Cumpr M. Danubianu - Baze de date 32 Conversia legturilor de grad superior n legturi binare Cumprtur Persoan Magazin Produs vndutPrin DeTipul CumpratDe data M. Danubianu - Baze de date 33 Subclasele n modelul ER - Ierarhiile ISA (`is a)- Proprietile entitilor (i implicit atributele) pot fi motenite Tipurile de entiti se asociaz cu subclasele corespunztoare prin legturi isa Fie dou tipuri de entiti A i B. Se spune c A ISA B (A este o subclas a lui B), dac fiecare entitate din A este de asemenea considerat a fi i o entitate din B Un tip de entitate poate conine entiti cu proprieti specifice, care nu sunt asociate cu toi membrii tipului respectiv necesitatea definirii de subclase ale unui tip de entitate, fiecare cu atribute sau cu legturi specifice. isa clas subclas M. Danubianu - Baze de date 34 Structura unei diagrame ER ce conine legturi isa Structur arborescent tipul de entitate rdcin - cel mai general tipuri de entiti specializate progresiv ctre frunzele arborelui M. Danubianu - Baze de date 35 M. Danubianu - Baze de date 35 Ang_contract nume cnp Angajai sex Salariu_ora ISA Colab_extern contractid Ore_lucrate Transformarea ierarhiilor ISA n relaii Legtur ISA Legturile isa sunt ntotdeauna legturi 1:1