Sunteți pe pagina 1din 6

2.

Modele de date folosite in proiectarea bazelor de date


2.1. Clasificarea modelelor de BD:
I. II. modele de date de nivel inalt - permit realizarea schemei conceptuale de nivel inalt a bazei de date; nu sunt precizate aspecte legate de implementare. Modelul conceptual este independent de sistemul de gestiune a BD folosit. modele de date specializate au o corespondenta in sisteme de gestiune deja existente: modelul de date ierarhic, retea, relational, obiect, obiect-relational. Pentru fiecare astfel de model exista sisteme de gestiune particulare.

Trecerea de la I la II se numeste proiectare logica (conceptuala). Stabilirea modelului conceptual reprezinta proiectarea conceptuala a bazei de date. Proiectarea logica produce o schema conceptuala (logica) a bazei de date. Cel mai utilizat model de tip I este modelul entitate-asociere (E-A).

2.2. Modelul entitate-asociere:


A aparut in 1976, inventat de P. Chen. Notiunile de baza sunt: entitatea; asocierea; (atributele). A. Definitie (neinformala): O entitate este orice ce poate fi deosebit de restul inconjurator: obiect, eveniment, rol, etc. Orice entitate este descrisa prin atributele sale care se selecteaza pe principiul relevantei: atribute relevante. O entitate este descrisa prin valori ale atributeler. Toate entitatile care pot fi caracterizate prin acelasi set de atribute pot fi grupate intr-o multime de entitati (contine entitati de un tip dat). Tipul entitatii il caracterizam prin atributele corespunzatoare. O entitate dupa definirea tipului ei devine o instanta a tipului de entitate. Asocierile (def formala) relationship: reprezinta modul in care pot fi asociate (puse in corespondenta) doua sau mai multe multimi de entitati. Putem avea asocieri:

binare: doua multimi de entitati K-are (multiple): K>2, ternare,

In proiectarea BD este necesar sa fie definite categoriile de asocieri: a. asociere unul-la-unul (1:1): este o asociere in care unui element (entitati) din multimea E1 ii corespunde un singur element (entitate) din multimea E2 si reciproc; b. asociere unul-la-multe (1:N): unui element din multimea E1 ii corespund mai multe elemente din multimea E2 , pe cand unui element din multimea E2 ii corespunde doar un element din multimea E1; c. asociere multe-la-multe (M:N): unui element din multimea E1 ii corespund mai multe elemente din multimea E2 si invers;

Numarul acesta de asocieri se numeste multiplicitate sau cardinalitate. O asociere binara prezinta doua valori de cardinalitate, raportul celor doua valori reprezinta raportul de cardinalitate (1:1, 1:N, M:N). Tipuri de asociere: a. 1:1 ; b. 1:N ; c. M:N . Asocierile K-are (K>2) au K valori ale cardinalitatilor (de multiplicitate), cate una pentru fiecare multime de entitati. B. Definitie (mai precisa): Tip de entitate, multimea entitatilor (de acelasi tip) si o entitate = instanta a tipului. Pentru asocieri se definesc:

un tip al asocierii; instanta a asocierii; multimea tuturor instantelor folosind o multime a unui tip de asociere.

Definitia tip de asociere: Fie E1, E2,, En multimi de entitati, fiecare corespunzand unui tip de entitate. Un tip de asociere R={ri}este format dintr-o multime de instante ale acestui tip ri, unde ri este un triplu compus din elemente ri=(e0, e1, , ej, , en), ejEj. Proprietati:

fiecare instanta a asocierii pune in legatura (asociere) exact cate un element din multimile de entitati date; un tip de asociere este o submultime a produsului cartezian a submultimilor de entitati pe care le pune in corespondenta. Este doar o submultime din cauza constrangerilor impuse de raportul de cardinalitate.

Raportul de cardinalitate (asocieri binare) ne da numarul de instante ale asocierii (de un tip dat) in care poate participa o entitate dintr-o multime data.

O relatie Ra cu raportul de cardinalitate 1:1 impune conditia ca orice element din E1 sau E2 sa participe intr-un singur element (instanta) a tipului de asociere. Un tip de asociere Rb cu raportul de cardinalitate 1:N impune conditia ca un element din E2 sa participe intr-o singura instanta iar un element din E1 sa participe in N instante. O asociere intre doua multimi de entitati este si o asociere intre tipul de entitati.

Diagrama E-A: pentru reprezentarea modelului entitate-asociere. Notatii:

