Sunteți pe pagina 1din 17

BAZE DE DATE CAP.

Capitolul 4. Modelarea Entitate-Relaţie (ER)


Modelul ER este un model conceptual de nivel înalt, dezvoltat de Chen (1976) pentru a
facilita proiectarea BD. Un model de date conceptual se compune din:
- un set de concepte care descriu structura bazei de date (entităţi, relaţii, atribute) şi
- tranzacţiile de regăsire şi actualizare asociate.
Scopul realizării unui model de date de nivel înalt este:
- perceperea datelor de către utilizator,
- ascunderea aspectelor tehnice asociate proiectării BD.
Un model de date conceptual este independent de tipul de SGBD utilizat şi de platforma
hardware asociată.

4.1 Conceptele modelului ER


Conceptele de bază ale modelului ER includ:
- tipurile de entităţi
- tipurile de relaţii
- atributele

4.1.1 Tipuri de entităţi

Tip de entitate: Un obiect sau concept identificat de organizaţie ca având o existenţă


independentă. Un tip de entitate conţine un set de obiecte sau concepte cu aceleaşi proprietăţi.
Exemple de tipuri de entităţi:
Clienţi, Produse, Personal, Rudă_apropiată (obiecte, entităţi cu existenţă fizică)
Vânzare (concepte, entităţi cu existenţă conceptuală)
Entitate: o instanţă unic identificabilă a unui tip de entitate.
Exemplu: Georgescu, Popescu sunt entităţi ale tipului de entitate “Clienţi”
Entitate tare (entitate părinte, proprietar, dominantă): Un tip de entitate a cărei existenţă nu
depinde de alte tipuri de entităţi.
Exemplu: clienţi, produse, personal, vânzare.
Entitate slabă (entitate copil, dependentă, subordonată): Un tip de entitate a cărei existenţă
depinde de existenţa uneia sau mai multor alte tipuri de entităţi.
Exemplu: Ruda_apropiată.

Reprezentare în modelul ER: entitatea tare se trece într-un dreptunghi cu chenar simplu,
entitatea slabă într-un dreptunghi cu chenar dublu (fig. 1.3).

Personal Ruda_apropiata
Figura 1. Entitate tare şi entitate slabă

1
BAZE DE DATE CAP. 4

4.1.2 Atribute
Atribut: o proprietate a unui tip de entitate sau relaţie.
Domeniul atributului: Mulţimea în care ia valori atributul.
Atribut simplu: are o singură componentă, cu existenţă independentă.
Exemplu: Atribute în tipul de entitate Personal: sex, salariu
Atribut compus: are mai multe componente, fiecare independentă
Exemplu: Adresa (Str. Zorilor 13): atributul strada + atributul numărul
Atribut cu o singură valoare: Conţine o singură valoare pentru o anumită entitate.
Atribut cu valori multiple: Conţine mai multe valori pentru o singură entitate.
Exemplu: un client poate avea mai multe numere de telefon.
Atribut derivat: are o valoare derivabilă din valoarea unui atribut sau set de atribute de care
este legat şi care nu sunt în mod necesar în aceeaşi entitate.
Exemplu: atributul vârsta se derivă din data naşterii.

Reprezentarea atributelor: elipse; contur punctat pentru atribute derivate, contur dublu pentru
atribute cu valori multiple. Atributele compuse “radiază” atributele componente. Denumirea
atributelor cheie primară se subliniază. Figura 1.4 se referă la modelul ER al unei agenţii
imobiliare.

Figura 2. Reprezentarea schematică a tipurilor de entităţi “Personal”, “Filiala” şi “Ruda apropiată” şi a


atributelor acestora.

2
BAZE DE DATE CAP. 4

4.1.3 Tipuri de relaţii

Tip de relaţie : O asociere semnificativă între tipuri de entităţi.


Exemplu: Între tipul de entitate “Filiala” şi tipul de entitate “Personal” există tipul de
relaţie “este alocat”.
Între fiecare entitate din tipurile de entităţi de mai sus există o prezenţă unic identificabilă a
tipului de relaţie dintre ele, numită: relaţie.

