Documente Academic
Documente Profesional
Documente Cultură
DIAGRAMA ENTITATE-
ASOCIERE (E-A)
Asocierea reprezintă legătura sau corespondenţa existentă între două sau mai
multe entităţi, în care fiecare joacă un anumit rol.
Rolul unei entităţi este un nume care desemnează modul de participare a
entităţii la o asociere. Identificarea asocierilor se realizează prin rolurile entităţilor
participante, deci, concret, cu ajutorul identificatorilor entităţilor participante.
Tipul asocierii reprezintă ansamblul legăturilor sau a corespondenţelor cu
aceeaşi semnificaţie, dintre două sau mai multe tipuri de entităţi.
Tipurile de entităţi (mulţimea entităţilor) care participă la un tip de asociere
formează colecţia acesteia. Numărul de tipuri de entităţi care participă la un tip de
asociere formează gradul sau dimensiunea asocierii.
Din punct de vedere al gradului unei asocieri, distingem:
§ unară (reflexivă sau ciclică) – 1 entitate;
§ binară – 2 entitati;
§ ternară – 3 entitati;
§ complexă – 4 sau mai multe entitati.
Spre deosebire de entităţi, asocierile nu au existenţă de sine stătătoare, acestea depinzând de
existenţa entităţilor pe care le leagă. Existenţa unei asocieri poate fi mai scurtă decât a
entităţilor participante.
O asociere poate avea atribute proprii.
Pentru identificarea asocierilor, trebuie sa tinem cont de urmatoarele reguli:
§ o asociere nu poate exista decât o singură dată între aceleaşi entităti;
§ numele entităţilor, corespondenţelor, rolurilor, atributelor trebuie să fie unice
în cadrul modelului conceptual, iar apoi, în baza de date definită.
1
asociere reprezintă o interacţiune între tipurile de entităţi (şi mulţimile de entităţi
corespunzătoare), care poate fi exprimată printr-un verb.
Figura 6.1.
Un exemplu tipic de asociere unară sau reflexivă sau ciclică, este asocierea stabilită
intre realizările aceleiasi entitati: ANGAJAT (vezi Figura 6.2.). In acest caz, entitatea
ANGAJAT joacă dublu rol: „este condus” si „conduce”.
Figura 6.2.
In Figura 6.3. este prezentata schema unei asocieri binare. Rolul entitatii FACTURA
este de document emis, iar cel al entitatii FURNIZOR este de emitent.
Figura 6.3.
2
Figura 6.4.
3
Figura 6.5. - Tipuri de asocieri între două mulţimi de entităţi
(a) Asociere 1:1; (b) Asociere 1:N; (c) Asociere M:N.
4
Pentru fiecare grup de valori, respectiv (0, N) si (1,1), vom alege cardinalitatile maxime,
obtinand astfel valoarea (1,N).
In acest mod, am identificat cardinalitatea asocierii de tipul 1 la N sau unu la multi,
reprezentata astfel:
Să ne reamintim...
In acest caz, am identificat cardinalitatea asocierii de tipul 1 la N sau unu la multi (one-
to-many).
Deci, in acest caz, am aplicat regula de modelare pentru o asociere de tipul unu la multi,
enuntata astfel:
Modelarea unei asocieri de tipul unu la multi se realizeaza astfel: identificatorul entitatii
cu cardinalitate 1 (în cazul nostru CLIENT) se adaugă entităţii cu cardinalitate N (în cazul
nostru FACTURA), devenind atribut de legatura (cheie externa). Deci, CodClient se
adaugă la entitatea FACTURA.
5
Pentru entitatea Articol_papetărie (se consideră o realizare a entităţii):
Un articol de papetarie cu codul 65 poate fi cuprins in minim 0 facturi (se poate
întampla ca un anumit produs să nu mai fie comandat de clienţi) sau se poate factura de
mai multe ori, adica se poate regăsi în maxim N facturi. Se notează, langă entitatea
Factura, astfel:
6
Pentru fiecare grup de valori, respectiv (1, N) si (0,N), alegem cardinalităţile maxime,
obţinând valoarea (N,N). Deci, am identificat cardinalitatea asocierii de tipul N la N sau
mulţi la mulţi, reprezentată astfel:
Înainte de modelare:
Dupa modelare:
7
S-a introdus entitatea ConţinutFactura care are un identificator compus din identificatorii
celor 2 entităţi, respectiv CodArticol si NrFactură, DataFactură. Aceasta entitate a preluat
si atributele multivaloare de la entitatea Factura, respectiv, Cantitate si Preţ.
Să ne reamintim...
Modelarea unei asocieri de tipul unu la multi se realizeaza astfel: identificatorul entitatii
cu cardinalitate 1 se adaugă entităţii cu cardinalitate N, devenind atribut de legatura (cheie
externa).
6.4 Rezumat
• O asociere reprezintă o expresie a modului în care una sau mai multe entitati
interactionează între ele, sau cu ele însele.
• Cardinalitatea reprezintă numarul minim, respectiv maxim, de realizari al
entitatilor implicate într-o asociere.
• Modelarea unei asocieri de tipul one-to-many se realizeaza astfel: identificatorul
entitatii cu cardinalitate 1 se adaugă entităţii cu cardinalitate N, devenind atribut
de legatura (cheie externa).
• Modelarea unei asocieri de tipul many-to-many se realizează astfel: între cele
două entităţi se introduce, în mod artificial, o noua entitate care are, ca atribute de
pornire, identificatorii celor doua entităţi implicate iniţial în asociere.
8
CLIENT trimite COMANDA
a) 1:1;
b) 1:N;
c) M:N.
a) 1:1;
b) 1:N;
c) M:N.
a) 1:1;
b) 1:N;
c) M:N.
4. Se consideră entităţile din figura de mai jos. Entitatea CLIENT are ca identificator
CodClient, iar entitatea AGENŢIE are ca identificator CodAgenţie. În urma
modelării asocierii se obţine:
se înregistrează
CLIENT AGENŢIE
9
a) CodClient se adaugă entităţii AGENŢIE;
b) CodAgenţie se adaugă entităţii CLIENT;
c) Rezultă o nouă entitate care are ca identificator atributele CodClient şi
CodAgenţie.
Răspunsuri:
1. b
2. c
3. b
4. a
5. b
6.6 Bibliografie
10