Sunteți pe pagina 1din 10

2.

MODELAREA DATELOR
Posibilitatea de a obine informaii utile dintr-o colecie de date (deci dintr-o baz de date) depinde
de modul de organizare i interpretare a datelor. Datele n sine nu constitue informaie, ci numai datele
mpreun cu regulile de organizare (structurare) a acestora permit interpretarea i utilizarea informaiilor
coninute de datele respective.
De exemplu, secvena de octei:
21 00 00 3A 00 00
ntr-un program imagine memorie nu are nici-o semnificaie dac nu se cunoate modul de codare a
instruciunilor main ale procesorului respectiv. Dac presupunem c secvena de mai sus face parte dintrun program pentru procesorul Z80, atunci secvena de octei este interpretat ca secven de insruciuni:
LD
HL,0
LDA
0
Un model de date este un instrument teoretic care permite structurarea i interpretarea corect a
datelor.
Un model de date ne permite deci s identificm semnificaia sau coninutul de informaie a unei
colecii de date. Pentru exemplul de mai sus, arhitectura procesorului (setul de instruciuni) este modelul
care permite interpretarea corect de ctre procesor a secvenei de instruciuni date.
Relund definiia bazelor de date, se poate specifica mai precis c o baz de date este o colecie de
date persistente, organizate conform unui anumit model de date.
2.1. Entiti i asocieri
Elementele eseniale ale modelelor de date folosite n proiectarea bazelor de date sunt entitile
(entities) i asocierile (relationships) dintre acestea.
O entitate este "orice poate fi identificat n mod distinctiv". O entitate se refer la un aspect al
realitii obiective, care poate fi deosebit de restul universului i poate reprezenta un obiect fizic, o
activitate, un concept, etc.
Orice entitate este descris prin atributele sale. Atributele prin care este descris o entitate se aleg
pe baza criteriului relevanei relativ la domeniul de interes pentru care se definete modelul respectiv, astfel
nct s asigure diferenierea precis a entitii respective fa de restul universului. De exemplu, entitatea
ANGAJAT (al unei instituii) reprezint o persoan angajat a instituiei, care are o anumit funcie,
lucreaz ntr-o anumit secie i primete un anumit salariu. Aceast entitate fi descris prin mai multe
atribute, dintre care o parte sunt atribute de identificare a persoanei (cum sunt: Nume, Prenume,
DataNasterii, Adresa), iar alte atribute sunt atribute legate de activitatea acesteia n instituia respectiv
(cum sunt: Funcia, Salariul).
n bazele de date entitile similare, care pot fi descrise prin aceleai atribute, se grupeaz n
mulimi, fiecare entitate avnd valori particulare ale atributelor respective. Toate entitile similare, care pot
fi descrise prin aceleai atribute, aparin unui acelai tip de entitate (entity type). Colecia tuturor entitilor
de acelai tip dintr-o baz de date constitue o mulime de entiti (entities set). O mulime de entiti se
descrie prin aceleai atribute prin care este descris fiecare entitate component.
n proiectarea bazelor de date de orice tip se folosesc asocieri (relationships) ntre mulimile de
entiti (datele) componente, pentru a modela realitatea pe care baza de date o reprezint. Asocierile pot fi
binare (ntre 2 mulimi de entiti) sau n-are (ntre n mulimi de entiti, n>2).
Asocierile binare sunt, la rndul lor, de trei categorii, dup numrul elementelor asociate din
fiecare dintre cele dou mulimi (Figura 2.1). Fiind date dou mulimi de entiti, E1 i E2, se definesc
urmtoarele asocierile binare:
Asocierea unu-la-unu (one-to-one) este asocierea n care unei entiti din mulimea E1 i
coreaspunde o singur entitate din mulimea E2, i reciproc; se noteaz cu 1:1.
Asocierea unu-la-multe (one-to-many) este asocierea n care unei entiti din mulimea E1
i coreaspund una sau mai multe entiti n mulimea E2, dar unei entiti din E2 i corespunde
o singur entitate n mulimea E1; se noteaz cu 1:N.