Relaţie : o instanţă unic identificabilă a unui tip de relaţie.


Exemplu: între fiecare entitate din tipul de entitate “Personal” şi fiecare entitate din tipul
de entitate “Filială” există o instanţă a relaţiei “este alocat”, adică fiecare angajat este alocat
unei filiale.

În figura 1.5 sunt prezentate apariţiile individuale ale relaţiei „este alocat” , utilizând o
diagramă numită reţea semantică. Aceasta este o diagramă la nivel de obiecte, unde simbolul
 reprezintă entităţile, iar simbolul  reprezintă relaţiile. Pentru simplificare în fig. 1.5. sunt
prezentate numai unele atribute.

Figura 3. Model semantic în reţea, cu apariţiile individuale ale relaţiei „Este Alocat”

3
BAZE DE DATE CAP. 4

Reprezentarea schematică a relaţiilor

Modele semantice sunt dificil de înţeles datorită detaliilor. Reprezentarea de nivel înalt a
relaţiei “este alocat”, utilizând conceptele modelului ER se prezintă în figura 1.6. Pentru
simplificare s-au reprezentat numai atributele chei primare.
Relaţiile se reprezintă prin romburi; rombul are linii duble dacă face legătura dintre o entitate
slabă şi una tare, de care depinde.
În exemplul din fig. 1.6 se observă că entitatea slabă Ruda_Apropiată nu are cheie primară.

Figura 4. Reprezentare schematică a entităţilor, relaţiilor şi atributelor cheie primară Filiala, Personal şi
Ruda_Apropiată

Gradul unei relaţii: numărul de entităţi participante într-o relaţie.

Figura 5. Relaţie binară, cu 2 participanţi (2 entităţi participante), relaţie numită “deţine”

4
BAZE DE DATE CAP. 4

Figura 6. Relaţie ternară, numită “Fixează”

Figura 7. Relaţie cvadruplă, numită “Reglementează”

Relaţie recursivă: O relaţie în care aceeaşi entitate participă mai mult decât o dată în diferite
roluri.

Figura 8. Relaţie recursivă numită “supervizează”, cu numele de roluri supervizat şi supervizor. Relaţiei i
s-au atribuit nume de roluri pentru a indica scopul pe care-l are fiecare entitate participantă în cadrul
relaţiei.

5
BAZE DE DATE CAP. 4

Nume de roluri pot fi utilizate şi când două entităţi sunt asociate prin mai mult decât o relaţie
(fig. 1.11).

Figura 9. Entităţi asociate prin două relaţii distincte numite “Administrează” şi “Este alocat”, împreună
cu numele de roluri corespunzătoare.

4.1.4 Atributele relaţiilor

Se pot asocia atribute şi relaţiilor (exemplul din fig. 1.12).

Figura 10. Exemplu de relaţie numită “Vizitează“ cu atributele (Data_vizitare şi Comentarii).

Prezenţa unor atribute asociate relaţiilor poate indica existenţa unei entităţi neidentificate (în
exemplul dat, entitatea “Vizitare”).

6
BAZE DE DATE CAP. 4

4.2 Constrângeri structurale


Entităţilor participante într-o relaţie li se impun anumite constrângeri, aşa cum sunt percepute
în lumea reală.
Exemple: o proprietate de închiriat trebuie să aibă un proprietar, filiala trebuie să aibă
personal.
Există două mari tipuri de constrângeri structurale: de cardinalitate şi de participare.

4.2.1 Constrângeri de cardinalitate

Raport de cardinalitate al unei relaţii: Descrie numărul de relaţii posibile pentru fiecare
entitate participantă.

Pentru relaţii binare raportul de cardinalitate poate fi:


 1:1 unu la unu;
 1: M unu la mai mulţi;
 M:N mai mulţi la mai mulţi.
Regulile care stabilesc cardinalitatea sunt reguli de afaceri ale organizaţiei (în modelarea unei
organizaţii trebuie reprezentate cât mai multe reguli de afaceri).

Relaţii unu la unu (1:1)

Se consideră relaţia binară Administreaza, anume Personal Administreaza Filiala. Modelul


