Sunteți pe pagina 1din 33

Cap.

1 Introducere - Concepte de baz privind sistemele de baze de date

CAPITOLUL 1
INTRODUCERE CONCEPTE DE BAZ PRIVIND
SISTEMELE DE BAZE DE DATE

Sistemele de baze de date sunt o component esenial a


vieii de zi cu zi n societatea modern. n cursul unei zile,
majoritatea persoanelor desfoar activiti care implic
interaciunea cu o baz de date: depunerea sau extragerea unor
sume de bani din banc, rezervarea biletelor de tren sau avion,
cutarea unei referine ntr-o bibliotec computerizat,
cumprarea unor produse etc.
Bazele de date pot avea dimensiuni (numr de nregistrri)
extrem de variate, de la cteva zeci de nregistrri (de exemplu,
baza de date pentru o agend cu numere de telefon) sau pot
ajunge la zeci de milioane de nregistrri (de exemplu, baza de
date pentru plata taxelor i a impozitelor).
Utilizatorii unei baze de date au posibilitatea s efectueze
mai multe categorii de operaii asupra datelor memorate:
introducerea de noi date (insert);
tergerea unora din datele existente (delete);
actualizarea datelor memorate (update);
interogarea bazei de date (query) pentru a regsi anumite
informaii, selectate dup un criteriu ales.
n sensul cel mai larg, o baz de date (database) este o
colecie de date corelate din punct de vedere logic, care reflect
un anumit aspect al lumii reale i este destinat unui anumit
grup de utilizatori. n acest sens, bazele de date pot fi create i
meninute manual (de exemplu, fiele de eviden a crilor
dintr-o bibliotec, aa cum erau folosite cu ani n urm) sau
computerizat, aa cum este majoritatea bazelor de date folosite
n momentul de fa. O definiie ntr-un sens mai restrns a
unei baze de date este urmtoarea:
1

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

O baz de date (database) este o colecie de date creat i


meninut computerizat, care permite operaii de introducere,
tergere, actualizare i interogare a datelor.
Simple colecii de fie (documente pe hrtie) sau fiiere de
date, care conin nregistrri de date, dar nu permit operaii de
interogare, nu sunt considerate baze de date. De exempu, datele
memorate n fiiere pe disc de un instrument de calcul tabelar
(Microsoft Excel) sau documentele memorate de un editor de
text (Microsoft Word) nu sunt considerate baze de date.
1.1. Componentele unui sistem de baze de date

Un sistem de baze de date (Database System) este un


sistem computerizat de meninere a evidenei unei anumite
activiti, folosind baze de date. Componentele unui sistem de
baze de date sunt: hardware, software, utilizatori, date
persistente.
Hardware. Sistemele de baze de date sunt instalate, de
regul, pe calculatoare de uz general, de la calculatoare PC
standard, pn la staii multiprocesor puternice. Bineneles,
performanele generale de operare ale calculatorului (numrul
i viteza procesoarelor, dimensiunea i viteza de operare a
memoriei principale etc.) influeneaz n mod corespunztor
performanele sistemului de baze de date. Dar, ceea ce
intereseaz n mod deosebit n utilizarea unui calculator pentru
un sistem de baze de date, este volumul (capacitatea) memoriei
secundare, utilizat pentru memorarea coleciei de date
persistente ale bazei de date.
Deoarece ntr-un sistem de baze de date este necesar
accesul rapid la oricare din nregistrrile de date, pentru
memorarea acestora se folosesc discurile magnetice (harddiscuri). Benzile magnetice (care ofer acces secvenial la
nregistrrile de date) sunt utilizate numai pentru duplicarea
(back-up) i salvarea/restaurarea datelor.
2

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

Software. ntre baza de date (colecia de date memorate


fizic n fiiere pe hard-discuri) i utilizatorii sistemului exist
un nivel software, numit Sistem de Gestiune a Bazei de Date
(SGBD) - (Database Management System -DBMS) - (fig. 1.1).

Fig. 1.1. Componente ale unui sistem de baze de date.

Sistemul de gestiune a bazei de date - SGBD - (Database


Management System - DBMS) recepioneaz cererile
utilizatorilor de acces la baza de date (pentru operaii de
introducere, tergere, modificare sau interogare), le
interpreteaz, execut operaiile corespunztoare i returneaz
rezultatul ctre utilizatori.
Sistemul SGBD ofer utilizatorilor o viziune (vedere view) a bazei de date la un nivel nalt i i elibereaz de
necesitatea de a cunoate organizarea particular a sistemului
(driverele de disc, structura nregistrrilor de date etc.).
Mai mult, sistemul de gestiune asigur protecia datelor fa
de accese neautorizate sau defecte de funcionare, asigurnd
integritatea bazei de date.
Pe lng SGBD, care este cea mai important component
software a unui sistem de baze de date, mai exist i alte
componente: sistemul de operare, care asigur controlul
execuiei programelor, biblioteci i instrumente software
(toolset-uri) pentru proiectarea, dezvoltarea sau exploatarea
sistemelor de baze de date i a aplicaiilor de baze de date.
O aplicaie de baze de date (Database Application) este un
program care ofer o anumit utilizare a unei baze de date.
3

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

De exemplu, programul care permite meninerea i


urmrirea activitii angajailor unei ntreprinderi (ncadrare,
calificare, salarizare etc.), folosind informaiile despre angajai
memorate ntr-o baz de date, reprezint o aplicaie de baze de
date.
Utilizatorii unui sistem de baze de date se pot mpri n
cteva categorii: programatorii de aplicaii, utilizatorii finali i
administratorul bazei de date.
Programatorii de aplicaii sunt cei care scriu (dezvolt)
aplicaiile de baze de date, folosind limbaje de programare de
nivel nalt (Cobol, PL/1, Fortran, C, C++, Java, Basic) i
biblioteci care permit ncorporarea operaiilor de acces la baza
de date. Aplicaiile rezultate pot fi aplicaii cu execuie
independent (batch-processing) sau pot fi aplicaii interactive
(on-line) folosite de utilizatorii finali ai sistemului pentru a
accesa (ntr-un mod mai eficient i mai sigur) baza de date.
Utilizatorii finali sunt acei utilizatori care acceseaz baza
de date prin intermediul unui program de aplicaie care le
confer drepturi limitate de acces la date pentru anumite
operaii de prelucrare. Utilizatorii finali sunt persoane cu
pregtire tehnic minimal, care efectueaz un volum mare de
operaii asupra bazei de date, dar nu trebuie s cunoasc mai
mult dect posibilitile oferite de programul pe care l
utilizeaz. De exemplu, utilizatorii finali ai unui sistem de
rezervare a bietelor de avion sunt agenii de vnzri, care
folosesc programul adecvat (scris de programatorii de
aplicaii), fr a fi necesar s cunoasc ntreaga structur a
bazei de date.
Administratorul bazei de date (Database Administrator)
este o persoan (sau un grup de persoane) cu nalt calificare
tehnic care are ca sarcin meninerea funcionalitii bazei de
date prin stabilirea drepturilor de acces ale diferitelor
categorii de utilizatori, prin efectuarea operaiilor periodice de

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

