Sunteți pe pagina 1din 7

BAZE DE DATE

CURS nr. 6

2. Modele si arhitecturi de date


2.1. Modele de date: reea, ierarhice, relaionale, obiectuale, hibrid
naintea construirii unei baze de date este necesar elaborarea unui model de date utilizat pentru
reprezentarea datelor. Un astfel de model se dovedete a fi de mare ajutor la nelegerea datelor i la
luarea celor mai bune decizii de proiectare n cadrul modelului fizic.
Un model este o abstractizare i o structur ce simbolizeaz toate caracteristicile entitilor eseniale
ce prezint interes pentru utilizator, o reprezentare i o reflectare a lumii reale (Universul
Discursului).
Un model de date reprezint o colecie integrat de concepte necesare descrierii datelor, relaiilor
dintre ele, precum i a constrngerilor asupra datelor (Connolly .a. 1998). Modelul de date este
utilizat la descrierea schemei bazei de date, definind structura datelor, legturile dintre acestea,
semantica lor, precum i constrngerile impuse, dei nu este obligatoriu ca ntotdeauna acestea s
fie regsite n orice model de date. Pe scurt, un model de date este utilizat pentru a reprezenta date
despre date.
Modelele de date ofer nelegerea descriptiv necesar definirii schemelor logice i externe i sunt
utile descrierii formale a schemei bazei de date.
Schema logic a unei baze de date reprezint o descriere abstract a unei poriuni din realitatea
modelat mpreun cu instanele bazei de date.
Un model de date este alctuit din trei elemente de baz:
- entiti;
- atribute;
- relaii.
O entitate reprezint un obiect sau concept din lumea real, cum ar fi de exemplu un student sau un
curs descris n cadrul bazei de date.
Un atribut reprezint acele caracteristici ce descriu aspecte sau condiii ale unei entiti, cum ar fi
de exemplu numele studentului sau situaia acestuia.
Relaia stabilit ntre dou sau mai multe entiti reprezint o interaciune ntre acele entiti, cum
ar fi de exemplu asocierea dintre un student i cursul pe care l urmeaz.
Aa cum artau Elmasri i Navathe, modelele de date ajut la nelegerea datelor asociate logic.
2.1.1. Istoricul bazelor de date
n continuare se vor prezenta cteva dintre cele mai importante evenimente petrecute pe parcursul
dezvoltrii bazelor de date.
- n anul 1961 Charles Bachman proiecteaz Integrated Data Store (IDS) predecesorul
modelului reea.
- Spre sfritul anilor 60, IBM creeaz Information Management System: IMS bazat pe
modelul ierarhic.
- Spre sfritul anilor 60, grupul CODASYL (Committee for Data System Languages) definete
/standardizeaz modelul reea.
- n 1969 Edgar Codd cercettor la firma IBM construiete modelul relaional.
- n ani 70 apar SEQUEL (SQL), QBE; QUEL, System R (DB2), Ingres.
- n anul 1976, Peter Chen construiete modelul Entitate-Relaie.

BAZE DE DATE

CURS nr. 6