E1

Asocierea multe-la-multe (many-to-many) este asocierea n care unei entiti din mulimea
E1 i coreaspund una sau mai multe entiti n mulimea E2, i, de asemenea, unei entiti din
E2 i corespund una sau mai multe entiti n mulimea E1; se noteaz cu M:N.

(a) E2

E1

(b)

E2

E1

(c) E2

Figura 2.1. Tipuri de asocieri ntre dou mulimi de entiti.


(a) Asociere 1:1; (b) Asociere 1:N; (c) Asociere M:N.
Numrul de elemente dintr-o mulime de entiti care intervine ntr-o asociere se numete
cardinalitatea (sau multiplicitatea) asocierii fa de mulimea respectiv. De exemplu, asocierea 1:N dintre
mulimile E1 i E2 prezint multiplicitatea 1 fa de mulimea E1 i multiplicitatea N (se nelege o valoare
oarecare N > 1) fa de mulimea E2.
Asocierile n-are (ternare, quaternare, etc. ) prezint cte o valoare a multiplicitii pentru fiecare
din mulimile asociate.
Asocierile ntre mulimile de entiti sunt, n acelai timp asocieri ntre tipurile de entiti
corespunztoare.
2.2. Clasificarea modelelor de date folosite la proiectarea bazelor de date
La proiectarea bazelor se folosesc, de regul, dou modele de date. Punctul de plecare este un
model semantic a datelor, pe baza crui se dezvolt unui model de date specializat, cum ar fi modelul
ierarhic, modelul reea, modelul relaional, etc.
Modelul semantic este un model conceptual de nivel nalt, care exprim esena entitilor i a
asocierilor ntre acestea independent de sistemul de gestiune a bazelor de date care va fi folosit pentru
proiectarea i realizarea bazei de date respective. Modelul semantic se mai numete i modelul EntitateAsociere i este, de regul, folosit ca punct de plecare pentru obinerea unui model de date specializat, care
s corespund sistemului de gestiune care va fi folosit n realizarea bazei de date respective.
Modelele de date specializate impun anumite forme de reprezentare a entitilor i a asocierilor
dintre acestea, forme care corespund sistemului de gestiune a bazelor de date care va fi folosit pentru
realizarea bazei de date. Modelele de date specializate sunt:
Modelul ierarhic
Modelul reea
Modelul relaional
Modelul obiect
Modelul obiect-relaional
2.3. Modelul Entitate-Asociere (E/A)
Modelarea conceptual este o faz important n proiectarea unei aplicaii de baze de date.
Termenul aplicaie de baz de date se refer la o utilizare particular a unei baze de date. De exemplu, o
baz de date care contine informaii de personal al unei instituii i un program asociat care implementeaz
comenzile necesare pentru introducere, tergere, actualizare a datelor, precum i interogarile prin care un