salvare a datelor (backup), prin monitorizarea performanelor


sistemului i refacerea datelor atunci cnd este necesar.
Datele memorate ntr-o baz de date sunt date persistente,
adic date care rmn memorate pe suport magnetic,
independent de execuia programelor de aplicaii. Datele
persistente ale unei baze de date se introduc, se terg sau se
actualizeaz folosind date de intrare (provenite de la tastatur,
din citirea unor fiiere de date sau din recepionarea unor
mesaje). Datele de intrare sunt, n general, date nepersistente;
ele sunt generate de utilizatori i sunt memorate (devenind date
persistente), numai dup ce au fost validate (acceptate), de
ctre SGBD. Datele de ieire ale unui sistem de baze de date
sunt, de asemenea, date nepersistente; ele provin din operaii de
interogare a bazei de date i sunt puse la dispoziia
utilizatorului (sub form de afiri, rapoarte tiprite etc).
Aceste tipuri de utilizatori asigur exploatarea unei baze de
date dup ce aceasta a fost proiectat i realizat. Activitatea de
proiectare a unei baze de date implic i alte categorii de
personal cu nalt calificare tehnic (proiectani, programatori)
sau administrativ (administrator de date). Proiectanii bazelor
de date au responsabilitatea de a analiza realitatea reprezentat
(modelat) de baza de date respectiv i de a identifica datele
ce necesit s fie memorate, pentru a asigura meninerea
evidenei activitii dorite. Aspecte privind proiectarea bazelor
de date vor fi studiate n capitolele urmtoare.
Orice SGBD suport dou categorii de limbaje conceptuale:
limbaje de descriere a datelor i limbaje de manipulare a
datelor.
Limbajele de descriere a datelor - LDD - (Data
Description Languages - DDL) permit definirea conceptual a
datelor, fr referire la modul de memorare fizic a acestora.
Limbajele de manipulare a datelor - LMD - (Data
Manipulation Languages - DML) permit specificarea

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

operaiilor de introducere, actualizare, tergere i interogare a


datelor.
1.2. Arhitectura intern a sistemelor de baze de date

Arhitectura intern a unui sistem de baze de date propus


prin standardul ANSI/X3/SPARC (1975) conine trei niveluri
funcionale: nivelul extern, nivelul conceptual i nivelul intern
(fig. 1.2). Nivelul extern este o colecie de scheme externe, care
sunt vederi ale diferitelor grupuri de utilizatori, existnd cte o
vedere individual a datelor pentru fiecare grup; nivelul
conceptual conine schema conceptual (logic) a bazei de
date, iar nivelul intern conine schema intern (fizic) a bazei
de date.

Fig. 1.2. Arhitectura intern a unui sistem de baze de date.

O schem extern (vedere utilizator), (external schema,


users view), conine o subschem conceptual a bazei de date,
mai precis, descrierea datelor care sunt folosite de acel grup
de utilizatori.
Schema conceptual a bazei de date (conceptual schema),
corespunde unei reprezentri unice (pentru toi utilizatorii) i
6

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

abstracte a datelor, descriind ce date sunt stocate n baza de


date i care sunt asocierile dintre acestea.
Schema intern (fizic) a bazei de date (internal schema),
specific modul de reprezentare a datelor pe suportul fizic.
Un sistem de baze de date suport o schem intern, o
schem conceptual i mai multe scheme externe. Toate aceste
scheme sunt descrieri diferite ale aceleiai colecii de date, care
exist doar n nivelul intern.
Toate aceste reprezentri ale datelor sunt gestionate de ctre
SGBD care asigur, de asemenea i cele dou corespondene
(mappings): ntre schemele externe i schema conceptual i
ntre schema conceptual i schema intern.
Unele sisteme SGBD nu separ complet cele trei niveluri
funcionale ale bazelor de date, existnd posibilitatea de a
specifica detalii ale schemei interne sau ale schemelor externe
n cadrul schemei conceptuale.
1.3. Avantajele oferite de sistemele de baze de date

Fa de

vechile metode de nregistrare a datelor privind


diferite activiti pe fie (documente scrise) sau chiar n fiiere
pe disc, sistemele de baze de date ofer avantaje considerabile,
ceea ce explic utilizarea extins a acestora. Cteva dintre
avantajele oferite sunt prezentate n continuare.
Compactitate ridicat: volumul ocupat de sistemele de
baze de date este mult mai redus dect volumul ocupat de
documente scrise sau de fiierele necorelate.
Vitez mare de regsire i actualizare a informaiilor.
Redundan sczut a datelor memorate, care se obine
prin partajarea datelor ntre mai muli utilizatori i aplicaii. n
stocarea pe fie sau n fiiere a datelor, fiecare aplicaie
coninea propriile seturi de date. n sistemele de baze de date,
mai multe aplicaii pot folosi date comune, memorate o singur
dat. De exemplu, o aplicaie de personal i o aplicaie de
rezultate la examene dintr-o universitate care exploateaz o
7

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

singur baz de date, pot folosi aceleai informaii referitoare la


structurarea facultilor i a seciilor.
Posibilitatea de introducere a standardelor privind modul
de stocare a datelor, ceea ce permite interschimbul
informaiilor ntre diferite organizaii.
Meninerea integritii datelor prin politica de securitate
(drepturi de acces difereniate n funcie de rolul utilizatorilor),
prin gestionarea tranzaciilor i prin refacerea datelor n caz de
funcionare defectuoas a diferitelor componente hardware sau
software.
Independena datelor fa de suportul hardware utilizat.
Sistemele de gestiune a bazelor de date ofer o vedere (view)
extern a datelor, care nu se modific atunci cnd se schimb
suportul de memorare fizic, ceea ce asigur imunitatea
structurii bazei de date i a aplicaiilor la modificri ale
sistemului hardware utilizat.
1.4. Clasificarea sistemelor de baze de date

Se pot lua n consideraie mai multe criterii de clasificare