n anii 80 apar sistemele de gestiune a bazelor de date printre care: DB2, Oracle, Sybase,
Informix, DBase, Paradox.
- n anul 1986 a fost definit primul standard SQL.
- ntre anii 1990 i 2000 apar concepte precum OODB, ORDB (Postgres), Data Warehouse,
OLAP, Data Mining, GIS, Mobile DB, Multimedia DB, Web DB, XML DB.
Inabilitatea bazelor de date de a lucra eficient n cadrul fiierelor obinuite cu date ce implic
utilizarea grupurilor repetitive de date a condus la dezvoltarea unei mari varieti de structuri de
baze de date, numite de obicei i modele de baze de date.
2.1.2. Funciile modelelor
Funciile modelelor sunt:
1. Reprezint obiecte, evenimente precum i asocierile dintre acestea.
2. Reprezint aspecte eseniale i inerente, ignornd proprietile accidentale.
3. Au n vedere ansamblul entitilor, atributelor i relaiilor dintre acestea.
4. Asigur regulile de baz i relaiile ce permit proiectanilor i utilizatorilor s comunice corect,
fr ambiguiti.
Un model de date este alctuit din urmtoarele componente:
1. Partea structural ce reprezint un set de reguli ce fundamenteaz baza de date.
2. Partea de manipulare ce definete tipurile de operaii ce se pot efectua n baza de date:
- operaii utilizate pentru actualizarea sau regsirea datelor;
- operaii utilizate pentru modificarea structurii bazei de date.
3. Set de reguli de integritate ce garanteaz faptul c datele sunt corecte.
Exist trei modele de baze de date:
1. Modelul de date extern utilizat pentru a reprezenta vederea fiecrui utilizator, care mai este
cunoscut i sub denumirea de Univers al Discursului. Acest model este reprezentat prin
modelele de date bazate pe nregistrri.
2. Modelul de date conceptual care reprezint vederea logic independent de sistemul de gestiune
al bazelor de date ales i reprezentat prin modelele de date bazate pe obiecte.
3. Modelul de date intern utilizat pentru ca schema conceptual s poat fi neleas de ctre
sistemul de gestiune al bazei de date i reprezentat prin modelele de date fizice.
Fiecare model de date are propria reprezentare a datelor, dar ntotdeauna un model este alctuit
dintr-o intensie i o extensie.
Extensia unei relaii se refer la setul curent de nregistrri pe care l conine. Acest set de
nregistrri nu rmne acelai tot timpul existenei bazei de date, suferind diverse modificri, pe
msura introducerii, actualizrii sau tergerii de date.
Partea cu caracter permanent n cadrul unei baze de date o reprezint intensia sa sau schema bazei
de date. Intensia bazei de date descrie structura tuplurilor unei relaii. Operaiile limbajului de
manipulare a datelor pot fi efectuate numai n condiiile n care se cunoate aceast structur.
Cu alte cuvinte intensia unei baze de date reprezint tipurile de entiti, fiind considerat a fi
modelul conceptual al bazei de date, pe cnd extensia reprezint instanierile tipurilor de nregistrri
corespunztoare tipurilor de entiti precum i legturile dintre acestea.

BAZE DE DATE

CURS nr. 6

2.1.3. Modele de date bazate pe nregistrri


Astfel de modele descriu datele la nivel conceptual. Spre deosebire de modelele orientate pe
obiecte, acestea sunt folosite cu scopul de a specifica structura logic general a bazei de date i de
a oferi un nivel ridicat al descrierii implementrii. Modelele sunt denumite n acest fel deoarece
baza de date este alctuit din nregistrri de acelai tip. Fiecare tip de nregistrare are un numr fix
de cmpuri, fiecare cmp avnd, de obicei, o lungime fix, ceea ce duce la simplificarea
reprezentrii. Aceste modele nu ofer un mecanism de reprezentare direct a codului din baza de
date. Pentru a efectua interogri i actualizri asupra bazei de date se folosesc o serie de limbaje
individuale separate asociate modelului. Din aceast categorie de modele fac parte:
- modelul de date ierarhic;
- modelul de date reea;
- modelul de date relaional.
Astzi, datorit dezvoltrii fr precedent a Internetului, din ce n ce mai mult, se impune un alt tip
de model, modelul de date semi-structurat, n format XML.

Modelul ierarhic
Din punct de vedere istoric, acesta a fost primul model de date ce a fundamentat un sistem de
gestiune al bazelor de date i a fost dezvoltat de ctre firma IBM pentru produsul su IMS care
utiliza limbajul DL/1.
Modelul ierarhic lucreaz cu grupuri repetitive prin utilizarea unei structuri de date ce se bazeaz pe
parcurgerea de sus n jos a unui arbore: datele aflate n nregistrrile primare reprezint ramurile
arborelui, n timp ce datele ce formeaz grupurile repetitive reprezint frunzele acestuia.
Avantajul modelului ierarhic este acela c metodele folosite la regsirea nregistrrilor asociate din
baza de date sunt mai simple dect cele folosite n modelul reea.
Intensia modelului de date ierarhic este reprezentat cu ajutorul unui arbore de definiie ce
reprezint o diagram a structurii de date n care sensul legturilor funcionale este ntotdeauna de la
nodul printe ctre nodul copil. O astfel de diagram este un graf orientat alctuit cu scopul
reprezentrii tipurilor de entiti i a relaiilor dintre acestea. Nodurile grafului corespund tipurilor
de entiti, iar arcele grafului reprezint legturile funcionale dintre tipurile de entiti.
Extensia modelului de date ierarhic se reprezint sub forma unui tabel n care fiecare linie a
tabelului este o nregistrare ce corespunde unei instanieri a tipului de entitate. n tabele sunt
permise duplicatele i, prin urmare, pot exista dou instanieri identice ale aceluiai tip de entitate.
Un singur tabel din baza de date are rolul de rdcin a arborelui n timp ce restul tabelelor
formeaz mulimea prinilor i copiilor arborelui.
Rdcina

Printe

Printe
Copil

