Sunteți pe pagina 1din 7

Capitolul 2

Capitolul 2
Baze de date

Definiţie, caracteristici, clasificare


Niveluri de organizare
Modele conceptuale

Definiţii

Baza de date (BD) este un ansanblu de date interconectete, împreună cu descrierea


lor, care răspunde calităţilar de centralizare, coordonare, integrare şi difuzie a informaţiilor şi
care asigură satisfacerea tuturor necesităţilnr de prelucrare ale tuturor utilizatorilor dintr-un
sistem. Baza de date este o colecţie de date operaţionale. Datele operaţionale sunt acele
informaţii care au o anumită stabilitate importantă în sistemul informaţional al unei instituţii.

Caracteristici generale ale bazelor de date

1. lndependenţa datelor memorate de aplicaţie. Se realizează, separea nivelului de


descriere a dalelor de nivelul de utilizare. Se asigură aslfel imunitatea programelor de
aplicaţii la schimbările ce au loc în baza de date
2. Nivel redus de redundanţă. În general datele sunt memorate într-un singur loc, astfel
încât să se asigure eliminarea redundanţei. Totuşi, din considerente de optimizare a
timpului de răspuns se acceptă un anumit grad de redundanţă. Se spune că "la baze de
date se menţine redundanţa datelor, dar este un fenomen controlabil".
3. Securitatea datelor. Se pot aplica restricţii de securitate a datelor, protecţia la accesul
neautorizat la date în vederea extragerii sau distrugerii unor date cu caracter
confidenţial.
4. Integritatea datelor. Asigurarea corectitudinii datelor în orice moment al funcţionării
sistemului. Căderea reţelei sau o manevră defectuoasă pot deteriora datele. O bază de
date trebuie să asigure integritatea detelor, posibititatea refacerii versiunilor anterioare
situaţiei de eroare.
5. Transparenţa. Facilităţi de utilizare a datelor fără ca utilizatorii să cunoască baza de
date în întreaga ei complexitate.
6. Limbaje de cereri. Existenţa unor limbaje perfonnante de regăsire a datelor care
permit exprimarea sub forma unor conversaţii a unor criterii mai complexe de
selectare a informaţiei şi indicării unor reguli cât mai generale de editare a
informaţiilor solicitate.
7. Diversitatea criteriilor. Spre deosebire de sistemul clasic de prelucrare unde există
un singur criteriu de adresare, cel care a stat la baza organizării fişierului, în cazul
bazelor de date accesul la informaţii se poate face după o mulţime de reguli de
regăsire.
8. Facilitati multiutilizator. Datele pot fi accesate şi chiar gestionate din diferite noduri
ale reţelei de calculatoare de diferiţi utilizatori.
9. Accesibilitate. Gestiunea datelor organizate în baze de date a fost preocuparea multor
specialisti soft, ajungându-se la oferirea unor pachete de gestiune care permit
gestiunea unor date foarte complexe în condiţii de eficienţă maximă. Acestea oferă
programatorilor instrumentele necesare concepţiei programelor lor, iar utilizatorilor

Baze de Date  9 
Capitolul 2

neinformaticieni - o interfaţă "prietenoasă". Problema este alegerea pachetului de


programe în funcţie de resursele hard şi soft existente şi de tipul bazei de date.

Modele conceptuale de baze de date