ale sistemelor de baze de date.
Clasificarea dup modelul de date. Majoritatea sistemelor
de baze de date actuale sunt realizate n modelul de date
relaional sau n modelul de date obiect. Dezvoltarea continu a
acestor modele a condus ctre o nou categorie de baze de date,
numite obiect-relaionale, care combin caracteristicile
modelului relaional cu cele ale modelului obiect. De
asemenea, mai sunt nc n funciune baze de date n modele
mai vechi (modelul ierarhic sau modelul reea). Modelele de
date utilizate de sistemele SGBD vor fi prezentate n seciunea
urmtoare.
Clasificarea dup numrul de utilizatori. Majoritatea
sistemelor de baze de date sunt sisteme multiutilizator, adic
permit accesul concurent (n acelai timp) a mai multor
utilizatori la aceeai baz de date. Un numr redus de sisteme
8

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

de baze de date sunt de tip monoutilizator, adic suport


accesul la un moment dat, doar al unui singur utilizator.
Clasificarea dup numrul de staii pe care este stocat
baza de date. Exist dou categorii de sisteme de baze de date:
centralizate i distribuite.
Un sistem de baze de date centralizat (Centralized
Database System), este un sistem de baze de date n care datele
i sistemul de gestiune sunt stocate pe o singur staie
(calculator).
Un sistem centralizat poate suporta unul sau mai muli
utilizatori, dar, n orice situaie, datele i sistemul de gestiune
rezid n ntregime pe o singur staie.
Un sistem de baze de date distribuit (Distributed Database
System) poate avea att datele, ct i sistemul de gestiune,
distribuite n mai multe staii interconectate printr-o reea de
comunicaie.
Sistemele de baze de date pot fi reprezentate din punct de
vedere al funcionrii lor printr-o arhitectur de tip clientserver.
ntr-un sistem centralizat (fig. 1.3) exist un singur server,
care este chiar sistemul SGBD, care rspunde cererilor unui
singur client (n sistemele mono-utilizator, fig. 1.3, a) sau mai
multor clieni (n sistemele multi-utilizator, fig. 1.3, b), care
acceseaz baza de date respectiv. Clienii sunt programe de
aplicaii oferite de furnizorul sistemului de gestiune sau
dezvoltate de programatori.
Aplicaiile client pot fi executate pe staii diferite, conectate
printr-o reea de comunicaie cu staia pe care ruleaz serverul.
Aceast arhitectur permite o prelucrare distribuit a datelor,
mai mult chiar, o configurare a sistemului adaptat cerinelor
de calcul particulare. Astfel, serverul bazei de date poate fi un
sistem puternic, echipat corespunztor (cu volum mare de
memorie secundar), n timp ce fiecare client este o staie
personal, cu putere de calcul adecvat aplicaiei executate.
9

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

Fig. 1.3. Sisteme de baze de date centralizate: a- monoutilizator; bmultiutilizator.

Sistemele de baze de date distribuite pot fi reprezentate ntrun mod asemntor din perspectiva structurrii client-server
(fig. 1.4).

Fig. 1.4. Sistem de baze de date distribuit.

O baz de date distribuit este o colecie de date care


aparin din punct de vedere logic aceluiai sistem, dar care pot
s fie din punct de vedere fizic, memorate n mai multe staii de
calcul (locaii - sites) conectate printr-o reea de comunicaie.
Sistemul software care gestioneaz o astfel de baz de date se
10

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

numete Sistem de Gestiune a Bazei de Date Distribuite SGBDD - (Distributed Database Management System DDBMS). Aplicaiile client ruleaz pe alte staii din reea i
solicit servicii de la sistemul de gestiune distribuit.
Exist numeroase avantaje ale sistemelor de baze de date
distribuite (creterea capacitii de stocare i prelucrare a
datelor, creterea disponibilitii i a partajrii datelor etc.), dar
i o cretere considerabil a complexitii acestora.
Cea mai important cerin pe care trebuie s o
ndeplineasc sistemele de gestiune a bazelor de date distribuite
este de a asigura administrarea transparent a datelor.
Transparena se refer la capacitatea unui sistem distribuit de a
ascunde detaliile de implementare, astfel nct utilizatorii s
poat accesa datele pe baza unui model de nivel nalt, fr a fi
necesar cunoaterea exact a modului de amplasare, replicare
sau comunicare a datelor.
Sistemele de gestiune a bazelor de date distribuite
comerciale nu ofer n momentul de fa un nivel suficient de
transparen a localizrii datelor, dar dezvoltarea continu a
acestora va putea s asigure n viitor aceast cerin.
1.5. Modelarea datelor

Un model este o abstractizare a unui sistem, care capteaz


cele mai importante trsturi caracteristice ale sistemului
(concepte), relevante din punct de vedere al scopului pentru
care se definete modelul respectiv. Tehnica de identificare a
trsturilor caracteristice eseniale ale unui sistem se numete
abstractizare.
Un model de date stabilete regulile de organizare i
interpretare a unei colecii de date. n proiectarea bazelor de
date se folosesc, de regul, mai multe modele de date, care se
pot clasifica n dou categorii: modele conceptuale de nivel
nalt i modele specializate.
11

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

Un model conceptual de nivel nalt al datelor conine o


descriere concis a coleciilor de date care modeleaz
activitatea dorit (numit schem conceptual de nivel nalt),
fr s detalieze modul de reprezentare sau de prelucrare a
datelor.
Modelele specializate de date (cum sunt: modelul ierarhic,
modelul reea, modelul relaional etc.) impun anumite structuri
speciale de reprezentare a mulimilor de entiti i a asocierilor
dintre acestea, structuri pe baza crora sunt dezvoltate
sistemele de gestiune a bazelor de date. ntr-un astfel de model
de date, o baz de date este reprezentat printr-o schem
conceptual (logic) specific. Trecerea de la modelul
conceptual de nivel nalt la un model de date specific reprezint
etapa de proiectare logic a bazei de date care asigur
corespondena dintre schema conceptual de nivel nalt a bazei
de date i schema conceptual specific modelului de date
respectiv.
1.5.1. Modele conceptuale de nivel nalt

Cel

mai utilizat model conceptual de nivel nalt este


modelul Entitate-Asociere (E-A) care reprezint schema
conceptual de nivel nalt a bazei de date prin mulimi de
entiti i asocieri dintre acestea. Dezvoltarea acestui model,
astfel nct s permit extinderea tipurilor de entiti, este
cunosut sub numele de model Entitate-Asociere Extins (EAE). Proiectarea modelului E-A sau al modelului E-AE este,
de regul, una din primele etape n proiectarea bazelor de date,
etap numit proiectarea schemei conceptuale.
1.5.1.1. Modelul Entitate-Asociere

Modelul

Entitate-Asociere (Entity-Relationship Model),


introdus n 1976 de P.S. Chen (Chen76), este un model
conceptual de nivel nalt al unei baze de date, care definete
12

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

mulimile de entiti i asocierile dintre ele, dar nu impune nici