semantic corespunzător este prezentat în figura 1.13.

Figura 11. Model tip reţea semantică al relaţiei 1:1 (Personal Administreaza Filiala)

7
BAZE DE DATE CAP. 4

Relaţia este de cardinalitate 1:1 deoarece o singură entitate din Personal este asociată cu o
singură entitate din Filiala. Acesta este confirmată prin regula de afaceri pe care o reprezintă
relaţia: o filială are un singur administrator, iar un angajat poate administra doar o singură
filială. Pot exista angajaţi (de. ex. Ann Beech) care nu administrează nici o filială. În schimb
nu pot exista filiale fără administrator.
Diagrama ER a acestei relaţii este prezentată în figura 1.14.
Liniile sunt etichetate cu raportul de cardinalitate, care în fig. 1.14 este 1: 1.

Figura 12. Diagrama ER a relaţiei 1:1 Personal Administreaza Filiala

Relaţii unu la mai mulţi (1:M)

Considerăm relaţia binară Personal Supravegheaza Proprietate_de_Inchiriat, al cărei model


tip reţea semantică este prezentat în figura 1.15.

Din diagramă reiese gradul de cardinalitate al relaţiei ca fiind de 1: M, deoarece un membru al


personalului poate supraveghea mai multe proprietăţi (de ex. p2 supraveghează pr1 şi pr2),
ceea ce corespunde regulilor de funcţionare ale organizaţiei. În schimb o proprietate poate fi
supravegheată numai de un singur membru al personalului.
Relaţia este deci de cardinalitate 1: M citită de la stânga la dreapta, şi de cardinalitate 1:1
citită de la dreapta la stânga, din punctul de vedere al proprietăţii de închiriat. Pentru stabilirea
gradului de cardinalitate al relaţiei se va lua în considerare gradul mai înalt, deci în cazul
exemplului 1:M.

8
BAZE DE DATE CAP. 4

Figura 13. Diagrama tip reţea semantică a relaţiei 1:M

Diagrama ER corespunzătoare acestei relaţii este reprezentată în figura 1.16.

Figura 14. Diagrama ER a relaţiei 1:M

9
BAZE DE DATE CAP. 4

Relaţii mai mulţi la mai mulţi (M:N)

Considerăm relaţia Ziar Face Reclama Proprietate_de_Inchiriat cu reţeaua semantică din


figura 1.17.

Figura 15. Diagramă tip reţea semantică a relaţiei M:N

Din diagramă reiese gradul de cardinalitate al relaţiei de M:N atât d.p.d.v. al entităţii Ziar, cât
şi din cel al entităţii Proprietate_de_Inchiriat. Corespunzător regulilor de afaceri, într-un ziar
se poate face reclamă mai multor proprietăţi, şi unei proprietăţi i se poate face reclamă în mai
multe ziare.

Diagrama ER corespunzătoare este prezentată în figura 1.18.

Figura 16. Diagrama ER a relaţiei M:N

10
BAZE DE DATE CAP. 4

4.2.2 Constrângeri de participare

Constrângerile de participare determină dacă existenţa unei entităţi depinde de legătura sa


de altă entitate prin intermediul unei relaţii.

Există două tipuri de constrângeri de participare (a unei entităţi într-o relaţie):


- participare totală sau obligatorie (reprezentată printr-o linie dublă)
- participare parţială sau opţională (reprezentată printr-o linie simplă).

Participarea unei entităţi într-o relaţie este totală, dacă existenţa unei entităţi necesită (este
condiţionată de) existenţa altei entităţi prin intermediul unei anumite relaţii. Altfel
participarea este parţială.
Exemplu. În relaţia binară Filiala Este Alocat Personal (fig. 1.19) o filială poate exista,
evident, numai dacă are alocat personal. Deci existenţa entităţii Filiala este condiţionată de
existenţa entităţii Personal. Ca urmare entitatea Filiala va participa total (obligatoriu) în relaţia
Este Alocat, şi se va reprezenta cu linie dublă.