Un principiu de bază în conceperea bazelor de date este separarea problemelor de
organizare a datelor de cele legate de proiectarea dferitelor aplicaţii cu aceste date.
Spre deosebire de sistemele clasice de organizare a datelor în care se disting două moduri de
organizare, logic şi fizic, la baze de date se defineşte şi un al treilea nivel, nivelul virtual sau
extern (vezi figura 1).
Structura virtuală sau structura globală (externă) a unei baze de date este ultimul
nivel de abstractizare la care poate fi descrisă o baza de date. Se referă la toate datele
necesare tuturor utilizatorilor unei baze de date, în condiţii de redundanţă minimă şi
controlată a datelor.
Descrierea acestui nivel (ansamblu de date, legături, proprietăţi) se face într-un limbaj
de descriere special al SGBD şi poartă numele de SCHEMĂ CONCEPTUALĂ. Schema este
unică, se memorează pe suportul fizic şi este "invocată" la fiecare solicitare a unui subset de
date de către un program de aplicaţie. Schema conceptuală descrie informaţiile stocate în
baza de date "aşa cum sunt ele de fapt", deci prin semnificaţia lor reală: putem spune că
modelul virtual este un model al lumii reale restrâns la un subdomeniu de interes specific (în
speţă la activitatea unei instituţii, în sensul generic al termenului). Ea este realizată de
administratorul bazei de date.
Structura logică sau structura conceptuală reprezintă primul nivel de abstractizare a
lumii reale observate. Se referă la forma la care fiecare utilizator vede datele în funcţie de
aplicaţia căreia încearcă să-i dea rezolvare.
Descrierea structurii logice a datelor se numeşte SUBSCHEMĂ şi este un subset de
date necesare unui program. Relativ la o SCHEMĂ pot fi concepute mai multe
SUBSCHEME dar un program de aplicaţii va apela o singură SUBSCHEMĂ.
Structura fizică sau structura internă este nivelul elementar la care se pot constitui
datele; se referă la modul de memorare a datelor pe suportul de stocare (disc magnetic, disc
optic, bandă magnetică, etc...). Acest lucru este domeniul unui inginer de sistem sau al unui
programator la nivelului limbajului de asamblare.
Fişierele cu date sunt stocate în memoria externă în diferite structuri interne care să
permită utilizarea eficientă a suportului şi minimizarea timpului de acces. La acest nivel
structura poartă numele de SCHEMA INTERNĂ.

subschemal subschema2 nivelul logic


este punctul de vedere
al programatorului

este punctul de vedere SCHEMA nivelul virtual


al administratorului bazei
de date
este punctul de vedere DATE nivelul fizic
al inginerului de sistem

Fig. 1. Nivelurile de structurare a hazei de date

Baze de Date  10 
Capitolul 2

Odată memorată SCHEMA poartă numele de "model" al bazei de date.


Posibilitatea modificării structurii la un nivel fără a afecta structura nivelului sau
nivelelor superioare se numeşte autonomia datelor. Sunt două paliere de autonomie:
• autonomie fizică - reprezintă posibilitatea modificării arhitecturii bezei la nivel intern
fără ca aeasta să necesite schimbarea schemei conceptuale şi rescrierea programelor
pentru exploatarea bazei de date. Asemenea modificări sunt pentru ameliorarea
performanţelor de viteză, portarea bazei de pe un sistem pe altul, etc.
• autonomie logică - presupune modificarea schemei conceptuale a bazei pentru
rezolvarea unei noi cerinţe informaţionale fără a rescrie programele do exploatare. În
general acest palier este mai greu de realizat decât autonomia fizică deoarece
programele de exploatare sunt dependente în mare măsură de structura logică a
datelor pe care le consultă şi actualizează, în ciuda existenţei dicţionarulul de date.

Tehnologie

Elementul fundamental al modelului cunceptual aste entitatea, ca termen generic


pentru a desemna obiectele similare ca structură, dar care sunt identificabile, daci se pot
deosebi între ele prin trăsături specifice. O entitate este formată dintr-o mulţime de artibute
(sau carecteristici) care pot defini complet obiectul în funcţie de context. De exemplu,
entitatea AUTOMOBIL ce desemnează un obiect în cadrul sistemului informaţional al unei
entităţi producătoare de maşini poate fi descrisă prin atributele tip-motor, model, număr de
portiere, forma caroseriei, etc.

nume entitate automobil familie de


caracteristici
serie culoare marca pret
1111 alb dacia 200
1234 roz oltcit 190
1999 bleu cielo 300

cheia entităţii
este atributul domeniul
serie caracteristicii culoare

Fig. 2. Terminologia specifica bazelor de date

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.

Tipuri de relaţii binare:

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

3. n-n (mulţi-la-mulţi) - unei realizări în domeniu îi corespunde mai multe realizări în


codomeniu şi unei realizări în codomeniu îi corespunde mai multe realizări în domeniu:

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

Este primul model utilizat în structurarea bazelor de date şi presupune ierarhizarea


entităţilor într-o structură de tip arbore.

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

Este un model general de organizare a datelor în care nu mai există restricţia ca o