utilizator (operator) obine informaiile dorite (drepturile salariale ale unui angajat, etc) reprezint o
aplicaie de baze de date.
Modelul Entitate-Asociere, introdus n 1976 de P.S. Chen, este un model conceptual de nivel nalt
al bazei de date, care conine mulimile de entiti i asocierile dintre ele, dar nu presupune nici un mod
specific de gestiune a datelor. Acest model este folosit pentru dezvoltarea unui model conceptual al bazei
de date (de tip ierarhic, reea, relaional sau orientat pe obiecte) corespunztor unui anumit sistem de
gestiune a datelor.
n proiectarea bazelor de date se consider dou categorii de entiti:
Entiti obinuite (puternice, normale, regular entities)
Entiti slabe (dependente, weak entities).
Entitile normale au o existen proprie n cadrul modelului, n timp ce entitile slabe nu pot
exista dect dac exist o entitate normal (puternic) cu care sunt asociate. De exemplu, entitatea
DEPENDENT poate s reprezinte o persoan care depinde de un angajat al unei instituii (adic se afl n
ntreinerea acestuia). Entitatea ANGAJAT este o entitate puternic, deoarece ea exist n mod mod normal
n modelul activitii instituiei, n timp ce o entitate DEPENDENT este o entitate slab: nu se va nregistra
o astfel de persoan dect dac printele acesteia este angajat n acea instituie.
2.3.1 Diagrama Entitate-Asociere
Modelul Entitate-Asociere se reprezint printr-o diagram, numit diagrama Entitate-Asociere,
care conine mulimile de entiti i asocierile dintre acestea. Exist numeroase variante de notaii pentru
redarea diagramei E-A. Una dintre cele mai folosite notaii reprezint un tip de entitate (precum i
mulimea de entiti de acel tip) printr-un dreptunghi, iar atributele tipului de entitate prin elipse conectate
(printr-o linie continu) ca aceasta. Pentru entitile puternice se utilizeaz un dreptunghi ncadrat cu o linie
simpl, iar pentru entitile slabe se utilizeaz un dreptunghi ncadrat cu linie dubl (Figura 2.2).
O asociere dintre dou sau mai multe mulimi de entiti se reprezint printr-un romb conectat prin
link-uri (linii continue, formate din unul sau mai multe segmente) la tipurile de entiti asociate. O asociere
poate s aib sau nu un nume; dac are un nume, acesta poate fi nscris n rombul respectiv sau n
vecintatea acestuia. Tipul asocierii se noteaz prin nscrierea multiplicitii pe fiecare link care conduce la
un tip de entitate. Este posibil ca o asociere s prezinte ea nsi atribute, i aceste atribute se reprezint prin
elipse conectate la asocierea respectiv.
Nume entitate

Tip de entitate puternic

Nume entitate

Tip de entitate slab

Atribut

Nume
atribut

E1

Asociere binar 1:N


ntre 2 tipuri de entitii

E2

Figura 2.2. Notaiile diagramei Entitate -Asociere

Exemplu de diagram E-A


Se exemplific dezvoltarea modelului conceptual de nivel nalt al unei baze de date a unei
instituii, definind cteva tipuri de entiti i asocierile ntre acestea.
Entiti puternice
Entitatea "secie" reprezint o unitate de organizare a instituiei. Tipul acestei entiti se
caracterizeaz prin mai multe atribute, de exemplu, un numr al seciei, numele seciei i bugetul alocat.
Mulimea de entiti care grupeaz toate entitile de acest tip se poate denumi SECIE sau SECII
(ambele variante pot fi folosite n egal msur de autori) i este caracterizat prin aceleai atribute care
caracterizeaz tipul entitilor componente.
SECTIE (Numr, Nume, Buget)
Entitatea "angajat" reprezint o persoan angajat n instituie, caracterizat prin mai multe
atribute, dintre care o parte sunt atribute de identificare a persoanei (cum sunt: Nume, Prenume,
DataNasterii, Adresa), iar alt parte sunt atribute legate de activitatea acesteia n instituia respectiv (cum
sunt: DataAngajrii, Funcia, Salariul):
ANGAJAT (Nume, Prenume, DataNaterii, Adresa, Funcia, Salariul).
Entitatea "proiect" reprezint o activitate a instituiei, care poate fi caracterizat prin numele
proiectului, data nceperii, termen de realizare, bugetul proiectului:
PROIECT (Nume, Termen, Buget).
Entiti slabe
Entitatea "dependent" reprezint o persoan care depinde de un angajat al instituiei (adic se afl
n ntreinerea acestuia). Entitatea "dependent" este o entitate slab: nu se va nregistra o astfel de persoan
dect dac ntreintorul acesteia este angajat n acea instituie. Tipul acestei entiti se poate defini astfel:
DEPENDENT (Nume, Varsta, GradRudenie)
Asocieri
Asocierea SECIE-ANGAJAT este o asociere 1:N, dac se consider c o secie este format din
mai muli angajai, iar un angajat aparine unei singure secii.
Asocierea ANGAJAT-PROIECT este o asociere M:N, dac se consider c la fiecare proiect
lucreaz mai muli angajai, i fiecare angajat lucreaz la mai multe proiecte.
Asocierea ANGAJAT-DEPENDENT este o asociere de tipul 1:N, deoarece un angajat poate avea
n mtreinere mai multe persoane (fii, parini, etc), iar o persoan dependent este n ntreinerea unui
singur susintor. Diagrama E-A a acestui mic model de baz de date este dat n Figura 2.3.
Tipul unei asocieri este stabilit astfel nct s reflecte ct mai corect modul de organizare al
activitii modelate. De exemplu, asocierea ANGAJAT-PROIECT este de tiplu M:N dac n instituia
respectiv se admite ca un angajat s lucreze concomitent la mai multe proiecte; dac s-ar impune ca un
angajat s lucreze la un singur proiect, atunci asocierea respectiv ar fi de tipul N:1.
Numr

