Sunteți pe pagina 1din 28

Modelul conceptual

al unei baze de date


Diagrama entitate-relaie

Proiectarea judicioas a unui model al BD poate fi realizat


prin diagrama entitate-relaie. Aceast diagram
reprezint un mod de descriere a unui sistem sau proces
din lumea real. Diagrama ER utilizeaz o descriere
grafic pentru dou categorii de evenimente:
- entiti
- legturi (asocieri ntre entiti)
Entitate =persoan,loc,activitate sau eveniment care este
semnificativ pentru modelul realizat.
O entitate din cadrul modelului trebuie s se conformeze
regulilor urmtoare:
- numele entitii trebuie s fie un substantiv comun
sugestiv, care s permit o prim descriere a entitii
- nu pot exista dou entiti cu acelai nume sau o entitate
cu dou nume diferite

pentru fiecare entitate se va da o descriere complet a


atributelor sale (semnificaia,domeniul de valori)
- entitatea va avea obligatoriu un atribut sau o combinaie
de atribute care s poat fi cheie primar (s identifice
n mod unic fiecare instan a entitii). Cheia primar
trebuie s fie stabil, simpl i fr ambiguiti, familiar
utilizatorilor BD.
Diagrama ER utilizeaz o descriere grafic a entitilor,
folosind urmtoarele convenii:
- descrierea entitii se face ntr-un dreptunghi
- numele entitii este scris pe prima linie cu litere mari
- atributele sunt scrise cu litere mici pe liniile urmtoare
-

Atribut =proprietate descriptiv a unei entiti, caracteristic a unei


entiti.
Numele unui atribut este un substantiv care descrie cu exactitate o
caracteristic a entitii i exprim o nsuire calitativ sau
cantitativ a entitii.
Un atribut trebuie s aib o singur valoare, de un anumit tip. Exist
atribute a cror valoare este obligatorie pentru a descrie corect i
complet o entitate. Aceste atribute se numesc obligatorii, n timp
ce atributele a cror valoare poate lipsi se numesc opionale.
Reprezentarea atributelor n diagrama ER se face dup urmtoarele
reguli:
- atributele sunt scrise cu litere mici, fiecare pe cte o linie
- atributele care sunt chei primare sunt precedate de caracterul #
- atributele obligatorii sunt precedate de caracterul *
- atributele opionale sunt precedate de caracterul

Exemplu
ELEV
# cnp
* nume
* prenume
* data naterii
* coala de provenien
email

CLASA
# cod clas
* denumire
* profil
* specializare
descriere

Atributul email al entitii ELEV i atributul descriere al


entitii CLASA sunt opionale, deoarece nu reprezint o
caracteristic esenial a entitilor respective. Spre
exemplu, un elev poate s nu aib adres de email. n
acest caz, spunem c valoarea atributului email poate fi
valoarea NULL.
NULL = constant predefinit care semnific o valoare
nedefinit sau inaplicabil.
Relaie =asociere, mod de comunicare, interdependen
stabilit (de obicei) ntre dou entiti.
Relaia reprezint un raport care exist ntre entiti i este
exprimat prin utilizarea unor verbe care s descrie cu
exactitate interdependena dintre acestea. Pot exista mai
multe relaii cu acelai nume, dar ntre entiti diferite.

Diagrama ER reprezint relaiile printr-o linie care unete


cele dou entiti, la fiecare din cele dou capete
scriindu-se numele relaiei. Numele relaiei este format
dintr-un cuvnt sau grup de cuvinte care conin
obligatoriu un verb i exprim modul n care entitatea din
acea parte a legturii este asociat cu entitatea din
cealalt parte a relaiei.
S identificm o relaie ntre entitile ELEV i CLASA.
Evident, fiecare clas poate conine un numr oarecare
de elevi i fiecare elev trebuie s aparin unei clase.
Astfel relaia dintre entitile ELEV i CLASA poate fi
exprimat prin urmtoarele dou enunuri:
I. Fiecare CLAS poate conine 0 sau mai muli ELEVI.
II. Fiecare ELEV trebuie s aparin unei singure CLASE.

Cuvintele poate i trebuie exprim opionalitatea relaiei,


iar cuvintele scrise italic exprim cardinalitatea sau
gradul relaiei.
Cardinalitatea relaiei =proprietate a celor dou pri ale
unei relaii dintre entitile A i B, care exprim cte
instane ale entitii A sunt asociate cu instanele entitii
B i reciproc.
Opionalitatea relaiei =proprietate a celor dou pri ale
unei relaii dintre entitile A i B, care exprim cte
dintre instanele entitii A pot sau trebuie s se
asocieze instanelor entitii B i reciproc.
Pe baza enunurilor I i II putem deduce cardinalitatea
relaiei dintre entitile ELEV i CLASA : many-to-one
(mai muli-la unu sau n:1).

