Sunteți pe pagina 1din 10

CURS 2.

Construirea de diagrame entitate-relaie


Prima etap pentru realizarea unei baze de date const n analiza
sistemului. Se cunosc mai multe tehnici de analiz, dar cea mai des ntlnit este
tehnica entitate-relaie.
Prin tehnica entiate-relaie (denumit i entitate-asociere) se construiete o
diagram entiate-relaie (notat E-R) prin parcurgerea urmtorilor pai:
a) identificarea entitilor (componentelor) din sistemul proiectului;
b) identificarea asocierilor (relaiilor) dintre entiti i calificarea lor;
c) identificarea atributelor corespunztoare entitilor;
d) stabilirea atributelor de identificare a entitilor.
a) Identificarea entitilor
Prin entitate se nelege un obiect concret sau abstract reprezentat prin
proprietile sale. Prin convenie, entitile sunt substantive, se scriu cu litere mari i
se reprezint prin dreptunghiuri. ntr-o diagram nu pot exista dou entiti cu acelai
nume, sau o aceeai entitate cu nume diferite.
Pentru baza de date din domeniul imobiliar considerat anterior, se pot pune
n eviden urmtoarele entiti:
DATE_PERSOAN entitate care stocheaz date personale ale ofertantului
(vnztorului) sau ale clientului (cumprtorului);
CERERI_ OFERTE conine ofertele sau cererile imobiliare propuse de
vnztori, respectiv cumprtori;
DESCRIERE_IMOBIL stocheaz informaiile referitoare la imobile;
JUDEE entitate ce conine judeele n care sunt amplasate imobilele;
LOCALITI - entitate ce conine localitile n care sunt amplasate
imobilele;
STRZI - entitate ce precizeaz strzile n care sunt amplasate imobilele;
FACTURI formularul necesar unei tranzacii de cumprare-vnzare.
Figura urmtoare prezint o prim form a diagramei entitate-asociere (E-R).
DATE_ PERSOANA

CERERI_ OFERTE

FACTURI
LOCALITATI
JUDETE

DESCRIERE_IMOBIL
STRAZI

Fig. 2.1. Diagrama E-R pentru domeniul imobiliar (prima form)


b) Identificarea asocierilor dintre entiti i calificarea lor
ntre majoritatea componentelor (adic a entitilor) unui sistem economic se
stabilesc legturi (asocieri).

Exemplu: Exist o asociere ntre entitile CERERI_OFERTE i FACTURI deoarece


facturile reprezint finalizarea unei cereri/oferte. Aceast asociere se reprezint ca n
figura de mai jos.
CERERI_OFERTE

(1,1)

sunt finalizate
prin

(0,1)

FACTURI

Fig. 2.2. Prezentarea asocierii dintre entitile CERERI_OFERTE i FACTURI


Sunt necesare precizarea ctorva notaii i noiuni utilizate n exemplul de mai
sus:
-

legturile (asocierile) se reprezint prin arce neorientate ntre entiti;


fiecrei legturi i se acord un nume plasat la mijlocul arcului i simbolizat
printr-un romb (semnificaia legturii);
numerele simbolizate deasupra arcelor se numesc cardinaliti i reprezint
tipul legturii;
cardinalitatea asocierilor exprim numrul minim i maxim de realizri ale
unei entiti cu cealalt entitate asociat.
Exemplu: Cardinalitatea (1,1) ataat entitii CERERI_OFERTA nseamn c o
factur poate fi rezultatul tranzacionrii a minim unei cereri/oferte i a unui numr
maxim de tot o cerere/ofert. Cardinalitatea (0,1) ataat entitii FACTURI
nseamn c o cerere se poate finaliza prin maxim o factur sau prin nici una (0
facturi) . Aceast cardinalitate reiese din analiz:
CERERI_OFERTE
1
2
3

FACTURI
F1
F2

Fig. 2.3. Determinarea cardinalitii asocierii dintre entitile


CERERI_OFERTE i FACTURI
Maximele unei cardinaliti sunt cunoscute i sub denumirea de grad de
asociere, iar minimele unei cardinaliti, obligativitatea participrii entitilor la
asociere.
Tipuri de asocieri (legturi) ntre entiti