frunză să nu aibă decât un singur ascendent. Principalul avantaj este dat de utilizarea
pointerilor în vederea realizării legăturilor din reţeaua de entităţi. Pentru un exemplu de
model reţea să pornim tot de la sistemul informational şcolar unde se reţin informaţii despre
şcoli, clase, profesori, obiecte.
Implementarea fizică pentru relaţia 1-n (ŞCOLI-CLASE) poate fi reprezentată
schematic astfel: la fiecare realizare a entităţii ŞCOLI există un pointer cu adresa primei clase
din şcoala respectivă; la fiecare realizare a entităţii CLASE vor fi doi pointeri: unul, care
reţine adresa următoarei clase din aceeaşi şcoală şi al doilea care reţine adresa clasei din care
face parte elevul.

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.

CLASE OBIECTE RELATII


cls diriginte cod_ ob nume cls cod_ob
xb Popa Ion m matematica xb m

Fig.3. Modelul relaţional

O asociere posibilă se realizează printr-o tabelă nouă numită RELAŢII (cod-clasa,


cod-obiect) cum este arătat în fig.3.
Modelul relaţional este caracterizat prin unitatea şi simplitatea reprezentărilor: totul se
reduce la tabele. De asemenea, modelul pastrează rigoarea fundamentării sale matematice,
fapt care a permis definirea unor limbaje de nivel foarte înalt (în special SQL) care utilizează
elemente de algebră relaţională. Oricum este modelul care a "revoluţionat" lumea bazelor de
date.

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

complet tehnicile de optimizare a interogărilor, de plasare optimă a datelor pe disc, de


organizare a structurilor de index etc. În modelele relaţionale aeeste tehnici sunt bine puse la
punct beneficiind de rodul a mulţi ani de cercetare şi de resursele financiare generate de o
piaţă uriaşă.
Această situaţie a motivat apariţia recentă a unei abordări mai conservatoare:
extinderea graduală a modelului relaţional pentru a încorpora elemente de programare
orientate obiect dar cu păstrarea tehnologiilor relaţionale. Noul val se numeşte obiect-
relational. Modelul de date este practic ecelaşi ca la modelul orientat obiect. Limbajul de
interogare declarativ este în esenţă acelaşi OQL dar păstrează sintaxa limbajului SQL, cu
extensii pentru funcţiile noi. Ideea este de a păstra compatibilitatea cu programele SQL
existente. De remarcat ca toţi vânzătorii de SGBD intenţionează să încorporeze în produsul
lor această abordare.
Unii analişti consideră că este foarte probabil ca bazele de date relaţionale pe obiecte
să domine sistemele comerciale din anii următori.

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

1. Ce este o bază de date? Care sunt caracteristicile unei baze de date?


2. Luaţi un exemplu de bază de date şi identificaţi: "entitatea", "caracteristica", "familia
de caracteristici", "cheia", "domeniul", "realizarea".
3. O aplicaţie scrisă în SGBD FoxPro este portată de pe un minicalculator cu sistem de
operare UNIX pe o reţea locală de PC-uri sub MS-DOS. La ce nivel are loc
modificarea bazei de date? Valoarea facturii nr.12 a fost introdusă greşit: în loc de 4
milioane s-a introdus numarul 4. La ce nivel trebuie făcută modificarea?
4. O societate dispune de o aplicaţie de calcul a salariilor. Se modifică calculul salariilor
în sensul că nu se mai calculează alocaţiile pentru copii şi nici nu se mai reţin datele
despre copiii fiecărui salariat. La ce nivel se va modifica structura bazei?
5. Presupunem că la o agenţie de turism se desfăşoară următoarele activităţi:
a) evidenţa obiectivelor turistice (localitate, adresă, domeniu de interes);
b) evidenţa modalităţilor de acces, cazare şi masă;
c) organizarea excursiilor.
Se cere:
• Identificarea entităţilor şi a legăturilor între ele;
• Stabilirea structurii virtuale a bazei de date;
• Stabilirea structurilor logice (conceptuale) necesare aplicaţiilor următoare:
a) Situaţia ocupării hotelului X din staţiunea Y la data Z
b) Lista obiectivelor turistice de pe litoral

Baze de Date  15 

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