un mod specific de structurare i prelucrare (gestiune) a
datelor.
Elementele eseniale ale modelului Entitate-Asociere folosit
n proiectarea bazelor de date sunt entitile (entities) i
asocierile dintre acestea (relationships).
O entitate (entity), 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.
Un atribut (attribute), este o proprietate care descrie un
anumit aspect al unei entiti.
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 acelei entiti fa de restul universului.
Toate entitile similare, care pot fi descrise prin aceleai
atribute, aparin unui acelai tip de entitate (entity type), iar
colecia tuturor entitilor de acelai tip dintr-o baz de date
constituie o mulime de entiti (entities set). n general, n
modelul E-A se folosete aceeai denumire att pentru un tip de
entitate ct i pentru mulimea entitilor de acel tip.
De exemplu, tipul de entitate angajat (al unei instituii)
reprezint orice persoan angajat a instituiei, care are o
anumit funcie i primete un anumit salariu. Acest tip de
entitate poate fi descris prin mai multe atribute, dintre care o
parte sunt atribute de identificare a persoanei (Nume, Prenume,
DataNaterii, Adres), iar altele sunt atribute legate de
activitatea acesteia n instituia respectiv (Funcie, Salariu).
Prin analogie cu modelul obiect, se poate spune c un tip de
entitate corespunde unei clase, o entitate este o instan a unui
tip de entitate i corespunde unui obiect, iar mulimea

13

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

entitilor de un tip dat corespunde mulimii obiectelor


(instanelor) unei clase.
n proiectarea bazelor de date se consider dou categorii
de entiti: entiti normale (puternice, obinuite - regular
entities) i 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, o entitate dependent poate s reprezinte o persoan
care depinde de un angajat al unei instituii (adic se afl n
ntreinerea acestuia). O entitate angajat este o entitate
puternic, deoarece ea exist n 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 (susintorul) acesteia este angajat n acea
instituie.
n proiectarea bazelor de date se definesc asocieri ntre
mulimile de entiti componente, pentru a reprezenta anumite
aspecte ale realitii pe care baza de date o modeleaz.
O asociere (relationship) este o coresponden ntre entiti
din dou sau mai multe mulimi de entiti.
Gradul unei asocieri este dat de numrul de mulimi de
entiti asociate. Asocierile pot fi binare (de gradul 2, ntre 2
mulimi de entiti) sau multiple (ntre k mulimi de entiti,
k>2).
Asocierile binare sunt, la rndul lor, de trei categorii, dup
numrul elementelor din fiecare dintre cele dou mulimi puse
n coresponden de asocierea respectiv (fig. 1.5). Fiind date
dou mulimi de entiti, E1 i E2, se definesc urmtoarele
categorii de asocieri binare:
Asocierea unul-la-unul (one-to-one) este asocierea prin
care unui element (entitate), din mulimea E1 i corespunde un
singur element din mulimea E2 i reciproc; se noteaz cu 1:1.
14

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

Asocierea unul-la-multe (one-to-many) este asocierea


prin care unui element din mulimea E1 i corespund unul sau
mai multe elemente din mulimea E2, dar unui element din E2 i
corespunde un singur element n mulimea E1; se noteaz cu
1:N.
Asocierea multe-la-multe (many-to-many) este
asocierea prin care unui element din mulimea E1 i corespund
unul sau mai multe elemente din mulimea E2 i reciproc; se
noteaz cu M:N.
Cardinalitatea (multiplicitatea) unei asocieri fa de o
mulime de entiti (cardinality, multiplicity), este numrul
maxim de elemente din acea mulime care pot fi asociate cu un
element din alt mulime a asocierii.

Fig. 1.5. Categorii de asocieri ntre dou mulimi de entiti: a - asociere


1:1; b - asociere 1:N; c- asociere M:N.

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.
Raportul dintre valorile cardinalitilor unei asocieri binare fa
de cele dou mulimi de entiti se numete raport de
cardinalitate (cardinality ratio). Se poate observa c cele trei

15

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

categorii de asocieri descrise mai sus difer ntre ele prin


raportul de cardinalitate.
Asocierile multiple (k-are, k > 2) prezint cte un raport de
cardinalitate pentru fiecare pereche de mulimi de entiti pe
care le asociaz.
O asociere ntre dou sau mai multe mulimi de entiti este,
n acelai timp, o asociere ntre tipurile de entiti
corespunztoare.
Diagrama
Entitate-Asociere
(Entity-Relationship
Diagram), reprezint modelul Entitate-Asociere prin 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 la acesta (fig. 1.6).

Fig. 1.6. Notaiile diagramei Entitate-Asociere (E-A).

Pentru entitile puternice se utilizeaz un dreptunghi


ncadrat cu o linie simpl, iar pentru entitile slabe se
utilizeaz un dreptunghi ncadrat cu linie dubl.
O asociere (tip de asociere) dintre dou sau mai multe tipuri
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
16

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

nume; dac are un nume, acesta poate fi nscris n rombul


respectiv sau n vecintatea acestuia. Categoria 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.
Exemplul 1.1. n continuare se exemplific dezvoltarea
modelului conceptual de nivel nalt al unei baze de date a unei
instituii i diagrama E-A corespunztoare, definind cteva
tipuri de entiti i asocierile ntre acestea. Diagrama E-A a
acestui mic model de baz de date este prezentat n fig. 1.7.

Fig. 1.7. Exemplu de diagram E-A.

Tipul de entitate secie reprezint o unitate de organizare


a instituiei i este un tip de entitate puternic (de sine
stttoare). Acest tip 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 SECTIE sau SECTII (oricare
variant poate fi folosit) i este caracterizat prin aceleai
atribute care caracterizeaz tipul entitii:
SECTIE(Numar,Nume,Buget)
17

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

Tipul de entitate angajat reprezint o persoan angajat n


instituie i este de asemenea un tip de entitate puternic. Acest
tip de entitate, ca i mulimea de entiti care grupeaz toate
entitile de acest tip, se poate defini astfel:
ANGAJAT(Nume, Prenume, DataNaterii, Adresa, Funcie,
Salariu)
Tipul de entitate proiect reprezint o activitate a
instituiei, este de asemenea un tip de entitate puternic, care
poate fi caracterizat prin numele proiectului, data nceperii,
termen de realizare, bugetul proiectului:
PROIECT(Nume,DataInceperii,Termen,Buget)
Tipul de entitate dependent reprezint o persoan care
depinde de un angajat al instituiei (adic se afl n ntreinerea
acestuia). Acest tip de entitate este un tip de entitate slab: nu
se va nregistra o astfel de persoan dect dac ntreintorul
acesteia este angajat n acea instituie. Acest tip se poate defini
astfel:
DEPENDENT(Nume,Prenume,DataNasterii,Grad
Rudenie)
Asocierea SECTIE-ANGAJAT, este o asociere 1:N, dac se
consider c o secie cuprinde 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 poate lucra la mai multe proiecte.
Asocierea ANGAJAT-DEPENDENT, este o asociere de tipul
1:N, deoarece un angajat poate ntreine mai multe persoane
(fii, prini etc.), iar o persoan dependent este n ntreinerea
unui singur susintor.
Raportul de cardinalitate al unei asocieri este stabilit de
proiectant astfel nct s reflecte ct mai corect modul de
organizare a activitii modelate. De exemplu, asocierea
ANGAJATI-PROIECTE are raportul de cardinalitate M:N
dac n instituia respectiv se admite ca un angajat s lucreze
18

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

