Documente Academic
Documente Profesional
Documente Cultură
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.
2
BAZE DE DATE CAP. 4
Î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
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ă
4
BAZE DE DATE CAP. 4
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.
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
Raport de cardinalitate al unei relaţii: Descrie numărul de relaţii posibile pentru fiecare
entitate participantă.
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.
8
BAZE DE DATE CAP. 4
9
BAZE DE DATE CAP. 4
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.
10
BAZE DE DATE CAP. 4
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ă
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).
11
BAZE DE DATE CAP. 4
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).
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.
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.
Reţeaua semantică a modelului restructurat (corect) este cea din fig. 1.24.
Angajatul SG37 este alocat filialei B3, coordonată de secţia S1.
13
BAZE DE DATE CAP. 4
Din modelul din fig. 1.25 nu se poate deduce ce proprietăţi sunt disponibile la care filiale.
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.
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).
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).
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