Copil

Copil

Figura 2.1. Modelul ierahic


O relaie ntr-o baz de date ierarhic este reprezentat prin intermediul perechii printe/copil. n
acest tip de relaie, tabelul printe poate fi asociat cu unul sau mai multe tabele copil, dar un singur

BAZE DE DATE

CURS nr. 6

tabel copil poate fi asociat doar cu un singur tabel printe. Aceste tabele sunt asociate n mod
explicit cu ajutorul unor pointeri sau pe baza unui aranjament fizic al nregistrrilor n tabele.
Utilizatorul acceseaz datele pornind din rdcina arborelui i parcurge un anumit drum unic pn
ajunge la datele cutate. O astfel de metod de acces cere utilizatorului o foarte bun cunoatere a
structurii bazei de date.
Un avantaj al utilizrii bazelor de date ierarhice este acela c utilizatorul poate extrage datele foarte
rapid datorit legturilor explicite definite n structura tabelelor. Un alt avantaj este acela c
integritatea referenial se obine prin crearea structurii i nu poate fi nclcat, ceea ce face ca o
nregistrare din tabelul copil s fie obligatoriu asociat unei nregistrri existente n tabelul printe,
iar o nregistrare tears din tabelul printe s impun eliminarea tuturor nregistrrilor asociate din
tabelul copil.
Probleme deosebite vor apare n momentul n care utilizatorul dorete s introduc o nregistrare n
tabelul copil care nu are asocieri cu nici o nregistrare din tabelul printe. Acest tip de baz de date
nu poate suporta asocierile complexe i, de aceea, deseori sunt probleme referitoare la redundana
datelor, deoarece este posibil s-i fie permis introducerea de date inconsistente. Aceast problem
poate fi ns rezolvat prin crearea a dou baze de date pentru a nlocui tipurile de relaii muli-lamuli, aa cum se prezint n figura de mai jos:

Relaie logic
copil
Baza de date 2

Baza de date 1

Figura 2.2. Rezolvarea relaiilor muli-la-muli


Dei bazele de date ierarhice ofereau un acces direct i rapid la date, dovedindu-i superioritatea
ntr-o multitudine de situaii specifice, devenise evident c era necesar introducerea unui nou
model de date pentru a remedia problemele tot mai presante referitoare la redundana datelor i la
rezolvarea asocierilor complexe dintre nregistrri.

Modelul reea
Modelul reea a fost creat, n special, ca o ncercare de a rezolva unele dintre problemele modelului
ierarhic.
Nod proprietar
1
Set structura
M
Nod membru
Figura 2.3. Modelul reea
Aa cum se poate observa din figura 2.3., structura unei baze de date de tip reea se poate reprezenta
cu ajutorul conceptelor de noduri i seturi. Un nod reprezint o colecie de nregistrri, n timp ce un
set stabilete i reprezint relaiile din cadrul unei bazei de date de tip reea. O astfel de construcie

BAZE DE DATE

CURS nr. 6