la mai multe proiecte; dac s-ar impune ca un angajat s


lucreze la un singur proiect, atunci asocierea respectiv ar avea
raportul de cardinalitate N:1. n ambele situaii se admite c la
un proiect lucreaz mai muli angajai.
Sunt de remarcat cteva caracteristici generale ale
modelului E-A:
a) Modul de stabilire a tipurilor de entiti i a asocierilor
dintre acestea nu este unic, deoarece grania dintre entiti i
asocieri nu este, n general, una bine precizat. Aceeai
funcionalitate se poate obine printr-o varietate de diagrame EA, depinznd de felul n care proiectantul dezvolt modelul
conceptual. O asociere poate fi considerat i ca un tip de
entitate. De exemplu, pentru baza de date a unei faculti
(coli) se definesc tipurile (mulimile) de entiti:
STUDENTI(Nume,Prenume,Adresa,...)
DISCIPLINE(Denumire,Credite,...)
ntre aceste mulimi de entiti se poate defini asocierea
STUDENTI-DISCIPLINE, cu raportul de cardinalitate M:N.
Aceast asociere reprezint (n general) studierea unor
discipline de ctre studeni, cu atribute ca: Nota (examenului
la disciplina respectiv), DataExamen etc. Dar, la fel de bine,
este posibil s se defineasc tipul de entitate NOTE, aflat n
asociere N:1 cu fiecare din tipurile de entiti STUDENTI i
DISCIPLINE (fig. 1.8).

Fig. 1.8. Diferite moduri de definire a tipurilor de entiti i a asocierilor:


a- asociere M:N ntre mulimile de entiti STUDENTI i DISCIPLINE;
b - mulimea de entiti EXAMENE este asociat cu raportul de cardinalitate
N:1 cu fiecare din mulimile de entiti STUDENTI i DISCIPLINE.

19

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

b) n modelul E-A, tipul de entitate (i mulimea de entiti


corespunztoare) semnific un substantiv, n timp ce o asociere
semnific un verb. Nu este obligatoriu ca numele dat unei
asocieri s fie un verb (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 fig. 1.7,
asocierea SECTIE-ANGAJAT poate fi exprimat prin verbul
cuprinde, asocierea ANGAJATI-DEPENDENTI poate fi
exprimat prin verbul ntreine, asocierea ANGAJATIPROIECTE poate fi exprimat prin verbul lucreaz etc.
c) 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 bazei de
date. De exemplu, n modelele ierarhic i reea, asocierile sunt
realizate explicit, prin pointeri de la o entitate la entitile
asociate, n timp ce n modelul relaional asocierea se
realizeaz prin egalitatea valorilor unor atribute comune ale
entitilor (chei).
1.5.1.2. Modelul Entitate-Asociere Extins

Modelul

Entitate-Asociere Extins (Enhanced EntityRelationship Model) permite definirea de subtipuri ale unui tip
de entiti, care motenesc atribute de la tipul de entitate pe
care il extind (care, n acest context, se numete supertip) i au
n plus atribute specifice semnificaiei lor. Prin definirea
tipurilor i a subtipurilor de entiti se pot crea ierarhii de
tipuri de entiti pe mai multe niveluri.
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, n care se folosesc tipuri de date simple. Odat cu
dezvoltarea sistemelor de baze de date, domeniile n care
acestea se folosesc au devenit tot mai numeroase, de exemplu:
20

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

telecomunicaiile, proiectarea tehnologic, sistemele de


informaii geografice, seviciul Web etc. Tipurile de entiti
definite n astfel de baze de date sunt mult mai complexe, iar
pentru reprezentarea lor ct mai intuitiv i mai compact au
fost propuse mai multe concepte noi, care au fost introduse n
modelul E-A extins.
Modelul E-A extins se reprezint printr-o diagram E-A
extins. Ierarhiile de tipuri se pot crea prin specializare sau
generalizare.
Specializarea (specialization), 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 specific pe care l au n
modelul de date.
De exemplu, pornind de la tipul de entitate ANGAJAT se
definesc prin specializare subtipurile: SECRETARA,
TEHNICIAN, INGINER, pentru a diferenia funciile pe care
angajaii le pot avea n ntreprinderea respectiv (Fig. 1.9).
Litera d din marcajul de specializare a tipurilor indic o
constrngere de disjuncie impus specializrii, care va fi
descris mai jos.
Subtipurile de entiti motenesc atribute ale tipului iniial
i fiecare dintre ele are atribute suplimentare, specifice rolului
lor. De exemplu, atributele:
(Nume,Prenume,DataNasterii,Adresa,Salariu)
ale tipului de entitate ANGAJAT sunt motenite de fiecare din
subtipurile acestuia. Atributul Functie nu este motenit,
deoarece specializarea subtipurilor s-a efectuat dup acest
atribut. Ca atribute specifice, subtipul SECRETARA are
atributul VitezaRedactare, care este o msur a
calificrii, subtipul TEHNICIAN are atributul Calificare,
care reprezint gradul de calificare, iar subtipul INGINER are
21

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

atributul Specialitate, care este o precizare a domeniului


n care lucreaz (mecanic, electric etc.).
Generalizarea (generalization), este procesul de
abstractizare invers specializrii, prin care se creaz un
supertip de entitate pornind de la mai multe tipuri de entiti.
Pentru definirea unei generalizri, se identific atributele
comune ale mai multor tipuri de entiti, aceste atribute vor
caracteriza supertipul de entitate, iar atributele care difer de
acestea rmn specifice fiecrui tip.
De exemplu, dac au fost definite tipurile de entiti:
AUTOMOBIL(NrInregistrare,Marca,
VitezaMaxima,Pret,NumarPasageri)iCAMION
(NrInregistrare,Marca,VitezaMaxima,Pret,
Tonaj), se poate defini un supertip al acestor tipuri:
VEHICUL(NrInregistrare,Marca,VitezaMaxima,
Pret). Acest tip va cuprinde toate atributele comune, iar
tipurile iniiale, AUTOMOBIL i CAMION, devin subtipuri ale
tipului VEHICUL, fiecare coninnd atributele specifice
(NumarPasageri pentru tipul AUTOMOBIL i Tonaj
pentru tipul CAMION).
Rezultatul obinut prin generalizare este ca i n cazul
specializrii, o ierarhie de tipuri de entiti, ceea ce difer este
modul n care se definesc nivelurile ierarhiei.