Nume

Buget

Nume

Prenume

Salariul

Nume

Termen

Lucreaz la
SECTIE

ANGAJAT

PROIECT

Intreine

DataInceperii
N

DEPENDENT

Nume

Varsta

GradRudenie

Figura 2.3. Exemplu de diagram E-A

Durata

Buget

Sunt de remarcat cteva caracteristici generale ale modelului Entitate-Asociere.


a) n modelul E-A tipul de entitate (i mulimea de entiti corespunztoare) semnific un
substantiv, n timp ce o asociere semnific un verb. Bineneles, nu este obligatoriu ca numele dat unei
asocieri s fie un verb (i, de cele mai multe ori, nici nu este), dar o asociere reprezint o interaciune ntre
tipurile de entiti (i mulimile de entiti corespunztoare), care poate fi exprimat printr-un verb. De
exemplu, n diagrama E-A din Figura 2.3, asocierea ANGAJAT-DEPENDENT poate fi exprimat prin
verbul ntreine, asocierea ANGAJAT-PROIECT poate fi exprimat prin verbul Lucreaz la, etc.
b) Modul de stabilire a entitilor i a asocierilor dintre acestea nu este unic, aceeai
funcionalitate se poate obine printr-o varietate de diagrame E-A, depinznd de felul n care proiectantul
dezvolt modelul conceptual i, mai departe, realizeaz baza de date. Mai mult, grania dintre entiti i
asoicieri nu este, n general, una bine precizat. O asociere poate fi considerat i ca un tip de entitate. De
exemplu, pentru baza de date a unei faculti se definesc tipurile de entiti:
FACULTATE (Nume, Adresa, ..)
PROFESOR (Nume, Prenume, Funcia, )
STUDENT (Nume, Prenume, AnStudii, )
ntre aceste tipuri de entiti se pot defini asocierile: FACULTATE-PROFESOR, de tipul 1:N i
asocierea PROFESOR-STUDENT, de tipul M:N.
Asocierea PROFESOR-STUDENT reprezint (n general) examinarea studenilor de ctre
profesori, cu atributele acesteia: DataExaminrii, Disciplina, Nota. Dar, la fel de bine, este posibil ca
NOTA s fie definit ca un tip de entitate, aflat n asociere 1:N cu fiecare din tipurile de entiti
PROFESOR i STUDENT (Figura 2.4).
1

FACULTATE

FACULTATE

PROFESOR

PROFESOR

NOTA

(a)

STUDENT

STUDENT

(b)

Figura 2.4. Diferite moduri de definire a tipurilor de entiti i asocieri.


(a) Se definete o asociere de tip M:N ntre tipurile PROFESOR i STUDENT.
(b) Se definete tipul de entiti NOTA, asociat 1:N cu fiecare din tipurile PROFESOR i STUDENT.