Conform regulilor de afaceri ale organizaţiei, pot însă exista membri de personal care nu sunt
alocaţi unei anumite filiale. Entitatea Personal va avea deci participare parţială (opţională) în
relaţia Este Alocat, şi se va reprezenta cu linie simplă

Figura 17. Constrângeri de participare

O reprezentare alternativă a constrângerilor de participare rezultă din fig. 1.20, unde pe liniile
de legătură sunt trecute valorile minimă şi maximă cu care pot participa entităţile în relaţie.
În cazul exemplului, o filială poate avea minim 5 şi maxim nedefinit (N) angajaţi. Un angajat
poate să nu fie alocat unei filiale (valoare minimă 0) sau să fie alocat unei filiale, şi numai
uneia (valoare maximă 1).

Figura 18. Constrângeri de participare, notaţie alternativă

11
BAZE DE DATE CAP. 4

4.3 Problemele modelului ER


În proiectarea unui model de date conceptual pot apărea aşa-numite capcane de conectare,
datorită interpretării eronate a sensului unei relaţii.

4.3.1 Capcane în evantai


Capcanele în evantai sunt acele capcane de conectare care într-un model ER reprezintă o
relaţie dintre tipuri de entităţi, dar căile dintre anumite apariţii ale entităţilor sunt ambigue.

Capcanele în evantai apar când două sau mai multe relaţii 1:M provin din aceeaşi entitate (fig.
1.21).
Din model nu rezultă la ce filială este alocat un anumit membru al personalului dintr-o secţie,
ştiind că o secţie coordonează mai multe filiale.
Examinăm modelul la nivel de apariţii individuale prin intermediul reţelei semantice (fig.
1.22).

Figura 19. Capcană în evantai

Se poate observa capcana în evantai: Angajatul SG37 este alocat secţiei S1, dar secţia S1
coordonând filialele B3 şi B7, nu se ştie la care dintre aceste două filiale este alocat SG 37.

Figura 20. Reţeaua semantică a modelului ER din fig. 1.21

12
BAZE DE DATE CAP. 4

Capcana se rezolvă prin restructurarea modelului ER, a.î. acesta să reprezinte corect asocierile
dintre entităţi (fig. 1.23).
Se observă care secţie coordonează care filiale, şi ce personal este alocat fiecărei filiale.

Figura 21. Model ER restructurat

Reţeaua semantică a modelului restructurat (corect) este cea din fig. 1.24.
Angajatul SG37 este alocat filialei B3, coordonată de secţia S1.

Figura 22. Reţeaua semantică a modelului ER din fig. 1.23.

13
BAZE DE DATE CAP. 4

4.3.2 Capcane de întrerupere

Capcanele de întrerupere sunt acele capcane de conectare în care un model sugerează


existenţa unei relaţii între tipurile de entităţi, dar nu există căi între anumite apariţii ale acestor
entităţi.
Capcanele de întrerupere apar când în calea prin care sunt legate entităţile intervine o entitate
cu participare parţială.

Exemplu. Din modelul din fig. 1.25 se observă următoarele:


Pe ramura din stânga:
- unei singure filiale îi sunt alocaţi mai mulţi angajaţi (relaţie 1:M)
- filiale există numai dacă are personal, fiecare membru al personalului este obligatoriu
alocat unei filiale (participări totale – linii duble de legătură).
Pe ramura din dreapta:
- Un angajat (membru al personalului) poate superviza mai multe proprietăţi, o
proprietate poate fi supravegheată de un membru al personalului (relaţie 1: M)
- Nu fiecare membru al personalului supraveghează obligatoriu proprietăţi şi nu toate
proprietăţile sunt supravegheate obligatoriu de un membru al personalului (participări
parţiale – linii simple de legătură).

Din modelul din fig. 1.25 nu se poate deduce ce proprietăţi sunt disponibile la care filiale.

Modelul ER sugerează existenţa unei relaţii între entităţile Filiala şi Proprietate_de_Inchiriat,


dar, aşa cum rezultă din reţeaua semantică asociată (fig. 1.26) nu există căi între anumite
apariţii ale entităţilor.

Figura 23. Capcană de întrerupere

14
BAZE DE DATE CAP. 4