Fig.1.9. Diagrama E-A extins cu ierarhie de tipuri de entiti.


22

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

Motenirea atributelor. Proprietatea principal a ierarhiilor


de tipuri de entiti create prin specializare sau generalizare
este motenirea atributelor: atributele tipurilor de entiti de
nivel ridicat (supertipuri) sunt motenite de tipurile de entiti
de nivel sczut (subtipuri).
Motenirea dintre un subtip de entiti i supertipul acestuia
se reprezint n diagrama E-A extins printr-o legtur (link)
ntre subtip i supertipul de entitate corespunztor pe care este
plasat un semicerc orientat ctre subtip (fig. 1.9).
Este evident asemnarea dintre ierarhiile de tipuri de
entiti din modelul E-A extins i ierarhiile de clase din
modelul obiect-orientat, dar modelul E-A extins este un model
de date mult mai general (de nivel nalt), care poate fi transpus
n diferite modele de date specializate, inclusiv modelul obiectorientat. Aceste transpuneri se fac n funcie de suportul oferit
de modelul specializat respectiv pentru reprezentarea
entitilor, asocierilor, motenirilor etc.
1.5.1.3. Modelul de date ierarhic

n modelul ierarhic (Hierarchical Model) o baz de date se


reprezint printr-o structur ierarhic de nregistrri de date
(records) conectate prin legturi (links).
Modelul de date ierarhic a fost primul model folosit pentru
dezvoltarea 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, n perioada anilor 1960.
O nregistrare de date n modelul ierarhic este o instan a
unui tip de nregistrare (record type) i const dintr-o colecie
de cmpuri (fields), fiecare cmp coninnd valoarea unui
atribut. Un tip de nregistrare corespunde unui tip de entitate,
iar o nregistrare corespunde unei entiti din modelul E-A.
Un tip de legtur n modelul ierarhic este un tip de
asociere cu raportul de cardinalitate 1:N (de tip printe-fiu)
23

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

ntre dou tipuri de nregistrri. Tipul de nregistrare din partea


cu multiplicitatea 1 a asocierii este numit tip de nregistrare
printe, iar tipul din partea cu multiplicitatea N a asocierii este
numit tip de nregistrare fiu.
Schema conceptual a unei baze de date n modelul ierarhic
se reprezint printr-un numr oarecare de scheme ierarhice (fig.
1.10). O schem ierarhic este un arbore direcionat,
reprezentat pe mai multe niveluri, n care nodurile sunt tipurile
de nregistrri, iar arcele sunt tipurile de legturi. Fiecare nod
(cu excepia nodului rdcin), are o singur legtur ctre un
nod de pe un nivel superior (nodul printe) i fiecare nod (cu
excepia nodurilor frunz) are una sau mai multe legturi ctre
noduri de pe nivelul imediat inferior (noduri fii).
Se poate stabili o coresponden ntre o schem conceptual
ierarhic i o diagram E-A: tipurile de nregistrri corespund
tipurilor de entiti, iar tipurile de legturi corespund tipurilor
de asocieri. (fig. 1.10, a i b).
n modelul ierarhic nu sunt admise dect legturi de tipul
printe-fiu, care corespund asocierilor 1:1 i asocierilor 1:N din
modelul E-A. Asocierile M:N din modelul E-A nu se pot
reprezenta n mod direct n modelul ierarhic, ci numai prin
multiplicarea nregistrrilor de tip fiu, atunci cnd sunt referite
de mai multe nregistrri de tip printe. Acest lucru conduce la
o mare redundan a datelor.
Corespunztor schemei ierarhice a unei baze de date se pot
reprezenta mai muli arbori de instaniere a datelor, care sunt,
de asemenea, arbori direcionai (fig. 1.10, c). Fiecare arbore de
instaniere conine ierarhii pe mai multe niveluri de nregistrri
ntre care exist legturi de tipul printe-fiu.

24

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

Fig. 1.10. Baz de date ierarhic: a - diagrama E-A; b - schema conceptual


a bazei de date ierarhice; c - arbori de instaniere a datelor.

Avantajele modelul ierarhic sunt simplitatea i eficiena de


calcul, dar n momentul de fa, pentru realizarea bazelor de
date sunt preferate modele de date mai puternice (modelul
relaional, modelul obiect-orientat).
1.5.1.4. Modelul de date reea

Modelul reea (Network Model) folosete o structur de


graf pentru definirea schemei conceptuale a bazei de date;
nodurile grafului sunt tipuri de entiti (nregistrri - records),
iar muchiile grafului reprezint n mod explicit asocierile
(legturile-links) dintre tipurile de entiti.
Aprut dup modelul ierarhic, modelul reea de
reprezentare a bazelor de date a fost standardizat n 1971, de o
comisie DBTG (Database Task Group). Modelul reea a avut
mai multe implementri ca sisteme de gestiune comerciale:
IDS II (Honeywell), UNISYS (Burroughs), IDMS (Computer
Associates).
Deosebirea fa de modelul ierarhic const n aceea c n
modelul reea, asocierile M:N se reprezint fr duplicarea
nregistrrilor, fiecare nregistrare putnd fi referit de mai
multe nregistrri, ceea ce elimin redundana.
25

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

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 memorarea explicit
a legturilor ntre tipurile de entiti. n plus, complexitatea
reprezentrii datelor n modelul reea este deosebit de ridicat,
iar programatorii trebuie s o cunoasc pentru a putea realiza
aplicaiile necesare.
n momentul de fa modelul de date reea este foarte rar
utilizat pentru baze de date de uz general (care implic operaii
de interogare), dar exist unele domenii n care structurarea ca
graf a datelor permite o parcurgere eficient a acestora. De
exemplu, majoritatea bazelor de date grafice folosite n
modelarea scenelor tridimensionale din realitatea virtual sunt
baze de date reea, (Ion96a).
1.5.1.5. Modelul de date relaional

Modelul

relaional (Relational Model) se bazeaz pe