Asocierile pot fi de mai multe feluri, iar odat cu asocierea, se impune stabilirea
calificrii acesteia. Asocierea dintre entiti se face n funcie de:
i)
cardinalitatea asocierii;
ii)
numrul de entiti distincte care particip la asociere.
i. Dup cardinalitatea asocierii
n funcie de maxima cardinalitii (gradul de asociere), se cunosc trei tipuri de
asocieri, care, la rndul lor, sunt de dou tipuri, n funcie de minima cardinalitii
(gradul de obligativitate al participrii la asociere):
asocieri de tip unu la unu:
o asocieri pariale de tip unu la unu
o asocieri totale de tip unu la unu

asocieri de tip unu la mai muli:


o asocieri pariale de tip unu la muli
o asocieri totale de tip unu la muli
asocieri de tip muli la muli:
o asocieri pariale de tip muli la muli
o asocieri totale de tip muli la muli.
ii. Dup numrul de entiti distincte care particip la asociere:
asocieri binare (ntre dou entiti distincte);
asocieri recursive (asocieri ale entitilor cu ele nsele);
asocieri complexe (ntre mai mult de dou entiti distincte).
n continuare se descriu asocierile grupate dup cardinalitatea lor.
Asocieri n funcie de cardinalitatea legturii

Asocieri de tip unu la unu sunt asocieri n care maximele cardinalitii au


valoarea 1.
E1

(...,1)

E2

(...,1)

Fig. 2.4. Asociere de tip unu la unu


Exemplu: Asocierea din figura 2.3 este asociere de tip 1 la 1.
Asocieri de tip unu la mai muli sunt asocieri n care maxima cardinalitii
unei entiti este unu, iar a celeilalte entiti are valoarea muli.

E1

(...,1)

(...,n)

E2

(...,n)

E1

(...,1)

E2

Fig. 2.5. Asociere de tipul unu la mai muli


Exemplu:
A

LOCALITATI
L1
L2
L3

LOCALITATI

(1,1)

CERERI_OFERTE

1
2
3

(0,n)
i corespunde

CERERI_OFERTE

Fig. 2.6. Asociere de unu la mai muli ntre entitile LOCALITI i


CERERI_OFERTE

Asocieri de tipul muli la muli sunt asocieri n care maximele cardinalitii au


valoarea muli.
E1

(...,n)

E2

(...,n)

Fig. 2.7. Asociere de tipul muli la muli


Exemplu:
DEPOZIT

PRODUS

D1
D2
D3

P1
P2
P3

(0,n)

DEPOZIT

(0,n)
nmagazi
neaz

PRODUS

Fig. 2.8. Asociere de tipul muli la muli ntre entitile DEPOZIT


i PRODUS
Observaie: Uneori (n cazul utilizrii unor SGBD), asocierea de tip muli la
muli se transform n dou asocieri de tipul unul la muli fiind, de regul, mai uor
de implementat i de utilizat i anume:
Din

E1

(...,n)

(...,n)

E2

E1

(...,1)

A1

(...,n)

a)

(...,n)

A2

(...,1)

E2

b)

Fig. 2.9. Transformarea unei asocieri de tipul muli la muli (a) n asocieri de tipul unu
la muli (b)
Exemplu: n cazul exemplului de mai sus (vezi figura 2.8), transformarea asocierii
muli la muli n asocieri de tipul unu la muli se poate realiza prin construirea unei
noi entiti DEPOZIT_PRODUS astfel:

DEPOZIT
D1
D2
D3
D4
....

(1,1)

asociaz

(0,n)

DEPOZIT_
PRODUS
D1-P1
D1-P3
D2-P2
D3-P2
....

(0,n)

(1,1)

asociaz

PRODUS
P1
P2
P3
P4
...

Fig. 2.10. Transformarea asocierii de tipul muli la muli n asocieri de tipul unu la
muli

Asocieri pariale i totale