ELEV

CLASA
aparine

conine

S considerm entitile SALARIAT i DEPARTAMENT


identificate n cadrul modelului de gestiune a datelor unei
firme oarecare, i relaia urmtoare:
SALARIAT

conduce

este condus

DEPARTAMENT

ncercm s determinm opionalitatea i cardinalitatea prin


enunurile:
Fiecare SALARIAT poate conduce 0 sau un singur
DEPARTAMENT.
Fiecare DEPARTAMENT trebuie condus de un unic
SALARIAT.

Relaia dintre cele dou entiti are cardinalitatea one-toone (unu-la-unu sau 1:1). Opionalitatea relaiei este
exprimat prin:
- nu este obligatoriu ca fiecare salariat s fie eful unui
departament, dar acest lucru este posibil
- un departament trebuie s aib ef, dar acesta este unic
S considerm entitile CONCURENT i PROBA, care
intervin n gestionarea datelor unui concurs atletic.
CONCURENT

particip la

este susinut

PROBA

Fiecare CONCURENT poate participa la una sau mai


multe PROBE.
Fiecare PROB poate fi susinut de 0 sau mai muli
CONCURENI.

Relaia dintre cele dou entiti are cardinalitatea many-tomany (mai muli-la mai muli sau n:m).
n privina opionalitii relaiei putem face urmtoarele
aprecieri:
- un concurent nu este obligat s participe la mai multe
probe, dar poate face acest lucru
- proba poate reuni mai muli concureni sau exist
posibilitatea ca niciun concurent s nu participe la acea
prob
Reprezentarea grafic a unei relaii stabilite ntre dou
entiti A i B se va realiza dup regulile:
- entitile sunt reprezentate printr-un dreptunghi care
conine numele entitii i, eventual descrierea atributelor
entitii

relaia va fi reprezentat printr-o linie ce unete cele


dou entiti
- de fiecare parte (stng i dreapt) a liniei ce reprezint
relaia, se va nota cu litere mici numele relaiei
- opionalitatea relaiei va fi reprezentat, pe fiecare latur
a relaiei, prin linie punctat (poate fi) sau continu
(trebuie)
- - cardinalitatea relaiei este reprezentat de partea
terminal a liniei din fiecare parte a relaiei; dac avem
cardinalitate n pe o latur a relaiei, atunci linia se va
despri n trei linii (sub form de trident)
Relum exemplele anterioare, reprezentndu-le conform
regulilor enunate:
-

SALARIAT

ELEV

CONCURENT

DEPART.
conduce

aparine

este condus

conine

CLASA

PROBA
particip la

este susinut

Pentru a citi i reprezenta corect relaia dintre dou entiti


procedm astfel:
Pas 1. fiecare entitate A
Pas 2. poate/trebuie (opionalitatea)
Pas 3. nume relaie
Pas 4. unul i numai unul/mai multe (cardinalitatea)
Pas 5. entitate B
Regula de mai sus se aplic pentru ambele pri ale
relaiei. Pentru exemplele considerate anterior avem:
Pas 1. fiecare SALARIAT
Pas 2. poate
Pas 3. conduce
Pas 4. unul i numai unul
Pas 5. DEPARTAMENT

Pas 1. fiecare DEPARTAMENT


Pas 2. trebuie
Pas 3. condus de
Pas 4. unul i numai unul (un unic)
Pas 5. SALARIAT

Studiu de caz. Gestiunea datelor


dintr-o bibliotec
Ne propunem s realizm modelul conceptual al unei
probleme concrete de gestiune a datelor.
Vom identifica entitile care apar i atributele acestora,
vom defini relaiile ntre entiti i vom construi diagrama
ER.
Pas 1. Deoarece raiunea existenei unei biblioteci este
chiar manipularea crilor, ncepem construcia modelului
cu entitatea CARTE.

CARTE
# cota
* titlu
* autor
* editura
* an apariie
* disponibil
observaii

Pas 2. Fiecare carte este ncadrat de ctre criticii literari


ntr-un anumit curent literar sau ntr-un anume gen literar.
Putem defini entitatea GEN care este utilizat n clasificarea
crilor din bibliotec.

GEN
# IDgen

Pas 3. Stabilim relaia


dintre cele dou entiti,
CARTE i GEN:

* denumire
observaii

CARTE

GEN
clasificat

clasific

Fiecare CARTE trebuie clasificat printr-un unic GEN.


Fiecare GEN poate clasifica una sau mai multe CRI.

Pas 4. Crile, clasificate sau nu, trebuie mprumutate


elevilor sau profesorilor din coal, deci este nevoie de o
nou entitate: ABONAT
ABONAT
# cnp
* nume
* prenume
* adresa