d) Modelul E-A nu precizeaz modul cum sunt realizate asocierile ntre mulimile de entiti. Acest
aspect depinde de modelul de date specializat, utilizat pentru definirea modelului conceptual al bazei de
date. De exemplu, n modelele ierarhic i reea, asocierile sunt realizate explicit, prin link-uri (arce) de la o
entitate la entitile asociate, n timp ce n modelul relaional asocierea se realizeaz prin valorile unor
atribute comune ale mulimilor de entiti (chei).
2.3.2. Ierarhii de tipuri de entiti
Modelul E-A prezentat n capitolul precedent este suficient pentru modelarea aplicaiilor de baze
de date "tradiionale", adic bazele de date utilizate pentru activiti financiare i industriale. Dup anii
1970, domeniile n care se folosesc baze de date au devenit tot mai numeroase, ca de exmplu,
telecomunicaiile, proiectarea tehnologic, sistemele de informaii geografice, seviciul WWW, etc. Tipurile
de entiti definite n astfel de baze de date sunt mult mai complexe i pentru reprezentarea lor ct mai
intuitiv i mai compact au fost propuse numeroase concepte noi, iar modelul E-A a fost extins, pentru a
ngloba aceste noi concepte.
Tipuri-subtipuri. n modelul E-A extins se pot defini subtipuri de entiti, care reprezint
specializri ale unor tipuri de entiti, i se pot defini, de asemenea, ierarhii pe mai multe nivele de tipuri i

subtipuri de entiti. Este evident analogia dintre ierarhiile de tipuri de entiti din modelul E-A. i
ierarhiile de clase din modelul orientat pe obiecte.
Se pot folosi dou modaliti de definire a ierarhiilor de tipuri: specializarea i generalizarea.
Specializarea este un proces de abstractizare a datelor prin care, pornind de la un tip de entitate
dat, se definesc unul sau mai multe subtipuri, difereniate ntre ele n funcie de rolul pe care l au n
modelul de date.
De exemplu, de la tipul de entitate ANGAJAT se definesc subtipurile SECRETARA,
TEHNICIAN, INGINER. Acestea motenesc toate atributele tipului iniial i fiecare dintre ele are n plus
atribute suplimentare, specifice rolului lor. Din nou, se poate observa analogia cu motenirea i ierarhiile de
clase din modelul obiect, dar n modelul E-A ierarhia tipurilor se reprezint prin asocierea dintre tipul de
entitate iniial i subtipurile acestuia, pe unul sau mai multe nivele.
n Figura 2.5 este reprezentat diagrama E-A care definete tipul de entitate ANGAJAT i
subtipurile acestuia (SECRETARA, TEHNICIAN, INGINER), iar ierarhia tipurilor i a subtipurilor este
reprezentat prin asocierile dintre acestea.
Nume

Prenume

DataNasterii

Adresa

Salariul

ANGAJAT
1

SECRETARA

TEHNICIAN

INGINER

VitezaRedactare

GradCalificare

Specialitatea

Figura 2.5. Asocierea ntre mulimile de tipuri i subtipuri de entiti


Subtipul SECRETARA are ca atribut specific atributul "VitezaRedactare", care este o msur a
calificrii; subtipul TEHNICIAN are ca atribut specific atributul "GradCalificare", iar subtipul INGINER
are ca atribut specific atributul "Specialitatea"; acest din urm atribut poate lua diferite valori, ca de
exemplu: Electronist, Programator, Mecanica, etc.
Generalizarea este procesul de abstractizare invers specializrii, prin care se creaz un supertip de
entitate pornind de la mai multe tipuri de entiti. Pentru aceasta se identific atributele comune ale mai
multor tipuri de entiti i aceste atribute vor caracteriza un supertip de entitate, iar atributele care difer de
acestea rmn atribute specifice ale fiecrui tip.
De exemplu, dac au fost definite tipurile de entiti: AUTOMOBIL (Marca, VitezaMaxima, Pret,
NumarPasageri) i CAMION (Marca, VitezaMaxima, Pret, Tonaj), se poate defini un supertip al acestor
tipuri: VEHICUL (Marca, VitezaMaxima, Pret), care cuprinde toate atributele comune, iar tipurile
AUTOMOBIL i CAMION devin subtipuri ale tipului VEHICUL, fiecare coninnd atributele specifice
(NumrPasageri pentru tipul AUTOMOBIL i Tonaj pentru tipul CAMION).
Rezultatul obinut prin generalizare este, ca i n cazul specializrii, o ierarhie de tipuri i subtipuri
de entiti, iar asociearea dintre mulimile corespunztoare este tot o asociere 1:1. Ceea ce difer n
generalizare fa de specializare, este doar modul n care se definesc nivelele ierarhiei.
Asocierea dintre o mulime de entiti de un tip dat i mulimea de entiti de un subtip al acestuia
este o asociere 1:1, semnificnd faptul c o entitate care aparine unei mulimi de un subtip este asociat cu
o singur entitate din mulimea de entiti de baz i reciproc (Figura 2.6).