Atributele se reprezinta prin elipse care contin numele si se leaga de tipul de entitate. Notatie pentru entitati (tip) puternice (numele) sau entitati slabe (dependente):

Diferenta consta in faptul ca entitatile puternice se pot identifica in realitatea modelata direct, pe cand entitatile slabe nu pot exista decat asociate cu alte entitati (tipuri) puternice. Tipul asocierii binare: Poate avea un nume si are multiplicitatile scrise conform raportului de cardinalitate al multimilor. Se reprezinta astfel:

Tipul asocierii > 2:

Exemplu de diagrama E-A: Tipuri de entitati:

entitati puternice: a. tipul de entitate sectie SECTIE (SECTII); Atribute: Numar,Nume,Buget; b. tipul de entitate angajat ANGAJAT; Atribute: Nume, Prenume, Data nasterii, Adresa,Functia, Salariu; c. tipul de entitate proiect PROIECT Atribute: Nume, Data incepere, Buget entitati slabe: a. tipul de entitate dependent Atribute: Nume, Grad rudenie, Varsta

Tipuri de asocieri: le definim astfel incat sa corespunda realitatii modelate:


SECTIE-ANGAJAT 1:N (o sectie contine mai multi angajati dar un angajat apartine unei singure sectii): poate avea si un nume (A); ANGAJAT-PROIECT M:N, daca se admite ca un angajat sa lucreze la mai multe proiecte; ANGAJAT-DEPENDENTE (1:N).

Obs: a. Fara sa fie o regula, din punct de vedere semantic entitatile (tipurile) se reprezinta cel mai bine prin substantive, pe cand asocierile se reprezinta din punct de vedere al intelesului prin verbe: o o sectie cuprinde mai multi angajari; o un angajat intretine mai multi dependenti; o mai multi angajati lucreaza la mai multe proiecte. b. Pentru aceeasi activitate se pot identifica si apoi dezvolta diferite tipuri de entitati si de asocieri => modele (diagrame E-A) diferite

Granita dintre entitati si asocieri nu este una precisa. De exemplu:

Acesta a fost modelul E-A initial. Cu timpul s-a dezvoltat Modelul Entitate-Asociere extins. In plus apar ierarhii de tipuri de entitati. Ierarhiile se creeaza:

prin specializare, in care, pornind de la un tip de entitate dat, se creeaza unul sau mai multe tipuri de entitate; prin generalizare, in care, pornind de la mai multe tipuri de entitati se poate defini un supertip, prin abstractizare. Aceste tipuri sunt legate intre ele prin relatia de mostenire (atributele se mostenesc); se creeaza ierarhii de tipuri si subtipuri.

Exista diferente de interpretare: Ierarhiile de tipuri de entitati sunt realizate in E-A prin asocierea cu raportul de cardinalitate 1:1. Exemplu: ANGAJAT (Nume, Prenume,): putem defini subtipuri pentru a deservi activitati specifice: SECRETARA, TEHNICIAN, INGINER. Fiecare subtip mosteneste atributele tipului de baza ANGAJAT. Subtipul mai contine si atribute specifice:

SECRETARA (Viteza redactare); TEHNICIAN (Grad, Calificare); INGINER (Specialitate).

Asemanarea dintre OO si E-A extins:


dpdv al mostenirii in faza de definire a atributelor; dpdv al instantierii tipurilor si subtipurilor apare o deosebire intre modelul obiectorientat si modelul E-A: in modelul E-A, pentru fiecare instanta a unui subtip din realitatea modelata corespund doua sau mai multe instante si anume o instanta din subtipul respectiv si cate o instanta din supertipurile subtipului.

Diagrama de instantiere a diagramei asociere reprezentate:

2.3. Modelul ierarhic


Apare inainte de 1970 SGBD-ul ierarhic IMS (Information Management System) dezvoltat de IBM, in cadrul programului Apollo. Notiunile de baza:

existau inregistrari, fiecare fiind de un anumit tip, si fiecare tip era caracterizat printr-un numari de campuri ce contin valori ale atributelor;

link-uri (legaturi): se admit legaturi intre tipurile de inregistrari care realizeaza o asociere de tip parinte-fiu astfel incat schema conceptuala a unei bd ierarhice este un arbore directionat ale carui noduri sunt tipurile de inregistrari iar arcele sunt legaturi cu raportul de cardinalitate 1:N (1:1).

S-ar putea să vă placă și