ABONAT

Pas 5. Identificm relaiile care se


pot stabili ntre entitile ABONAT i
entitile existente, CARTE i GEN.

CARTE
mprumut

mprumutat

Relaia este de tipul many-to-many, deoarece:


Fiecare ABONAT poate mprumuta una sau mai multe CRI.
Fiecare CARTE poate fi mprumutat de unul sau mai muli
ABONAI.

Pas 6. S presupunem
c biblioteca dorete s
pun la dispoziia
publicului date
referitoare la autorii
crilor. Vom defini o
nou entitate, AUTOR:

AUTOR
# IDautor
* nume
* prenume
* data naterii
data decesului
* locul naterii
* naionalitatea

Pas 7. Stabilim relaiile dintre AUTOR i celelalte entiti.


Abonaii bibliotecii ar dori s afle informaii despre
autorul unei cri, prin urmare definim o asociere ntre
entitile CARTE i AUTOR.
AUTOR

scrie

scris

CARTE

Relaia este many-to-many deoarece:


Fiecare AUTOR poate scrie una sau mai multe CRI.
Fiecare CARTE trebuie scris de unul sau mai muli AUTORI.

Pas 8. Bazndu-ne pe entitile i relaiile identificate la


paii anteriori, desenm diagrama ER.

AUTOR
scrie

este scris
CARTE
este
mprumutat

mprumut
ABONAT

GEN
este
clasificat

clasific

Rezolvarea relaiilor many-to-many


Etapele urmtoare ale procesului de modelare constau n
rafinarea pas cu pas a modelului iniial, viznd mbuntirea
acestuia. n practica procesului de proiectare a modelului
conceptual nu sunt acceptabile relaiile many-to-many care
apar deseori ntre entiti. Primul pas ctre rafinarea
modelului const n eliminarea relaiilor many-to-many i
nlocuirea lor cu relaii one-to-many. Pentru a vedea de ce
este necesar s eliminm relaiile many-to-many, s
analizm relaia stabilit ntre entitile AUTOR i CARTE.

AUTOR

scrie

scris

Sunt posibile dou situaii:


-Dac dorim s memorm, pentru fiecare carte, doar
numele autorului, fr s oferim i alte detalii legate de
acesta, atunci existena entitii AUTOR nu mai are
sens, problema rezolvndu-se prin definirea atributului
autor n cadrul entitii CARTE i eliminarea entitii
AUTOR
- Dac dorim s oferim abonailor informaii despre
autorii crilor din bibliotec sau s permitem cutarea
crilor scrise de un autor precizat, atunci relaia manyto-many nu poate fi evitat.

Necesitatea eliminrii relaiilor n:m este dat de gradul


mare de ambiguitate generat de acestea. Relaia n:m va fi
nlocuit n cadrul modelului prin dou relaii 1:n, stabilite
ntre entitile iniiale i o a treia entitate, nou introdus,
numit entitate de legtur sau entitate de intersecie.
nlocuirea unei relaii n:m existente ntre entitile A i B se
va realiza astfel:
- Se introduce o nou entitate C, avnd cheia primar
format din cheile primare ale celor dou entiti, plus
alte atribute suplimentare
- Relaia dintre A i C este de tipul 1:n
- Relaia dintre B i C este de tipul 1:n
- Aceste relaii 1:n dintre entitile iniiale i entitatea de
intersecie C se reprezint grafic prin adugarea unei
bare orizontale la captul dinspre entitatea C

EVIDEN AUTORI
descriere

CARTE

AUTOR
#IDautor

#cota

*nume

*titlu

*prenume

*autor

*data naterii

*editura

data decesului

ataat
la

ataat
la

*an apariie

*locul naterii

*disponibil

*naionalitate

observaii

Entitatea de intersecie EVIDEN AUTORI introdus n


exemplul anterior, constituie n fapt un fel de jurnal,care are
ca instane perechi AUTOR-CARTE, pstrnd astfel
asocierea dintre fiecare autor i crile pe care le-a scris,
singur sau mpreun cu ali autori. Instanele entitii de
intersecie nu rein dect cheile primare din cele dou entiti,
pentru identificarea caracteristicilor crilor i autorilor i,
eventual, cteva atribute suplimentare ce descriu asocierea
respectiv. Nu este permis mutarea anumitor atribute din
entitile AUTOR i CARTE n entitatea EVIDEN AUTORI,
deoarece modelul va deveni redundant.
Modelul nou obinut pentru gestiunea unei biblioteci este:

AUTOR
EVIDEN

ataat

AUTORI
ataat
CARTE
ataat

clasificat

EVIDEN
MPRUMUT
ataat
ABONAT

GEN
clasific

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