SECRETARA

ANGAJAT

s1

a1

s2

a2

TEHNICIAN

a3

t1
a4

t2

a5
INGINERI

t3

a6
i1

a7

i2
a8
i3

Figura 2.6. Corespondena ntre entiti n asocierea 1:1.


2.3.3. Reprezentarea diagramei E-A folosind limbajul UML
Pentru reprezentarea diagramei E-A au fost propuse numeroase variante de notaii i se poate
folosi chiar limbajul UML (Unified Modeling Language), dezvoltat n special pentru modelarea aplicaiilor
software n modelul obiect.
Diagrama claselor definit n limbajul UML este similar diagramei E-A, dei terminologia difer
n cteva aspecte. n Figura 2.7. este reprezentat schema conceptual UML a bazei de date a unei instituii,
corespunztoare diagramelor E-A din Figura 2.3. i Figura 2.5.

ANGAJAT
SECIE
Numr
Nume
Buget

1*

Nume
Prenume
DataNasterii
Adresa
Salariul

PROIECT
1*

1*

Nume
Prenume
DataNasterii
Adresa

1*
DEPENDENT
Nume
Varsta
GradRudenie

SECRETARA

TEHNICIAN

INGINER

VitezaRedactare

GradCalificare

Specialitatea

Figura 2.7. Schema conceptual UML a unei baze de date.