Printr-o asociere parial se nelege o asociere n care nu exist
obligativitatea participrii la aceast asociere a tuturor entitilor vizate, ci numai a
unora dintre ele sau a nici uneia. Asocierea parial se caracterizeaz prin faptul c
minima cardinalitii ataat unei entiti este zero.
Observaii (asupra minimii cardinalitii)
minima cardinalitii zero, are drept rezultat lipsa obligativitii participrii
partenerului la aceast asociere;
minima cardinalitii mai mare dect zero, are drept rezultat obligativitatea
participrii.
E1

(0,)

(,)

E2

E1

(,)

a)

(0,)

E2

b)

Fig. 2.11 Asocieri pariale ntre entitile E1 i E2


Exemplu: Asocierea dintre entitile CERERI_OFERTE i FACTURI din fig. 2.3
reprezint o asociere parial, deoarece participarea entitii FACTURI nu este
obligatorie, minima caracteristicii corespunztoare entitii FACTURI fiind 0.
O asociere este total dac toate entitile au obligativitatea s participe la
asociere, adic minima cardinalitii este mai mare dect zero.
E1

(1,)

(1,)

E2

a)

E1

(1,)

(n,)

E2

E1

(n,)

b)

E1

(n,)

(1,)

E2

c)
(n,)

E2

d)

Fig. 2.12 Asocieri totale ntre entitile E1 i E2


n continuare se dau cteva exemple de asocieri totale, respectiv pariale.
Exemplu: Asocieri pariale de tip unu la unu
CERERI_OFERTE
1
2
3

FACTURI
F1
F2

Exemplu: Asocieri totale de tip unu la unu


CERERI_OFERTE
1
2
3

DESCRIERE_IMOBIL

I1
I2
I3

Exemplu: Asocieri pariale de tip unu la muli


LOCALITATI
L1
L2
L3

CERERI_OFERTE

1
2
3

Exemplu: Asocieri totale de tip unu la muli


CLASE
C1
C2
C3

ELEVI
E1
E2
E3
E4

Exemplu: Asocieri pariale de tip muli la muli


DEPOZIT

PRODUS

D1
D2
D3
D4

P1
P2
P3

Exemplu: Asocieri totale de tip muli la muli


CURSURI

STUDENTI

C1
C2
C3

S1
S2
S3
S4

Fig. 2.13 Asocieri dup gradul i obiectivitatea lor

n exemplul bazei de date AGENTIE_IMOBILIARA, tipurile de asocieri dintre


entiti stabilite n funcie de modul n care se desfoar activitatea modelat sunt:
JUDETE-LOCALITATI 1:n deoarece unui jude i corespund mai
multe localiti;
LOCALITATI-STRAZI 1:n - deoarece unei localiti i corespund mai
multe strzi;
STRAZI-CERERI_OFERTE 1:n deoarece unei strzi i pot
corespunde mai multe oferte/cereri;
FACTURI-CERERI_OFERTE 1:1 deoarece fiecare factur conine
doar cte o ofert/cerere;
CERERI_OFERTE-DESCRIERE_IMOBIL 1:1 fiecrui imobil i se face
o singur descriere;
FACTURI- DATE_PERSOANA 1:1 o factur este ncheiat de o
singur persoan;
DATE_PERSOANA - CERERI_OFERTE 1:n o persoan poate lansa
mai multe cereri sau oferte de imobil.
c) Identificarea atributelor entitilor i a asocierilor dintre entiti
Atributele unei entiti reprezint proprieti ale acestora. Atributele sunt
substantive, iar pentru fiecare atribut i se va preciza tipul fizic (integer, float, char,
string etc.)
Exemplu: Entitatea LOCALITI are urmtoarele atribute: codul localitii, notat
cod_loc, simbolul de identificare al judeului simbol_jude i denumirea localitii
nume_loc.
d) Stabilirea atributelor de identificare a entitilor
Un atribut de identificare (numit cheie primar), reprezint un atribut care se
caracterizeaz prin unicitatea valorii sale pentru fiecare instan a entitii.
n cadrul diagramei entitate-asociere, un atribut de identificare se marcheaz
prin subliniere sau prin marcarea cu simbolul # plasat la sfritul numelui acestuia.
a

E
(a)

a#

E
(b)