transparent relaioneaz o pereche de noduri prin utilizarea unuia dintre ele sub denumirea de
proprietar, iar a celuilalt sub denumirea de membru.
Structura de tip set este o construcie ce stabilete i reprezint o relaie din cadrul bazei de date
reea (reprezint o mbuntire remarcabil fa de relaia printe/copil). O astfel de structur
suport o relaie de unu-la-muli, ceea ce nseamn faptul c o nregistrare din nodul proprietar
poate fi relaionat cu una sau mai multe nregistrri aparintoare nodului membru, dar unei
singure nregistrri din nodul membru i este asociat o singur nregistrare din nodul proprietar.
Mai mult dect att, o nregistrare aparintoare nodului membru nu poate exista fr s fie asociat
unei nregistrri existente n nodul proprietar.
ntre o pereche de noduri se pot defini unul sau mai multe seturi, iar un singur nod poate fi implicat
n seturi cu alte noduri din baza de date. Utilizatorul poate accesa date din cadrul unei baze de date
de tip reea prin cea mai potrivit structur de seturi. Spre deosebire de bazele de date ierarhice, n
care accesul trebuie s nceap cu nodul rdcin, n bazele de date de tip reea utilizatorul poate
accesa datele indiferent de nod pe baza structurilor de tip set.
CODASYL a dezvoltat limbajul Common Business-Oriented Language (COBOL) pentru a scrie
aplicaii ce folosesc datele din bazele de date de tip reea. Cu toate dezavantajele pe care le are,
modelul de baze de date propus de CODASYL mai are i astzi o larg rspndire n ntreaga lume.
Bazele de date CODASYL folosesc n locul termenului de tabel, termenul de tip de nregistrare, dar
caracteristicile acestuia nu difer cu nimic fa de cele ale unui tabel. Tipurile de nregistrri conin
pointeri la nregistrrile provenite din alte tipuri de nregistrri. Un pointer este o valoare ce
specific locaia unei nregistrri ntr-un fiier sau n memorie. De exemplu, nregistrarea ce conine
date referitoare la un student, conine un pointer la o not a acestuia, care n replic va conine un
pointer la o alt not ce aparine acelui student, .a.m.d. Termenul generic utilizat la descrierea
tipurilor de nregistrri bazate pe pointeri este lista de legtur. Pointerii asociaz nregistrrile ntro structur organizat, numit reea.
Bazele de date de tip reea au performane excelente n cazul regsirii seturilor de nregistrri ce
aparin unui anumit obiect, deoarece relaiile dintre nregistrri (pointeri) reprezint parte
constitutiv a bazei de date. n acelai timp, se permite utilizatorilor crearea de interogri mult mai
complexe dect cele ce se pot elabora prin intermediul bazelor de date ierarhice, dar viteza bazelor
de date de tip reea scade atunci cnd se dorete cutarea nregistrrilor pe baza unor criterii
specificate. Principalul dezavantaj al acestui tip de baze de date este legat de faptul c utilizatorul
este obligat s cunoasc foarte bine structura bazei de date pentru a se putea descurca cu structurile
de seturi. Totodat, aplicaiile ce lucreaz cu astfel de baze de date (n principal programele
COBOL) trebuie s actualizeze att valorile datelor ct i pointerii nregistrrilor ce se adaug, terg
sau se modific. Necesitatea actualizrii secveniale att a datelor ct i a pointerilor duce la
creterea complexitii proceselor n care sunt implicate tranzacii.
Un alt dezavantaj este acela c nu este uoar modificarea structurii bazei de date fr a afecta
programele aplicaie care lucreaz cu aceasta. Deoarece, aa cum s-a artat, o relaie este definit n
mod explicit sub forma unei structuri de tip set, aceasta nu poate fi modificat fr a afecta
programele aplicaie ce folosesc aceast structur la cutarea datelor. Dac se modific o astfel de
structur, trebuie modificate n mod corespunztor toate asocierile acesteia definite n programele
aplicaie.
Intensia modelului de baze de date de tip reea este un graf cu arce numerotate pentru a indica
drumul ce trebuie parcurs, deoarece un tip de entitate copil poate fi conectat la mai multe tipuri de
entiti printe sau la acelai tip de entitate printe prin mai multe arce.
Extensia acestui model este un tabel ce permite introducerea de nregistrri duplicat, dar
nregistrrile pot fi ordonate.

BAZE DE DATE

CURS nr. 6

