Capitolul 2
Baze de date
Definiţii
Baze de Date 9
Capitolul 2
Baze de Date 10
Capitolul 2
Tehnologie
cheia entităţii
este atributul domeniul
serie caracteristicii culoare
Dacă, însă, entitatea ALTOMOBIL se referă la obiectele supuse vânzării într-o unitate
comercială, atunci va trebui să conţină: seria-motorului, firma-producătoare, preţul, etc...
Lista atributelor care pot cararteriza o entitate (la un moment dat) poartă numele de familie de
caracteristici. Valorile familiei de caracteristici corespunzătoare unui obiect distinct, poartă
numele de realizare de entitate. Caracteristica asociază câte o valoare din domeniu fiecărei
realizări a respectivei entităţi. Domeniile pot fi numere întregi, şiruri, etc... Un atribut sau un
set de atribute care identifică în mod unic fiecare realizare a unei entităţi se numeşte cheie.
Realizările sunt distincte, deci fiecare realizare are cheia sa!
Baze de Date 11
Capitolul 2
Entităţile unui sistem informatic sunt rareori izolate unele de altele. Relaţiile se pot
stabili între. atributele aceleiaşi entităţi sau între entităţi diferite. Relaţiile pot fi binare şi
n-are.
Relaţiile binare presupun cxistenţa unui domeniu, al unui codomeniu şi al unei
corespondenţe între valorile acestora.
1. 1-1 (unu-la-unu ) - unei realizări din domeniu îi corespunde o realizare şi numai una în
codomeniu:
X1 Y1
2. 1-n (unu-la-mulţi ) - unei realizări din domeniu îi corespunde una sau mai multe
sealizări în codomemiu.
X1 Y1
Y2
X1 Y1
X2 Y2
Dacă reprezentarea într-o bază de date a entităţilor este relativ simplă (fişierele ar fi
suficiente) reprezentarea asocierilor este piatra de încercare a eficienţei implementării unei
aplicaţii de baze de date şi prin urmare cheia de boltă a unui model conceptual.
Analiza proiectarea şi implementarea structurii virtuale/conceptuale a bazei de date
se realizează utilizând un model de date. Un asemenea model reprezintă un ansamblu de
instrumente conceptuale care permit descrierea datelor, a relaţiilor între ele şi la restricţiile la
care sunt supuse.
Pricipalele modele conceptuale de baze de date sunt: ierarhic, reţea, relaţional,
obiectual, obiectual-relaţional, etc...
Modelel ierarhic
De exemplu, entităţile din sistemul informatic şcolar al unui oraş pot forma o structură
arborescentă. Entitatea ŞCOALĂ este legată 1-n de entitatea CLASE (o şcoală are mai multe
clase, o clasă aparţine unei şcoli), iar aceasta din urmă este legată 1-n de entitatea ELEVI.
Una din marile probleme ridicate de acest model o reprezintă imposibilitatea
reprezentării cazului cand un "copil" este rezultatul mai multor "taţi" (legătura n-n).
Baze de Date 12
Capitolul 2
Actualizarea este dificilă deoarece ştergerea unui nod implică ştergerea tuturor descendenţilor
lui, iar adăugarea unui nod impune reorganizarea întregii baze.
Modelul reţea
Modelul relaţional
În bazele de date relaţionale entităţile sunt organizate în tabele simple,
bidimensionale, fără legături fixe. Relaţiile necesare sunt stabilite prin asocierea între ele a
unor câmpuri cheie ale fiecărei tabele. De exemplu, entităţile CLASE şi OBIECTE sunt în
relaţia mulţi-la-mulţi.
Modelul obiect
Spre deosebire de modelul relaţional în care datele sunt organizate în tabele aici datele
sunt organizate sub forma unui graf. Corespondentul unei linii din tabela relaţională este aici
un obiect, adică un nod în graf. Un obiect poate avea referinţe la alte obiecte în acelaşi fel în
care structuri sau clase în C++ pot avea pninteri la alte structuri sau clase. Spre deosebire însă
de SQL în acest limbaj OQL celelalte accese la date se realizează utilizând un limbaj de
programare procedural (C, C++, Java, SmallTalk).
Modelul obiect-relaţional
Într-un model orientat-obiect toate obiectele sunt stocate într-un heap, cu referinţe
între ele. Aceasta este o schimbare radicală faţă de bazele relaţionale unde o relaţie se
stochează separat. De aceea în Bazele de Date Orientate Obiect (BDOO) trebuie regândite
Baze de Date 13
Capitolul 2
Noi direcţii
Modelele de baze de date discutate până scum sunt foarte competente în cazul
colecţiilor masive de date. Tehnicile eficiente pe care le foloseşte exploatează în primul rând
structura regulată a volumului mare de date. În ultimii ani a apărut o nouă problemă:
interogarea unor date cu structură neregulată.
• Astfel, există dorinţa de a accesa şi interoga informaţii stocate în format liber. De
exemplu, în bazele de date - biologice structura este atât de complexă şi se schimbă
atât de des încât biologii renunţă la modelele relaţionale în favoarea unor sisteme de
reprezentare a datelor ca arbori.
• În al doilea rând există necesitatea integrării informaţiilor provenind din surse
diferite. O consecinţă a integrării este ca informaţia rezultată nu are o structura rigidă:
unele atribute pot lipsi sau pot avea valori multiple, colecţiile pot fi eterogene etc.
• În al treilea rând motivaţia pentru structurile neregulate este legată de WWW (World
Wide Web): colecţia de pagini HTML dintr-o locaţie dată, împreună cu referinţele
dintre pagini poate fi văzută ca o bază de date nestandard.
• Toate acestea au motivat apariţia unui domeniu nou în preocupările legate de
organizările de date: date semistructurate. Modelul semistructurat reprezintă datele
prin grafuri în care nodurile corespund obiectelor şi arcele atributelor. Poate cea mai
spectaculoasă aplicaţie a acestui model este interogarea datelor stocate in WWW.
Nodurile corespund paginilor HTML iar arcele (atributele) corespund Hyperlink-
urilor. Consecinţa acestui mod de abordare este că putem aplica aceleaşi principii de
interogare declarative din baze de date.
Utilizatorii personali folosesc tot mai mult în mod curent date cu volum mic dar
stocate în fişiere cu formate foarte variate: agende telefonice, calendare, scrisori prin e-mail
personal, pagini HTML, planuri de activităţi, notiţe personale, etc. Astăzi putem căuta în
fiecare în parte dar este imposibil să corelăm informaţii din două surse diferite, să găsim
numerele de telefon pentru toate persoanele de la care am primit cel puţin două scrisori e-
mail. Tehnologia de baze de date îşi poate aduce contribuţia în viitor la gestiunea acestor
surse de informaţii variate.
Baze de Date 14
Capitolul 2
Întrebări recapitulative
Baze de Date 15