Fig. 2.14. Notaii uzuale pentru atributele de identificare


Exemplu: Ca atribut de identificare putem considera codul numeric personal cnp
pentru entitatea DATE_PERSOAN.
Pentru ca un atribut s fie atribut de identificare, acesta trebuie s satisfac
unele cerine:
ofer o identificare unic n cadrul entitii;
este uor de utilizat;
este scurt (de cele mai multe ori, atributul de identificare apare i n alte
entiti, drept cheie extern).
Pentru o entitate pot exista mai multe atribute de identificare, numite atribute
(chei) candidate. Dac exist mai muli candidai cheie, se va selecta unul,
preferndu-se acela cu valori mai scurte i mai puin volatile.

Exemplu: n urma analizrii celor 4 etape necesare construirii diagramei entitateasociere:


identificarea entitilor domeniului sau a sistemului economic;
identificarea asocierilor dintre entiti;
identificarea atributelor aferente entitilor i a asocierilor dintre acestea;
stabilirea atributelor de identificare a entitilor,
se poate prezenta forma complet a diagramei asociate domeniului ales n exemplu.
STRAZI

(0,n)

(1,1)
are asociat

(0,n)

LOCALITATI

(1,1)
are asociat

JUDETE

(1,1)
se regsete
(1,n)

(1,n) conin
CERERI_ OFERTE

(1,1)

(1,1)

DATE_PERSOANA
(1,1)
incheie
(0,1)

(1,1)
finisate (0,1)

FACTURI

conin
(1,1)

DESCRIERE _IMOBIL

Fig. 2.15. Diagrama E-R pentru domeniul imobiliar (a doua form)


n cazul n care se dorete o diagram care s conin i atributele fiecrei
entiti nsoite de precizarea atributelor de identificare (adic a cheilor primare),
pentru a nu ncrca imaginea, diagrama proiectului se poate fragmenta pe mici
domenii, dup cum este cazul entitii CERERI_OFERTE, prezentat n figura 2.16.
(S-au considerat un numr relativ mic de atribute).

id_co#
tipul
cnp
data_inreg

CERERI_OFERTE

cod_loc
id_strada
nr_imobil
pret_min
pret_max
tip_solutionare

Fig. 2.16. Reprezentarea atributelor aferente entitii CERERI_OFERTE (detaliu


dintr-o diagram E-R)
n reprezentarea atributelor aferente entitii CERERI_OFERTE semnificaia
atributelor este urmtoarea: cheia primar a entitii id_co reprezint numrul de
ordine al cererii sau ofertei de imobil lansat de o anumit persoan, atributul tipul
specific dac este vorba de o cerere sau de o ofert, prin cnp se precizeaz codul
numeric personal al clientului, data_inreg reprezint data la care s-a nregistrat
oferta/cererea, apoi urmeaz cteva date legate de imobil: codul localitii cod loc,
codul strzii id_strada, numrul imobilului nr_imobil, preul minim, respectiv preul
maxim al imobilului pret_min, pret_max. Ultimul atribut, tip_solutionare
precizeaz dac cererea/oferta respectiv a fost soluionat; pentru o cerere/oferta
nou introdus, acest atribut se va completa cu explicaia de nesoluionat.
Astfel, diagrama bazei de date AGENIE IMOBILIAR conine 7 entiti a
cror asociere a fost prezentat n figura 2.15.
DATE_PERSOANA
cnp#
numele
adresa
nr_telefon
email
banca_client
nr_cont_client
FACTURI
id_oferta#
data_factura
cnp
pret
TVA
total

STRZI
id_strada#
cod_loc#
nume_str

CERERI-OFERTE
id_co #
tip
cnp
data_inreg
tip_solutionare
cod_loc
id_strada
nr_imobil
pret_min
pret_max

LOCALITATI
cod_loc#
simbol_judet#
nume_loc

JUDETE
simbol_judet#
nume_judet

DESCRIERE_IMOB IL
id_co#
tip_imobil
etaj
nr_camere
suprafata
garaj
centrala_termica
termopane

Fig. 2.17. Baza de date AGENIE IMOBILIAR- entiti i atribute

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