Corespondena dintre modelul E-A i modelul obiect este destul de evident. Un tip de entitate
din modelul E-A corespunde unei clase n modelul obiect, o entitate corespunde unui obiect, iar mulimea
de entiti de un tip dat corespunde tuturor instanierilor de obiecte din clasa respectiv.
n UML o clas se reprezint printr-un deptunghi cu trei compartimente: n primul compartiment
(cel mai de sus) este nscris numele clasei; n compartimentul urmtor sunt nscrise atributele clasei (care
sunt atributele pe care le prezint orice obiect instan a clasei), iar n ultimul compartiment sunt nscrise
metodele clasei, care reprezint operaiile care pot fi aplicate obiectelor. n UML se admit i notaii mai
puin detaliate, n care sunt reprezentate numai unul sau dou din compartimentele unei clase.
n reprezentarea UML a unei diagrame E-A, un tip de entitate se reprezint prin compartimentul de
nume i compartimentul de atribute; metodele nu sunt specifice diagramelor E-A.
Asocierile (relationships) ntre tipurile de entiti din diagramele E-A sunt numite (tot) asocieri
(associations) n UML i se reprezint prin link-uri (legturi) ntre clase.
O asociere binar de tipul 1:N sau M:N ntre dou tipuri de entiti din modelul E-A corespunde
unei asocieri binare de acelai tip n modelul obiect, reprezentat printr-un link ntre cele dou tipuri de
entiti. Link-ul este marcat cu numele (opional) al asocierii i prin multiplicitatea fiecrui tip de entitate n
cadrul asocierii, marcat la captul corespunztor al link-ului, cu o singur valoare (de exemplu 1) sau n
forma (minmax); un asterix (*) nseamn nici-o limit superioar a participarii n asociere.
n UML, o asociere n care o entitate este pus n coresponden cu entiti care sunt pri
constituente ale acesteia se numete agregare (aggregation), deci agregarea este corespondena ntre
"ntreg" i prile acestuia. O agregare se reprezint printr-un link de asociere marcat cu un indicator de
agregare, un romb plasat la captul link-ului din vecintatea tipului de entitate care reprezint "ntregul". n
modelul obiect i n limbajul UML agregrile sunt intens utilizate, dar n diagramele E-A agregarea se
utilizeaz numai pentru asocierea unui tip de entitate slab cu tipul de entitate puternic de care depinde.
Ierarhiile de tipuri din diagrama E-A, reprezentate prin asocieri de tipul 1:1, corespund ierarhiilor
de clase (motenirilor) din modelul obiect, care se reprezint n UML printr-un link cu o sgeat
direcionat ctre superclas.
Proiectul conceptual de nivel nalt al unei baze de date (diagrama E-A) poate fi dezvoltat
independent de un SGBD anume, ca un proiect pe hrtie sau dezvoltat pe baza unor instrumente software
de proiectare vizual. De obicei ns, SGBD-urile (n special SGBD-urile relaionale) pun la dispoziie
instrumente mai mult sau mai puin "prietenoase" de proiectare a bazelor de date, n care se poate dezvolta
proiectul conceptual. De exemplu, Access ofer o interfa vizual de proiectare a relaiilor
(corespunztoare tipurilor de entiti) i a asocierilor dintre acestea. La fel, SQL Server permite proiectarea
vizual a relaiilor, iar Oracle Developer 2000 adaug faciliti grafice de proiectare pentru SGBD Oracle.
n Access, relaiile i asocierile sunt reprezentate n "diagrama de asocieri" (Relationships), care
este corespondentul relaional al diagramei Entitate-Asociere. n aceast diagram relaiile se reprezint
asemntor tipurilor de entiti n notaie UML, printr-un dreptunghi cu dou compartimente,
compartimentul de nume i compartimentul de atribute. Dat fiind c n modelul relaional singurele asocieri
posibile ntre relaii sunt asocierile binare de tip 1:1 sau 1:N, diagrama de asociere mai conine, n afar de
relaii, doar link-uri de asociere marcate cu 1 (la captul dinspre relaia cu multiplcitate 1) i cu (la
captul dinspre relaia cu multiplicitate > 1). Diagrame de asociere asemntoare se pot dezvolta i in SQL
Server i Oracle Developer.
2.4. Modele de date specializate
La proiectarea unei bazei de date se stabilete schema conceptual a acesteia, conform modelului
specializat de date ales, prin dou seturi de reguli:
Un set de reguli de structurare a datelor, care exprim proprietile statice ale modelului. n
SGBD, aceste reguli sunt exprimate prin limbajul de definire a datelor (LDD).
Un set de reguli de manipualare (operaii) a datelor, care reprezint proprietile dinamice
ale modelului. n SGBD, aceste reguli sunt exprimate prin limbajul de manipulare a datelor
(LMD). Prin operaiile prevzute n LMD nu se poate modifica organizarea datelor, ci numai
valori particulare ale acestora.

n continuare se vor prezenta pe scurt primele (din punct de vedere istoric) modele de date
specializate: modelul ierarhic i modelul reea. Modelul relaional va fi studiat n majoritarea cursului, iar
modelele post-relaionale (modelul obiect i modelul obiect-relaional) vor fi analizate ulterior prin
comparaie cu modelul relaional. Prezentarea modelului ierarhic i a modelului reea se face mai cu seam
pentru a nelege ulterior ce a adus nou modelul relaional, care este de departe modelul cel mai folosit n
realizarea bazelor de date n momentul de fa.
2.4.1. Modelul de date ierarhic
Modelul de date ierarhic a fost primul model folosit pentru proiectarea bazelor de date. Cea mai
cunoscut realizare de SGBD ierarhic este sistemul IMS (Information Management System) dezvoltat de
firma IBM n cadrul programului de cercetri Apollo. Dei acest model este depit, se mai pstreaz unele
aplicaii de baze de date n model ierarhic.
Modelul conceptual al unei baze de date ierarhice se definete printr-un arbore direcionat, compus
din mai multe nivele, n care sunt reprezentate tipurile de entiti i asocierile dintre acestea. Tipurile de
entiti constitue nodurile arborelui, iar asocierile dintre tipurile de entiti sunt reprezentate prin arce ntre
noduri. Fiecare nod (cu excepia nodurilor frunz) are unul sau mai multe arce ctre noduri de pe nivelul
imediat inferior (ctre nodurile fii) i fiecare nod (cu excepia nodurlui rdcin) are un singur arc ctre un
nod de pe un nivel superior (nodul parinte). n Figura 2.8(a) este prezentat arborele de definiie
corespunztor diagramei E-A din Figura 2.4(a).
FACULTATE
f1

