Documente Academic
Documente Profesional
Documente Cultură
CURS nr. 7
Modelul entitate-relaie
Se bazeaz pe o percepie a lumii reale ca fiind alctuit dintr-o colecie de obiecte de baz sau
concepte (entiti) mpreun cu relaiile care se stabilesc ntre ele. Fiecare entitate are asociat un set
de atribute care o descriu, iar o relaie reprezint o asociere dintre dou sau mai multe entiti.
Mulimile tuturor entitilor sau relaiilor de acelai tip sunt cunoscute sub denumirea de tipuri de
entiti sau relaii. Un alt element important n cadrul diagramelor entitate-relaie l reprezint
precizarea constrngerilor de cardinalitate care exprim numrul de entiti asociate altui tip de
entitate prin intermediul unui tip de relaie.
BAZE DE DATE
CURS nr. 7
astfel de caracteristic, ceea ce face s nu existe un consens n definirea lor. Totui, organizaia
OMG (Object Management Group) a depus mari eforturi, reuind s propun un model ce a devenit
standard pentru toate sistemele de gestiune a bazelor de date orientate pe obiecte.
Modelul obiectual-relaional
Acest model (cunoscut iniial sub numele de model de date relaional extins) a extins modelul
relaional prin introducerea unor serii de elemente i caracteristici specifice modelului obiectual,
cum ar fi: clase, ncapsulare, motenire. Cele mai cunoscute produse de pe pia sunt: Postgres,
Informix, DB2, Oracle.
Scopul acestei extinderi a fost acela de a permite bazelor de date relaionale s opereze cu tipuri
complexe de date, cum ar fi: imagini audio, video, elemente de proiectare. Modelul se afl nc la
stadiul incipient de dezvoltare, chiar dac este promovat de cei mai mari productori de pe pia de
produse de baze de date.
2.1.5. Modele fizice de date
Sunt modele utilizate la descrierea datelor la cel mai de jos nivel. Ele conin informaii despre
structura nregistrrilor, ordinea nregistrrilor, precum i cile de acces la date. Din aceast
categorie fac parte:
- modelul unificat al datelor;
- memoria cadru.
2.1.6. Avantajele bazelor de date relaionale
Sunt urmtoarele:
- Integritate ncorporat la mai multe nivele. Integritatea datelor este integrat n cadrul
modelului la nivel de cmp pentru a asigura precizia datelor. La nivel de tabel asigur faptul c
o nregistrare nu mai poate fi introdus nc o dat n baza de date, precum i detectarea lipsei
valorilor din cmpurile cheie primar. La nivel de relaie asigur validitatea acestora ntre
tabele. La nivel logic, asigur acurateea logic a datelor.
- Independena logic i fizic a datelor de programele aplicaie: nici modificrile efectuate
de ctre utilizator modelului logic al bazei de date, nici modificrile efectuate de ctre
productorul bazei de date implementrii fizice a acesteia, nu vor afecta programele aplicaiilor
care utilizeaz baza de date.
- Garanteaz consistena i precizia datelor: datele sunt consistente i precise datorit
multiplelor nivele de integritate ce pot fi introduse n baza de date.
- Extragerea cu uurin a datelor din baza de date. n urma comenzilor introduse de ctre
utilizator, datele din baza de date pot fi extrase fie dintr-un singur tabel, fie dintr-o multitudine
de tabele asociate prin intermediul relaiilor, ceea ce ofer posibilitatea prezentrii datelor ntrun numr nelimitat de moduri.
Acestea i alte avantaje au adus beneficii extrem de importante comunitii de afaceri i tuturor
acelora care au nevoie de colectarea i nmagazinarea de date. Deocamdat, bazele de date
relaionale dein supremaia pe piaa acestor produse, fiind alese n cele mai multe dintre cazuri.
Pn de curnd, cel mai mare dezavantaj al bazelor de date relaionale l reprezenta faptul c
programele aplicaie care le foloseau erau foarte lente n execuie. Problema nu era una a bazelor de
date relaionale, ci tehnologiei deficitare de care se dispunea la momentul introducerii modelului.
ncepnd cu anii 90 paii nainte fcui att n domeniul hardware ct i software au fcut ca o
astfel de problem s fie din ce n ce mai puin vizibil.
2.1.7. Chei
O cheie este un cmp ce are o valoare unic, corespunztoare fiecrei nregistrri dintr-un
tabel. Sunt mai multe tipuri de chei, fiecare avnd propriile caracteristici.
BAZE DE DATE
CURS nr. 7
BAZE DE DATE
CURS nr. 7
cu aceasta, rapiditatea obinerii rezultatului. nc din zorii civilizaiei IT s-a observat c - pe lng
calculele ce erau preponderente n tehnologia informatic embrionar - computerele s-ar preta i la
nmagazinarea i exploatarea volumelor mari de informaii. Astfel, ncepnd cu anul 1948 s-au fcut
mai multe studii, cercetri i experimente privind stocarea datelor, iar de-a lungul timpului s-au
manifestat mai multe modele, arhitecturi i tehnologii privind bazele de date. Acceptnd un punct de
vedere oarecum teoretic, fr ns a intra in detalii aride, vom trece in revist principalele modele de
concepie i organizare a bazelor de date, dup care ne vom ocupa de arhitecturile de implementare
a sistemelor de gestiune a bazelor de date (SGBD).
2.2.2. Istoric
Pn spre anii 80 contau doar mainframe-urile, minisistemele i supercomputerele, bazele de date
fiind foarte mari (rspunznd unor cerine dure impuse de beneficiari pretenioi, pentru c doar
acetia aveau puterea financiar de a achiziiona tehnica motivat de probleme complexe i critice este uor s ne imaginm baze de date referindu-se la sute de mii sau milioane de entiti).
Tendinele forau mereu limite, iar de aici derivau problematici provocatoare privind performana,
accesibilitatea i mentenabilitatea. Prin anii 70, modelul relaional s-a cristalizat ca soluie viabil,
iar lupta concurenial dintre marii juctori de pe piaa bazelor de date se va da pn in vremea
noastr pe arena SGBDR i SQL.
Mult timp modelul de organizare centralizat (datele sunt depozitate pe un sistem central de unde
utilizatorii le acceseaz) a raspuns cel mai bine cerinelor de exploatare a bazelor de date. i astzi
pentru aproape orice mediu departamental (sau grup de lucru) organizarea centralizat a
informaiilor - i nu ne referim neaprat la baze de date (de exemplu, sistemele de gestiune i
control al circulaiei documentelor - unde documentele pot fi orice: documentaii, proiecte, desene
CAD, arhive etc.) - constituie o prim opiune.
Odat cu rspndirea i dezvoltarea calculatoarelor s-au deschis i orizonturile, iar ca o prima
tendin s-a dovedit necesitatea descentralizrii i interoperrii. Proliferarea diverselor platforme
(hardware i/sau sisteme de operare) au forat definirea de standarde de schimb de date i de
comunicaii, precum i dezvoltarea reelelor eterogene.
Iar pentru c lucrurile se ntmplau odat cu afluxul calculatoarelor personale, inevitabil
programatorii s-au gndit la ceva intre SGBD i spreadsheet, iar de aici la apariia unor baze de date
desktop de genul lui dBASE n-a fost dect pasul materializrii.
Evoluia ramurii desktop a bazelor de date s-a fcut in paralel cu mainstream-ul, dar influenndu-se
reciproc. Cele mai evidente tendine se pot descrie pe scurt astfel: bazele de date mici doreau s-i
dezvolte funcionaliti de sistem relaional (s poat defini relaii i s ncorporeze SQL) i s-i
extind limitele, iar cele mari i-au aplecat atenia asupra accesibilitii, materializat prin interfee
utilizator facile chiar i pentru activitile administrative (o interfa de calitate ajunge deseori un
argument de pia).
BAZE DE DATE
CURS nr. 7
Extincia dinozaurilor n-a fost deloc complet: muli nc mai fac fa aplicaiilor critice (care nici
nu pot fi ntrerupte fr pierderi), iar interoperabilitatea cu arhitecturile moderne nu-i incomodeaz
deloc, ba parca-i retriesc o a doua tineree...
BAZE DE DATE
CURS nr. 7
BAZE DE DATE
CURS nr. 7
primele niveluri ale toleranei la defectri. Desigur ca i un LAN desktop - Novell, Windows NT poate face mirroring, ins nuanele difer.)
- recuperarea datelor n caz de blocare/cdere a sistemului i refacerea tranzaciilor neterminate;
- jurnalizarea acceselor, tranzaciilor i a sesiunilor de lucru sau de administrare;
- economicitatea upgrade-ului: ridicarea performanelor globale rezid n principal n creterea
puterii calculatorului pe care ruleaz serverul bazei de date, privind mai puin calculatoarele client
pe care se afla software-ul front-end etc.
Client si server pot fi vzute i ca dou procesoare distincte rulnd pe maini diferite (mai rar pe
aceeai main), bazate eventual (dar nu obligatoriu) pe acelai sistem de operare. Comunicaia prin
care partea "client a aplicaiei solicit servicii prii server se face prin mesaje (messagepassing), fiind complet transparent utilizatorului. Posturile de lucru pot fi uzual PC-uri, laptop-uri,
staii UNIX sau Macintosh, iar serverul poate fi un mainframe, un server departamental sau chiar un
PC bine dopat. Software-ul bazelor de date implementate prin arhitectura client/server se prezint
generic astfel: SGBD-urile asigur partea de server, iar aplicaiile de exploatare a datelor se afl
uzual la nivelul client (sculele de editare a aplicaiilor utilizator aparin de productorii SGBD-urilor
implementate sau pot fi din familia celor bazate pe specificaii deschise: ODBC, JDBC, Embeded
SQL, DCOM, OLE etc.).
Repartizarea datelor i a aplicaiei (logicii) ntre straturile "client i "server nu este preimpusa,
fiecare implementare fiind susceptibila de un optim.
Arhitectura client/server dovedete suplee (modularitatea i scalabilitatea oferind disponibilitate
crescut la reorganizri i extinderi) i deschidere (chiar se consider ca ea a aprut din necesitatea
de a asigura o deschidere i interoperabilitate superioare modelului centralizat cu mainframe).
Modelul client/server a fost i el susceptibil de perfecionri de principiu, iar una dintre cele mai
interesante este impunerea de niveluri/straturi intermediare intre client i server (n-tier), ca raspuns
la dilema legata de poziionarea programelor de aplicaie (logica de operare/afacere): care dintre
pri trebuie sa fie mai "groase, clientul sau serverul? ntruct avantajele locale erau permanent
necomplementare, s-a dezvoltat ideea unui strat intermediar, concretizat ntr-un server de aplicaii
interpus ntre clientul subire i serverul bazei de date (middle-tier), ambele capete fiind astfel
descongestionate de partea de logica. Interesant este i observaia unor analiti care asociau
tendina modern de accentuare a clientului subire cu revenirea la modelul mainframe cu terminale
"chioare. Oricum, cerinele actuale privind deschiderea mediilor informaionale determin diluarea
graniei dintre modele, reelele eterogene fiind vzute ca soluia cea mai viabil de a menine
echilibrul ntre permanentele inovaii i conservarea investiiilor anterioare.
ns cele mai deranjante dezavantaje ale arhitecturii client/server deriv din complexitatea ei
(cerine asupra personalului implicat: nelegerea conceptual a arhitecturii de ctre persoanele de
decizie, precum i cunotine aprofundate pentru cei care implementeaz/dezvolt efectiv
sistemul/aplicaiile) i din standardizarea insuficient.
Majoritatea serviciilor Internetului se desfoar n regim client/server (banala navigare nseamn
un utilizator accesnd datele dintr-un site-server prin intermediul unei aplicaii client, care este
browserul de Web), astfel c devine natural implicarea SGBDR-urilor n aplicaii Internet (de
genul e-business sau e-commerce). S ne imaginm urmtorul scenariu: un furnizor de produse i
organizeaz un catalog de produse (magazin virtual) pe care utilizatorii l pot consulta prin
navigatorul de acas. Lucrurile se desfoar prin pagina HTML pe care serverul de Internet o
trimite clientului, la rndul ei respectiva pagina acionnd ca ablon (formular/form) de accesare a
informaiilor comerciale din baza de date deservit de un server legat la site-server (cel mai frecvent
baza de date conine i imagini dac nu chiar i alte date multimedia). Iar daca utilizatorul va
comanda din produsele expuse completnd un formular din pagina Web (controlat printr-un script),
se declaneaz o alt serie de comunicaii ntre client i server.
BAZE DE DATE
CURS nr. 7
aplicaiilor i utilizatorilor s trateze baza de date ca pe un singur depozit logic chiar dac datele
constituente sunt repartizate n mai multe locaii ale reelei (transparena complet a localizrii
datelor). Totui problema este delicat i pentru c - din punctul de vedere al analizei - se poate
oricnd crea o aplicaie care s trateze unitar tabele de date situate pe calculatoare diferite. Dar
pentru c adevrata baz de date se dorete independent de limbaje (sau de mediile de dezvoltare)
sunt de apreciat acele SGBD-uri care conin integrate funcionaliti care s asigure distribuirea
datelor n nodurile reelei.
innd cont c de obicei volumul i complexitatea datelor spulber idealul "un computer foarte
performant cumulnd ntreaga baza de date i deservind toi utilizatorii ntreprinderii/organizaiei
i trebuie gsit o soluie de compromis, devine foarte interesant colecia de criterii practice de
distribuire a datelor n cazul fiecrei implementri, particularitile cernd un optim jalonat de
urmtoarele aspecte:
- nu trebuie niciodat pierdut din vedere dezideratul vitezei;
- limita de stocare i puterea calculatoarelor gazda;
- limita de transfer a reelei;
- preferabil ca fiecare aplicaie s acceseze uzual un singur depozit al bazei de date (fr a
mpiedica accesarea cu frecven redusa a celorlalte noduri ale reelei);
- folosirea funciilor two-phase-commit existente pentru a asigura integritatea datelor
actualizate distribuit;
- planificarea, controlul i minimizarea duplicrii de obiecte ale bazei de date;
- corelarea organizrii cu facilitile de optimizare distribuit ale SGBD-ului.
Cercetatorul Chris Date (coleg de proiecte cu E.F. Codd) a enunat cele 12 cerine ideale crora
trebuie s li se supun bazele de date distribuite; dintre acestea 9 sunt urmtoarele:
0. Autonomia local: datele locale sunt deinute i administrate local - nici un post nu depinde
de altele pentru a funciona.
1. Toate posturile sunt egale: nici un post nu se bazeaz pe o staie central.
Funcionare nentrerupt: nu trebuie s fie necesar o oprire planificat (instalrile/tergerile
efectuate la un post nu afecteaz funcionarea celorlalte).
2. Transparena amplasrii: utilizatorii nu sunt obligai s tie unde sunt amplasate datele
pentru a le extrage. Transparena fragmentrii: relaiile dintre componentele bazei de date
pot fi fragmentate pentru stocare, dar acest lucru rmne transparent pentru utilizator.
3. Transparena duplicrii: relaiile i fragmentele pot fi reprezentate fizic prin copii multiple
stocate separat, dar transparent pentru utilizator.
4. Prelucrarea interogrilor distribuite: operaiile de citire/scriere se pot desfura la mai multe
posturi, permind optimizarea locala i global a interogrilor.
5. Actualizrile distribuite: tranzaciile singulare pot executa codul la mai multe posturi.
6. Independena de hardware: toate calculatoarele particip ca membri egali.
7. Independena de sistemul de operare: sunt suportate mai multe sisteme de operare
conectabile la reea. Independena de reea: sunt suportate mai multe reele prin protocoale
comune.
8. Independena de bazele de date: se asigur accesul uniform (interfaare unic) pentru datele
provenind din SGBD-uri diferite.