Lipsa căilor între anumite apariţii ale entităţilor Filiala şi Proprietate_de_Inchiriat se observă
clar din reţeaua semantică din figura 1.26.
Nu se poate deduce la ce filială este disponibilă proprietatea PA14.

Figura 24. Reţeaua semantică a modelului ER din fig. 1.25.

Participarea parţială a entităţilor Personal şi Proprietate_de_Inchiriat în relaţia Supravegheaza


are ca efect faptul că unele proprietăţi nu pot fi asociate cu o filială prin intermediul unui
membru al personalului.

Pentru rezolvarea acestei capcane de întrerupere trebuie identificată relaţia care lipseşte.
Aceasta este relaţia Are dintre entităţile Filiala şi Proprietate_de_Inchiriat.
Se restructurează modelul ER, introducând relaţia nou identificată Are între entităţile între
care lipseau căile (fig. 1.27).

Figura 25. Model ER restructurat pentru eliminarea capcanei de întrerupere.


15
BAZE DE DATE CAP. 4

Acum la nivelul apariţiilor individuale, adică din reţeaua semantică, se poate stabili că
proprietatea PA14 este disponibilă la filiala B7 (fig. 1.28).

Figura 26. Reţeaua semantică a modelului ER restructurat din fig. 1.27.

16
BAZE DE DATE CAP. 4

Rezumatul capitolului 4

Un tip de entitate este un obiect sau un concept care este identificat de organizaţie ca având o
existenţă independentă. O entitate este o instanţă unic identificabilă a unui tip de entitate.
Un tip de entitate slabă este o entitate a cărei existenţă depinde de existenţa altor entităţi. O
entitate tare este o entitate a cărei existenţă nu este dependentă de existenţa altor entităţi.
Un atribut este o proprietate a uni tip de entitate sau relaţie.
Domeniul atributului reprezintă mulţimea de valori care pot fi atribuite acestuia.
Un atribut simplu este compus dintr-o singură componentă, cu existenţă independentă.
Un atribut compus este format din mai multe componente, fiecare cu existenţă independentă.
Un atribut cu o singură valoare conţine o singură valoare pentru o singură entitate.
Un atribut cu valori multiple deţine mai multe valori pentru o singură entitate.
Un atribut derivat are o valoare derivabilă dn valoarea altui atribut sau mulţimi de atribute,
care nu sunt neapărat ale aceleiaşi entităţi.
O cheie candidat este un atribut sau set de atribute care identifică în mod unic apariţiile
individuale ale unui tip de entitate.
O cheie primară este o cheie candidate aleasă pentru o entitate.
O cheie compusă este o cheie candidat care constă din două sau mai multe atribute.
Un tip de relaţie este un set de asociaţii, toate cu un acelaşi sens, între tipuri de entităţi.
O relaţie este o asociere între entităţi, această relaţie cuprinzând o entitate din fiecare tip de
entitate ce participă în relaţie.
Gradul unui tip de relaţie este numărul de entităţi participante în aceasta.
O relaţie recursivă conţine o aceeaşi entitate care participă de mai multe ori în relaţie, cu
roluri diferite. Numele de roluri sunt utilizate pentru determinarea funcţiilor fiecărei entităţi
participante într-o relaţie.
Raportul de cardinalitate descrie numărul de relaţii posibile pentru fiecare entitate
participantă.
Constrângerile de participare determină dacă existenţa unei entităţi depinde de legătura sa
cu o altă entitate, prin intermediul unei relaţii.
O capcană în evantai există acolo unde un model reprezintă o relaţie între tipuri de entităţi,
dar calea dintre anumite apariţii ale acestora este ambiguă.
O capcană de întrerupere există acolo unde modelul sugerează existenţa unei relaţii între
tipuri de entităţi, dar nu există o cale între anumite apariţii ale entităţilor.

Teste de autoevaluare
 Descrieţi conceptele de bază ale modelului ER, şi reprezentarea schematică a acestora.
 Descrieţi constrângerile ce pot fi impuse entităţilor participante într-o relaţie.
 Descrieţi problemele ce pot apărea în crearea unui model ER.

17

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