noiunea de relaie (relation) din matematic, care corespunde
unei mulimi de entiti de acelai tip.
Modelul de date relaional a fost propus de cercettorul E.F.
Codd de la compania IBM, care a publicat n anul 1970
lucrarea "Un model Relaional de Date pentru Bnci Mari de
Date Partajate", (Codd70). Alte lucrri ale lui Codd, ca i ale
altor cercettori (C.J. Date, P. Chen, R. Boyce, J.D. Ullman, R.
Fagin, W.W. Armstrong, M. Stonebraker etc.) au perfecionat
modelul de date relaional i au permis dezvoltarea fr
precedent a sistemelor de gestiune a bazelor de date, datorit
simplitii i a fundamentrii matematice a modelului.
Primul Sistem de Gestiune a Bazelor de Date Relaionale
(SGBDR) a fost prototipul System R, dezvoltat la compania
IBM n anii 1970, dup care numeroase companii au realizat
sisteme de gestiune relaionale (Oracle, Microsoft, Ingres,
Sybase etc.) iar aplicaiile de baze de date relaionale au cptat
o amploare deosebit.
26

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

Pe lng avantajul unui model de date precis i simplu,


sistemele de baze de date relaionale mai beneficiaz i de un
limbaj de programare unanim recunoscut i acceptat, limbajul
SQL (Structured Query Language), pentru care au fost emise
mai multe standarde de ctre ISO (International
Standardization Office). Majoritatea SGBD-urilor relaionale
actuale implementeaz versiunea SQL92 (sau SQL2).
1.5.1.6. Modelul de date obiect-orientat

Modelul obiect (Object Model) este un concept unificator


n tiina calculatoarelor, fiind aplicabil n programare, n
proiectarea hardware-ului, a interfeelor, a bazelor de date,
etc. Sistemele de baze de date obiect-orientate se bazeaz pe
limbaje de programare obiect-orientate cu capaciti de
persisten, n care datele sunt independente de timpul de via
al programelor care le creeaz, prin memorare pe suport
magnetic (disc).
Orict de folositor este modelul de date relaional pentru
realizarea bazelor de date, exist unele domenii (n special
acele domenii n care se manevreaz tipuri de date complexe),
n care modelul relaional s-a dovedit a fi insuficient de
expresiv i cu performane de execuie reduse. Domenii ca:
proiectarea asistat de calculator, sisteme de informaii
geografice, medicin etc., au impulsionat cercetri pentru
gsirea unor modele mai performane, dintre care modelul
obiect-orientat i modelul obiect-relaional au cunoscut i
cunosc n continuare o dezvoltare semnificativ.
Caracteristicile
importante
ale
modelului
obiect
(abstractizarea, motenirea, ncapsularea, modularitatea) sunt
intens dezbtute i analizate mai ales din perspectiva proiectrii
i programrii obiect-orientate (Booch87), (Con00).
Din perspectiva realizrii bazelor de date, o alt proprietate
a modelul obiect, persistena, este cea care asigur memorarea
27

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

transparent pe suport magnetic a obiectelor care alctuiesc o


baz de date obiect-orientat.
Pentru dezvoltarea unui Sistem de Gestiune a Bazelor de
Date Obiect-Orientate (SGBDOO) se poate aborda una din
urmtoarele strategii:
Extinderea unui limbaj de programare obiect-orientat cu
capaciti de administrare a obiectelor persistente. Sistemul
GemStone este un astfel de SGBDOO, dezvoltat prin
extinderea limbajelor C++ i Java.
Extinderea unui limbaj de programare relaional cu
capaciti de orientare spre obiecte. Un astfel de limbaj este
limbajul ODL (sau Object SQL Object Query Language),
specificat prin standardul propus de consoriul Object
Database Management Group, din care fac parte principalii
productori de sisteme de baze de date obiect-orientate. Exist
mai multe astfel de sisteme, cum sunt: Ontos, Versant, O2.
Dezvoltarea unui limbaj obiect-orientat pentru baze de
date complet nou, care s asigure crearea i interogarea
obiectelor persistente. Exist i astfel de produse, de exemplu
sistemul SIM (Semantic Information Manager).
Dintre avantajele cele mai importante ale sistemelor de baze
de date dezvoltate n modelul obiect se evideniaz capacitatea
acestora de a defini i manevra tipuri de date complexe (clase),
care se pot extinde prin mecanismul de motenire, ceea ce
contribuie la creterea performanelor n aplicaiile de baze de
date avansate.
Exist, bineneles i dezavantaje ale sistemelor de baze de
date obiect-orientate, care le fac s aib o utilizare limitat,
mult mai redus dect cea a sistemelor de baze de date
relaionale (sub 5% din piaa sistemelor de baze de date).
Principalul dezavantaj l constitue complexitatea de dezvoltare
a bazei de date i a aplicaiilor, datorit faptului c proiectanii
i programatorii trebuie s prevad n structura obiectelor toate
asocierile (legturile), necesare tuturor interogrilor. Cu ct
28

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

interogrile sunt mai complexe, cu att sunt necesare mai multe


asocieri ntre obiecte i deci se complic structura acestora. La
acest dezavantaj se adaug i altele, cum ar fi lipsa unui
standard de limbaj de interogare care s fie unanim (sau ct mai
larg), acceptat.
1.5.1.7. Modelul de date obiect-relaional

Modelul

obiect-relaional (Object-Relational Model)


reprezint extinderea modelului relaional cu caracteristici ale
modelului obiect, extindere necesar pentru realizarea bazelor
de date care definesc i prelucreaz tipuri de date complexe.
n esen, modelul obiect-relaional pstreaz structurarea
datelor n relaii (reprezentate ca tabele), dar adaug
posibilitatea definirii unor noi tipuri de date, pentru domeniile
de valori ale atributelor. Tipurile de date definite de utilizator
pot fi extinse prin mecanismul de motenire, iar pentru fiecare
tip sau subtip se pot defini metode pe care le pot executa
obiectele de acel tip.
n general, dezvoltarea sistemelor de gestiune a bazelor de
date obiect-relaionale (SGBDOR) se realizeaz prin extinderea
sistemelor relaionale, de cele mai multe ori n mod gradat,
adugndu-se de la o versiune la alta ct mai multe
caracteristici posibile ale modelului obiect i pstrnd n
continuare toate caracteristicile modelului relaional.
O astfel de abordare asigur rularea n continuare a
aplicaiilor relaionale existente n noile versiuni de sisteme
SGBDOR, ceea ce permite productorilor s-i pstreze clienii
i domeniile de utilizare. Mai muli dintre principalii
productori de sisteme de gestiune (Oracle, Informix i IBM)
au extins n acest mod sistemele lor relaionale pentru a deveni
sisteme obiect-relaionale. Este o tendin fireasc, dat fiind c
prin aceasta se pstreaz toat experiena i rezultatele obinute
cu sistemele relaionale i se pot dezvolta i aplicaii complexe,
obiect-relaionale.
29

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