FACULTATE

f2

f3

PROFESOR

PROFESOR
p1

p2

p3

STUDENT

STUDENT
s1

s2

(a)

s1

s3

s2

s3

(b)
Figura 2.8. Baz de date ierarhic
(a) Arborele de definiie al bazei de date ierarhice. (b) Asocierea ntre entiti.

Asocierile 1:1 i 1:N se reprezint simplu ntr-o astfel se structur: o entitate (dintr-un nod aflat pe
un anumit nivel al arborelui) se poate asocia prin link-uri cu una sau mai multe entiti de pe nivelul
imediat inferior. Entitile sunt reprezentate prin nregistrri, iar link-urile care realizeaz asocierile sunt
vectori de adrese (pointeri) ctre entitile fii, memorai explicit n entitatea printe.
Asocierile M:N sunt mult mai greu de reprezentat, datorit structurii de definire de tip arbore i se
realizeaz prin multiplicarea entitilor din nodurile fii atunci cnd sunt referite de mai multe entiti din
nodul parinte, ceea ce conduce la o mare redundan a datelor memorate. n figura 2.7(b) este prezentat un
exemplu de asocieri ntre entiti.
n modelul ierarhic nu se pot rezolva dect acele interogri pentru care au fost prevzute n mod
explicit asocieri prin arcele arborelui. n plus, n modelul ierarhic apare o puternic asimetrie n rezolvarea
interogrilor. De exemplu, la interogarea Care sunt studenii care studiaz cu profesorul p1? rspunsul se
obine relativ uor, prin explorarea subarborelui corespunztor entitii p1. n schimb, interogarea Care
sunt profesorii care predau studentului s1, se rezolv mult mai greu. Este necesar explorarea subarborilor
tuturor profesorilor i reinerea acelora care au n subarbore entitatea s1. Cele dou interogri sunt
echivalente la nivelul semantic, dar au o complexitate de rezolvare diferit, datorat asimetriei de
reprezentare a entitilor i a asocierilor.

Avantajele modelul ierarhic sunt simplitatea i eficiena de calcul, dar acestea nu sunt suficiente
pentru ca acest model s mai fie utilizat, n condiiile existenei altor modele mult mai performante.
2.4.2. Modelul de date reea
Aprut dup modelul ierarhic, modelul de date reea de structurare a bazelor de date a fost
standardizat n 1971, de o comisie DBTG (Database Task Group).
Modelul reea folosete o structur de graf pentru definirea tipurilor de entiti i a asocierilor ntre
acestea. La fel ca i n modelul ierarhic, nodurile grafului reprezint tipurile de entiti, iar muchiile
grafului reprezint n mod explicit asocierile dintre tipurile de entiti.
Deosebirea fa de modelul ierarhic const n aceea c asocierile M:N se reprezint fr duplicarea
entitilor, fiecare entitate putnd fi adresat de mai multe entiti. n acest fel redundana datelor este
redus, iar interogrile devin simetrice.
La fel ca i la modelul ierarhic, dezavantajul principal al modelului reea este acela c fiecare
interogare trebuie s fie prevzut nc din faza de proiectare, prin introducerea link-urilor necesare n
graful de reprezentare. n plus, complexitatea reprezentrii datelor n modelul reea este deosebit de
ridicat, iar programatorul trebuie s o cunoasc pentru a putea realiza aplicaiile necesare.
n momentul de fa nu se mai utilizeaz modelul de date reea pentru baze de date de uz general
(baze de date care suport interogri), dar mai exist unele domenii n care structurarea ca graf a datelor
permite o parcurgere eficient. Un exemplu reprezentativ de baze de date cu structura reea sunt bazele de
date grafice, folosite n modelarea scenelor tridimensionale din realitatea virtual.

10