Modelul relaional
Acesta este cel mai folosit model de date folosit astzi n ntreaga lume, fiind un model de tip
entitate-relaie bazat pe elaborarea unui model conceptual. Modelul relaional al unei baze de date
permite extinderea bazelor de date la nivelul calculatoarelor personale nemaifiind obligatorie
utilizarea echipamentelor costisitoare cerute de minicalculatoare sau de calculatoarele de tip
mainfraime.
Modelul a fost dezvoltat de ctre Dr. E. F. Codd de la San Jose Research Laboratories ce aparineau
firmei IBM n anul 1970. Cele mai importante caracteristici ale modelului relaional sunt
simplitatea, suportul teoretic solid, precum i cele trei elemente componente de baz.
Un astfel de model este simplu deoarece el poate fi descris cu ajutorul unui numr mic de concepte
care se refer la relaii (structuri de date bidimensionale ce au proprieti speciale), rnduri (datele
aflate n cadrul relaiilor), coloane (cmpurile datelor din rndurile corespunztoare) i chei
(mecanismul de identificare i asociere a rndurilor aflate n unul sau mai multe tabele).
Modelul relaional are un suport teoretic foarte solid deoarece se bazeaz pe teoria matematic a
seturilor, ceea ce nseamn faptul c toate operaiile sunt ncheiate cu succes, iar rezultatele
operaiilor sunt predictibile.
Cele trei componente ale modelului relaional sunt:
a. componenta de structur a datelor (relaii cu proprieti speciale);
b. componenta de manipulare a datelor (operaii predefinite prin care tehnologia relaional
folosete un optimizator inteligent pentru a gsi calea de acces la date);
c. componenta de integritate a datelor (reguli necesare proteciei datelor la efectuarea unor operaii
incorecte).
Principalul avantaj al modelului relaional este acela c nu este necesar utilizarea att a pointerilor
ct i a datelor n cadrul tabelelor, folosind n schimb relaii pentru a accesa valori corespondente
din mai multe tabele.
O relaie const dintr-o asociere ntre nregistrrile aflate n dou tabele ce au aceleai valori ale
atributelor. Deoarece tabelele relaionale nu conin pointeri, datele aflate n astfel de tabele sunt
independente de metodele folosite de ctre sistemul de gestiune al datelor n lucrul cu nregistrrile
tabelelor.
Intensia modelului relaional este o schem relaional cu una sau mai multe scheme de relaie.
Fiecare schem de relaie are propriul nume i propriile atribute.
Extensia modelului relaional este un tabel ce nu permite nregistrri duplicat. Fiecare schem de
relaie introduce un tabel n schema relaional. Modelul de date relaional folosete tabele
bidimensionale ce reprezint entitile i const din rnduri i coloane. O coloan reprezint un
atribut al unei entiti ce mai poart i denumirea de cmp sau proprietate. Un rnd reprezint un
tuplu care este o instan a unui tip de entitate sau de relaie sau orice altceva din baza de date. De
obicei una dintre coloanele tabelului este numit cheie primar i are o valoare unic (Brown, The
Relational Model).
Simplitatea modelului bazei de date relaionale const din simplitatea conceptelor cu care opereaz:
structuri simple i abstracte de date, independena fizic de date, cadrul puternic, general i realist
oferit aplicaiilor .a.m.d.
Modelul relaional ofer o interfa flexibil ce este prevzut cu cele mai potrivite componente
necesare oricrui utilizator la toate nivelele, oferind o mare independen a datelor (produsul obinut
este relativ independent de implementarea intern).
Baza de date relaional const din unul sau mai multe relaii sau tabele. Principalele concepte ale
modelului relaional sunt:

BAZE DE DATE

CURS nr. 6

1. Atributul este o coloan ce are un nume propriu i unic ntr-o relaie (cmp). Fiecare relaie
conine o list de atribute (sau coloane) definite pe un anumit domeniu.
2. Domeniul reprezint setul posibil de valori pe care l poate avea unul sau mai multe atribute.
Utilizatorul poate defini domeniul de definiie, dar numai n anumite produse i poate defini
propriile domenii.
3. Tuplu un rnd din cadrul unei relaii (nregistrare). Un rnd dintr-un tabel reprezint asocierea
dintre seturile de valori. Fiecare relaie conine un set de tupluri (sau rnduri).
4. Intensia structura unei relaii mpreun cu specificaiile i constrngerile de domeniu aplicate.
Se modific rar.
5. Extensia starea relaiei (valorile din cadrul unei relaii se pot modifica). Reprezint coninutul
curent al bazei de date ce corespunde schemei bazei de date i se modific frecvent.
6. Gradul numrul de atribute dintr-o relaie.
7. Cardinalitatea numrul de tupluri dintr-o relaie.
8. Baza de date relaional reprezint o colecie de relaii ce pot fi modificate (tabele). O astfel
de colecie este descris sub forma unui set de scheme de relaii din cadrul bazei de date, numite
scheme relaionale ale bazei de date. Relaiile sunt alctuite din dou pri:
- instana un tabel cu rnduri i coloane;
- schema specific numele relaiei mpreun cu numele i tipul fiecrei coloane.
Termenul de relaie este folosit n sensul su matematic acceptat:
Se d o schem de relaie R = r(A1, ..., An) pe un set de domenii {D1, D2..., Dn}. O relaie n-ar r
reprezint un subset al produsului cartezian al acestor domenii: D1 x D2 x ... x Dn.
Proprietile unei relaii sunt:
- relaiile sunt alctuite din rnduri i coloane;
- ntr-o relaie nu are importan ordinea de apariie a rndurilor sau coloanelor;
- ntre tabele nu exist o asociere explicit (nici una vizibil cuiva care acceseaz datele);
- fiecare nregistrare poate fi identificat n mod unic;
- fiecare rnd din cadrul unui tabel are acelai set de coloane;
- fiecare coloan are un singur tip de dat (nu sunt acceptate redefiniri pentru diferite valori).
Datorit acestor proprieti i a fundamentului matematic, modelul relaional permite proiectanilor
concentrarea mai nti asupra semanticii datelor i a relaiilor dintre ele i abia apoi asupra
implementarii fizice a semanticii respective pentru a se adapta ct mai bine cerinelor i
specificaiilor impuse.