Standardele limbajelor de programare pentru sistemele de


gestiune obiect-relaionale sunt extensii ale standardului SQL
(de exemplu, versiunea din anul 1999, denumit SQL3).
1.5.1.8. Complexitatea datelor i a interogrilor

M. Stonebraker a oferit o reprezentare n patru cadrane a


universului bazelor de date (fig. 1.11), deosebit de simpl i de
interesant, bazat numai pe complexitatea datelor i a
interogrilor (Ston96). Propus n anul 1996, aceast clasificare
nu include modelele prerelaionale (modelul ierarhic i modelul
reea), considerate depite n aceast faz de dezvoltare a
bazelor de date.
Pe abscisa diagramei este reprezentat capacitatea de
definire a tipurilor de date complexe, iar pe ordonat este
reprezentat capacitatea de interogare a bazelor de date.
n cadranul din stnga jos sunt acele aplicaii care
prelucreaz tipuri de date simple i nu necesit interogarea
datelor. Astfel de tipuri de aplicaii (cum sunt procesoarele de
texte Word, Framemaker) folosesc direct sistemul de fiiere
al sistemului de operare pentru memorarea datelor persistente.

Fig. 1.11. Clasificarea sistemelor de gestiune a bazelor de date.

n cadranul din stnga sus sunt Sistemele de Gestiune a


Bazelor de Date Relaionale (SGBDR), care prelucreaz tipuri
simple de date, dar permit interogri complexe.
n cadranul din dreapta jos sunt Sistemele de Gestiune a
Bazelor de Date Obiect-Orientate (SGBDOO), care
30

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

prelucreaz tipuri de date complexe, dar n care rezolvarea


interogrilor este destul de dificil, dat fiind c pentru fiecare
interogare trebuie s fie prevzute legturile necesare n
structura obiectelor.
n cadranul din dreapta sus sunt reprezentate Sistemele de
Gestiune Obiect-Relaionale (SGBDOR), care permit
prelucrarea datelor complexe i rezolvarea interogrilor
complexe. Modelul obiect-relaional este, evident, cel mai
complet, deoarece admite att tipuri de date definite de
utilizator ct i interogri complexe. n aceeai lucrare,
Stonebraker denumete sistemele de gestiune a bazelor de date
obiect-relaionale ca fiind sisteme de baze de date universale.
n momentul de fa este evident tendina productorilor
de sisteme de gestiune a bazelor de date de a trece la sisteme
obiect-relaionale, n general, aceast trecere se realizeaz prin
adugarea treptat a caracteristicilor modelului obiect n
sistemele de gestiune relaionale. Oferta de sisteme de gestiune
a bazelor de date este deosebit de generoas, pe o scar extins
de performane i costuri, de la sisteme care se pot folosi
gratuit (fr licen sau cu licen public), pn la sisteme cu
nalte performane, a cror utilizare necesit plata licenelor
respective. Chiar i pentru astfel de sisteme exist versiuni de
test (trial versions) care pot fi obinute gratuit prin Internet (de
la adresele indicate n Bibliografie), astfel nct pot fi folosite
pentru a nelege i a executa exemplele propuse n aceast
lucrare.
Sistemul Oracle este un sistem de gestiune a bazelor de
date multi-utilizator puternic, cu implementri pe toate
platformele (Windows, Unix, Linux), care ofer att
performane de execuie ridicate, ct i un grad nalt de
protecie i securitate a datelor. n toate versiunile, Oracle ofer
implementarea complet a caracteristicilor modelului relaional
(conform standardului SQL2), iar ultimele versiuni (Oracle8i,
31

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

Oracle9i i Oracle 10g) sunt sisteme de gestiune obiectrelaionale distribuite, implementnd extensiile obiect-orientate
prevzute n standardul SQL3 i oferind posibilitatea de
dezvoltare a bazelor de date distribuite. Sistemele de gestiune
Oracle, dar i diferite instrumente de dezvoltare a aplicaiilor
de baze de date (Oracle Application Server, JDeveloper, Oracle
Forms etc.), se pot obine de la adresa http://www.oracle.com ,
iar termenii licenei permit utilizarea acestor sisteme n scopuri
necomerciale pe o perioad nelimitat; pentru utilizarea n
scopuri comerciale trebuie s fie pltite licenele
corespunztoare
SQL Server este sistemul de gestiune a bazelor de date
relaionale dezvoltat de firma Microsoft pentru sistemele de
operare Windows. Au existat mai multe versiuni, versiunea
actual (2007) fiind SQL Server 2005. n toate versiunile
sistemul SQL Server suport complet standardul SQL2, cu
implementarea performant a trsturilor avansate de stocare i
prelucrare a datelor (integritate referenial, subinterogri,
triggere, gestiunea tranzaciilor etc). De la adresa
http://www.microsoft.com/sql se poate obine gratuit o versiune
de test a sistemului SQL Server sau se poate cumpra o
versiune complet. n plus, pachetul de dezvoltare .NET SDK
(.NET Software Development Kit), care se poate obine gratuit
de la adresa http://msdn.microsoft.com/downloads , conine o
versiune mai simpl de server de baze de date numit Microsoft
SQL Server 2000 Desktop Engine (MSDE 2000) care poate fi
folosit pentru dezvoltarea i execuia exemplelor prezentate n
lucrare.
Microsoft Access este unul din cele mai cunoscute sisteme
de gestiune a bazelor de date relaionale pe platforme de
calculatoare personale. MS Access dispune de un sistem de
control al bazei de date (database engine) i o interfa grafic
32

Cap.1 Introducere - Concepte de baz privind sistemele de baze de date

pentru interaciunea cu utilizatorul. Aplicaiile de baze de date


n MS Access se pot dezvolta cu mult uurin datorit
generatoarelor de aplicaii (Wizards) care permit proiectarea
vizual a bazelor de date i a formularelor (forms) pentru
interfeele grafice. MS Access este folosit n special pentru
aplicaii personale sau pentru mici afaceri i licena acestuia se
poate cumpra odat cu licena produsului Microsoft Office.
MySQL este un sistem de gestiune a bazelor de date
relaionale cu implementri pentru sistemele de operare
Windows, Linux, Unix. La adresa http://www.mysql.com , se
gsete ultima versiune i documentaia sistemului de gestiune
a bazelor de date MySQL care se poate utiliza gratuit (open
source). Acest sistem este compatibil cu standardul SQL2, dar
unele prevederi ale standardului sunt implementate parial.
Versiunea actual 2007, este versiunea 5.0 care ofer vederi,
proceduri stocate i triggere (caracteristici care lipseau in
versiunile precedente).

33

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