Sunteți pe pagina 1din 75

Proiectarea bazelor de date

Introducere

Plan
Introducere Gestiunea bazelor de date Arhitectura sistemelor de gestiune a bazelor de date Evoluia bazelor de date Arhitecturi multi-user pentru sisteme de gestiune a bazelor de date

Introducere (1)
Informaia are valoare doar dac ea influeneaz procesul de luare a deciziilor i determin alegerea unor decizii mai bune dect cele care ar fi luate n lipsa informaiei. Informaia trebuie s fie disponibil n timp util, s fie corect, necontradictorie, neredondant i s aib o form adecvat necesitilor factorului de decizie. volum imens de date care trebuie culese, memorate, organizate, regsite i prelucrate n mod corespunztor pentru utilizarea lor ca informaie. O astfel de activitate este legat, n informatic, de noiunea de baz de date.

Introducere (2)
Baza de date este un ansamblu structurat de date coerente, fr redundan inutil, astfel nct acestea pot fi prelucrate eficient de mai muli utilizatori ntr-un mod concurent. Baza de date este o colecie de date persistente, care sunt folosite de ctre sistemele de aplicaii ale unei anumite ntreprinderi.
Datele persist deoarece, dup ce au fost acceptate de ctre sistemul de gestiune pentru introducerea n baza de date, ele pot fi terse din baz numai printr-o cerere explicit adresat sistemului de gestiune.

Termenul de ntreprindere este un cuvnt generic, utilizat pentru a desemna orice organizaie independent, de natur comercial, tehnic, tiinific sau de alt tip.
ntreprinderea poate fi, de exemplu, un spital, o banc, o facultate, o fabric, un aeroport etc. Fiecare ntreprindere are regulile proprii de funcionare i conine o mulime de date referitoare la modul su de operare.

Introducere (3)
n general, ntreprinderile ntrein dou clase mari de date.
date operaionale - n acest caz accentul este pus pe aplicaii operaionale (de producie), adic aplicaii de rutin, care reflect funcionalitatea zilnic a ntreprinderii (de exemplu, depunerea sau extragerea banilor ntr-un, respectiv dintr-un sistem bancar) date pentru susinerea procesului decizional (depozit de date) informaii de sintez (medii, dispersii, totaluri), care sunt extrase la anumite intervale de timp din baza de date operaionale.

Datele din baza de date pot fi att integrate, ct i partajate.


Noiunea de integrat se refer la faptul c baza de date poate fi considerat ca o unificare a mai multor fiiere Prin partajare se nelege c baza de date poate fi partajat concurent ntre diferii utilizatori.

Introducere (4)
Caracteristica principal a aplicaiilor de baze de date: accentul este pus pe operaiile de memorare i regsire efectuate asupra unor volume mari de date, i mai puin asupra operaiilor de prelucrare a acestora.
Principala operaie care apare n orice aplicaie de baze de date este aceea de regsire a datelor, n scopul obinerii de informaii din baza de date. Alturi de operaiile de regsire apar, mai mult sau mai puin frecvent, operaii de memorare pentru introducerea de noi date n baza de date, operaii de tergere a datelor devenite inutile, operaii de actualizare a unor date existente deja n baza de date.

Un sistem de gestiune a bazelor de date (SGBD Data Base Management System) este un produs software care asigur interaciunea cu o baz de date, permind definirea, consultarea i actualizarea datelor din baza de date. Toate cererile de acces la baza de date sunt tratate i controlate de ctre SGBD.

Introducere (5)
Organizarea datelor n baze de date constituie o form de centralizare a acestora. Aceasta implic existena unui administrator al bazei de date (DBA Data Base Administrator) care este o persoan sau un grup de persoane ce rspund de ansamblul activitilor (analiz, proiectare, implementare, exploatare, ntreinere etc.) legate de baza de date.
Atribuiile unui administrator pot fi grupate n patru mari categorii: atribuii de proiectare, atribuii administrative, atribuii operative i atribuii de coordonare.

Dicionarul datelor (catalog de sistem), structurat i administrat ca o baz de date (metabaz de date), conine date despre date, furnizeaz descrierea tuturor obiectelor unei baze de date, starea acestor obiecte, diversele constrngeri de securitate i de integritate, informaii despre utilizatori etc.

Gestiunea bazelor de date (1)


Un sistem de baze de date presupune urmtoarele componente principale, care definesc arhitectura acestuia:
baza de date propriu-zis n care se memoreaz datele; sistemul de gestiune a bazei de date, care realizeaz gestionarea i prelucrarea complex a datelor; un dicionar al bazei de date (metabaza de date), ce conine informaii despre date, structura acestora, statistici, documentaie; mijloace hardware (comune sau specializate); reglementri administrative destinate bunei funcionri a sistemului; personalul implicat (utilizatori finali, administratorul datelor, administratorul bazei de date, proiectani, programatori de aplicaii).

Patru categorii de persoane implicate n mediul bazelor de date:


administratori de date i baze de date, proiectani (designeri) de baze de date, programatori de aplicaii, utilizatori finali.

Gestiunea bazelor de date (2)


Administratorul de date (DA Data Administrator) este un manager, nu un tehnician, care:
decide care date trebuie stocate n baza de date; stabilete regulile de ntreinere i de tratare a acestor date dup ce sunt stocate. De exemplu, o regul ar putea fi aceea prin care se stabilesc pentru utilizatori privilegii asupra informaiilor din baza de date, cu alte cuvinte o anumit politic de securitate a datelor.

Administratorul bazei de date (DBA Database Administrator) este responsabil cu implementarea deciziilor administratorului de date i cu controlul general al sistemului, la nivel tehnic. El este un profesionist n domeniul IT, care:
creeaz baza de date real; implementeaz elementele tehnice de control; este responsabil cu asigurarea funcionrii sistemului la performane adecvate, cu monitorizarea performanelor; furnizeaz diverse servicii tehnice etc.

Gestiunea bazelor de date (3)


Proiectanii de baze de date pot acoperi att aspectul fizic, ct i cel logic al concepiei. Proiectantul de baze de date care abordeaz direcia logic trebuie s posede o cunoatere complet i amnunit a modelului real de proiectat i a regulilor de funcionare a acestuia.
proiecteaz conceptual baza de date, iar modelul creat este independent de programele de aplicaii, de limbajele de programare. de asemenea, va proiecta logic baza de date, proiectare care este ndreptat spre un anumit model de date (relaional, orientat obiect, ierarhic etc.).

Proiectantul de baze de date fizice preia modelul logic de date i stabilete cum va fi realizat fizic. Acesta trebuie s cunoasc funcionalitile SGBDului, avantajele i dezavantajele fiecrei alternative corespunztoare unei implementri.
se face transpunerea modelului logic ntr-un set de tabele supuse unor constrngeri, se selecteaz structuri de stocare i metode de acces specifice, astfel nct s se asigure performane, se iau msuri privind securitatea datelor.

Gestiunea bazelor de date (4)


Utilizatorii finali sunt cei care acceseaz interactiv baza de date. Aceasta a fost proiectat, implementat, ntreinut pentru a satisface necesitile informaionale ale clienilor.
Utilizatorii finali pot fi utilizatori simpli, care nu cunosc nimic despre baza de date, despre SGBD, dar acceseaz baza prin intermediul unor programe de aplicaie. n general, aceast clas de utilizatori alege anumite opiuni din meniul aplicaiei. Exist utilizatori finali sofisticai, care sunt familiarizai cu structura bazei de date. Ei pot utiliza limbaje speciale pentru a exploata posibilitile oferite de baza de date.

Programatorii de aplicaii sunt responsabili de scrierea programelor aplicaie ce confer funcionalitatea cerut de utilizatorii finali. Programele pot fi scrise n diferite limbaje de programare (C++, PL/SQL, Java etc.).

Gestiunea bazelor de date (5)


Cerinele minimale care se impun unei baze de date sunt:
asigurarea unei redundane minime n date; furnizarea n timp util a informaiilor solicitate (optimizarea timpului de rspuns la o interogare); asigurarea unor costuri minime n prelucrarea i ntreinerea informaiei; capacitatea de a satisface, cu aceleai date, necesiti informaionale ale unui numr mare de utilizatori, posibilitatea de adaptare la cerine noi, rspunsuri la interogri neprevzute iniial (flexibilitate); exploatarea simultan a datelor de ctre mai muli utilizatori (sincronizare); asigurarea securitii datelor prin mecanisme de protecie mpotriva accesului neautorizat (confidenialitate); nglobarea unor faciliti destinate validrii datelor i recuperrii lor n cazul unor deteriorri accidentale, garantarea (att ct este posibil) c datele din baza de date sunt corecte (integritate); posibilitatea de valorificare a eforturilor anterioare i anticiparea nevoilor viitoare (compatibilitate i expandabilitate); permisivitatea, prin ierarhizarea datelor dup criteriul frecvenei acceselor, a unor reorganizri (eventual dinamice) care sporesc performanele bazei.

Gestiunea bazelor de date (6)


n cadrul unei baze de date putem vorbi de patru niveluri de abstractizare i de percepie a datelor: intern, conceptual, logic i extern. Datele exist doar la nivel fizic, iar celelalte trei niveluri reprezint virtualizri ale acestora.
Nivelul fizic (intern) este descris de schema fizic a datelor (bit, octet, adres); Nivelul conceptual este descris de schema conceptual a datelor (articol, nregistrare, zon) i reprezint viziunea programatorilor de sistem asupra datelor; Nivelul logic este descris de una din schemele logice posibile ale datelor i reprezint viziunea programatorului de aplicaie asupra datelor; Nivelul virtual (extern) reprezint viziunea utilizatorului final asupra datelor.

Gestiunea bazelor de date (7)


Unul dintre avantajele incontestabile ale sistemelor de baze de date este independena datelor care cuprinde dou aspecte fundamentale: o modificare a structurii fizice nu va afecta aplicaia i reciproc, modificri ale aplicaiei vor lsa nealterat structura fizic de date.
Independena fizic: posibilitatea modificrii schemei fizice a datelor fr ca aceasta s implice modificarea schemei conceptuale, a schemei logice i a programelor de aplicaie. Prin urmare, este vorba despre imunitatea programelor de aplicaie fa de modificrile modului n care datele sunt stocate fizic i accesate. Independena logic: posibilitatea modificrii schemei conceptuale a datelor fr ca aceasta s implice modificarea schemei logice i a programelor de aplicaie. Prin independena logic a datelor se urmrete a se crea fiecrui utilizator iluzia c este singurul beneficiar al unor date pe care, n realitate, le folosete n comun cu ali utilizatori.

Gestiunea bazelor de date (8)


Independena fa de strategiile de acces permite programului s precizeze data pe care dorete s o acceseze, dar nu modul cum acceseaz aceast dat. SGBD-ul va stabili drumul optim de acces la date. n limbajele de programare uzuale, declaraiile i instruciunile executabile aparin aceluiai limbaj. n lumea bazelor de date, funciile de declarare i de prelucrare a datelor sunt realizate cu ajutorul unor limbaje diferite, numite limbaje pentru baze de date.

Gestiunea bazelor de date (9)


Limbaje pentru definirea datelor (LDD Data Definition Language). Descrierea concret a unui LDD este specific fiecrui sistem de gestiune, dar funciile principale sunt aceleai.
La nivel conceptual, LDD realizeaz definirea entitilor i a atributelor acestora prin: nume, form de memorare, lungime. Sunt precizate relaiile dintre date i strategiile de acces la ele, sunt stabilite criterii difereniate de confidenialitate, sunt definite criterii de validare automat a datelor utilizate.

Gestiunea bazelor de date (10)


Limbaje pentru prelucrarea datelor (LMD Data Manipulation Language).
Operaiile executate n cadrul unei baze de date presupun existena unui limbaj specializat, n care comenzile se exprim prin fraze ce descriu aciuni asupra bazei. n general, o comand are urmtoarea structur: operaia (calcul aritmetic sau logic, editare, extragere, deschidere-nchidere, adugare, tergere, cutare, reactualizare etc.), criterii de selecie, mod de acces (secvenial, indexat etc.), format de editare. Exist limbaje LMD procedurale, care specific modul n care se obine rezultatul unei comenzi LMD i limbaje neprocedurale, care descriu doar datele ce vor fi obinute i nu modalitatea de obinere a acestora.

Gestiunea bazelor de date (11)


Limbaje pentru controlul datelor (LCD Data Control Language).
Controlul unei baze de date se refer la asigurarea confidenialitii i integritii datelor, la salvarea informaiei n cazul unor defeciuni, la obinerea unor performane, la rezolvarea unor probleme de concuren.

Gestiunea bazelor de date (12)


Limbajele universale nu se utilizeaz frecvent pentru gestionarea unei baze de date, dar exist aceast posibilitate.
De exemplu, sistemul Oracle este dotat cu precompilatoare (C/C++, Pascal, ADA, Cobol, PL/1, Fortran) care ajut la incorporarea de instruciuni SQL sau blocuri PL/SQL n programe scrise n alte limbaje, de nivel nalt, numite limbaje gazd.

Sistemul de gestiune a bazelor de date interacioneaz cu programele de aplicaie ale utilizatorului i cu baza de date, oferind o mulime de faciliti. Realizarea optim a acestor faciliti este asigurat de obiectivele fundamentale ale unui sistem de gestiune. Cteva dintre aceste obiective vor fi enumerate n continuare.

Gestiunea bazelor de date (13)


Independena fizic. Obiectivul esenial este acela de a permite realizarea independenei structurilor de stocare n raport cu structurile de date din lumea real.
Se definete mulimea de date indiferent de forma acesteia din lumea real, innd seama doar de realizarea unui un acces simplu la date i de obinerea anumitor performane.

Independena logic. Grupul de lucru care exploateaz baza de date poate s utilizeze diferite informaii de baz (nu aceleai) pentru a-i construi entiti i relaii.
Fiecare grup de lucru poate s cunoasc doar o parte a semanticii datelor, s vad doar o submulime a datelor i numai sub forma n care le dorete. Aceast independen asigur imunitatea schemelor externe fa de modificrile fcute n schema conceptual.

Gestiunea bazelor de date (14)


Prelucrarea datelor de ctre neinformaticieni. Neinformaticienii vd datele independent de implementarea lor i pot exploata aceste date prin intermediul unor aciuni oferite de aplicaia pe care o exploateaz. Administrarea centralizat a datelor. Administrarea datelor presupune definirea structurii datelor i a modului de stocare a acestora. Administrarea este n general centralizat i permite o organizare coerent i eficace a informaiei. Neredundana datelor. Fiecare aplicaie posed datele sale proprii i aceasta conduce la numeroase dubluri. De asemenea, organizarea nejudicioas a relaiilor poate s genereze redundan n date.
Administrarea coerent a datelor trebuie s asigure neduplicarea fizic a datelor. Totui, nu sunt excluse nici cazurile n care, pentru a realiza performane referitoare la timpul de acces la date i rspuns la solicitrile utilizatorilor, se accept o anumit redundan a datelor.

Gestiunea bazelor de date (15)


Coerena datelor. Informaia trebuie s satisfac anumite constrngeri statice sau dinamice, locale sau generale.
De exemplu, pot fi considerate drept constrngeri: apartenena la un anumit domeniu, un anumit tip de date, de o anumit lungime, o anumit cardinalitate a relaiilor, constrngeri refereniale.

Partajabilitatea datelor. Aceasta permite ca aplicaiile s partajeze datele din baza de date n timp i simultan.
O aplicaie poate folosi date ca i cum ar fi singura care le utilizeaz, fr a ti c alt aplicaie, n mod concurent, le poate modifica.

Gestiunea bazelor de date (16)


Securitatea i confidenialitatea datelor. Datele trebuie protejate de un acces neautorizat sau ru intenionat.
Exist mecanisme care permit identificarea i autentificarea utilizatorilor i exist proceduri de acces autorizat care depind de date i de utilizator. Sistemul de gestiune trebuie s asigure securitatea fizic i logic a informaiei i s garanteze c numai utilizatorii autorizai pot efectua operaii asupra bazei de date.

Gestiunea bazelor de date (17)


Sistemele de gestiune a bazelor de date au, din nefericire, i dezavantaje dintre care se remarc:
complexitatea i dimensiunea sistemelor pot s creasc considerabil, datorit necesitii extinderii funcionalitilor sistemului; costul, care variaz n funcie de mediu i funcionalitatea oferit, la care se adug cheltuieli periodice de ntreinere; costuri adiionale pentru elemente de hardware; costul conversiei aplicaiilor existente, necesar pentru ca acestea s poat funciona n noua configuraie hardware i software; impactul unei defeciuni asupra aplicaiilor, bazei de date sau sistemului de gestiune.

Gestiunea bazelor de date (18)


Structura unui sistem de gestiune a bazelor de date este de complexitate variabil, iar nivelul real de funcionalitate difer de la un produs la altul. n orice moment apar noi necesiti, care cer o nou funcionalitate, astfel nct structura nu va putea deveni niciodat static. n general, un SGBD trebuie s includ cel puin cinci clase de module:
programe de gestiune a bazei de date (PGBD), care realizeaz accesul fizic la date ca urmare a unei comenzi; module pentru tratarea limbajului de definire a datelor, ce permit traducerea unor informaii (care realizeaz descrierea datelor, a legturilor logice dintre acestea i a constrngerilor la care sunt supuse) n obiecte ce pot fi apoi exploatate n manier procedural sau neprocedural; module pentru tratarea limbajului de prelucrare a datelor (interpretativ, compilativ, generare de programe), care permit utilizatorilor inserarea, tergerea, reactualizarea sau consultarea informaiei dintr-o baz de date; module utilitare, care asigur ntreinerea, prelucrarea, exploatarea corect i uoar a bazei de date; module de control, care permit controlul programelor de aplicaie, asigurarea confidenialitii i integritii datelor, rezolvarea unor probleme de concuren, recuperarea informaiei n cazul unor avarii sau defeciuni hardware sau software etc.

Gestiunea bazelor de date (19)


SGBD poate fi considerat cea mai important component software din sistemul de operare general, dar nu este singura. Celelalte componente cuprind programele utilitare, instrumentele pentru dezvoltarea aplicaiilor, programe de asisten n design, editoare de rapoarte, managerul de tranzacii etc

Gestiunea bazelor de date (20)


Modulele PGBD asigur accesul fizic la date ca urmare a unei comenzi. Cum lucreaz aceste module?
Gsesc descrierea datelor implicate n comand. Identific datele i tipul acestora. Identific informaii ce permit accesul la structurile fizice de stocare (fiiere, volume etc.). Verific dac datele sunt disponibile. Extrag datele, fac conversiile, plaseaz datele n spaiul de memorie al utilizatorului. Transmit informaii de control necesare execuiei comenzii, n spaiul de memorie al utilizatorului. Transfer controlul programului de aplicaie.

Gestiunea bazelor de date (21)


Prin urmare, din punct de vedere conceptual:
utilizatorul lanseaz o cerere de acces; SGBD-ul accept cererea i o analizeaz; SGBD-ul, inspecteaz pe rnd, schema intern corespunzatoare utilizatorului, schema conceptual, definiia structurii de stocare i corespondenele corespunztoare; SGBD-ul execut operaiile necesare n baza de date stocat.

Arhitectura sistemelor de gestiune a bazelor de date (1)


Asigurarea independenei fizice i logice a datelor impune adoptarea unei arhitecturi de baze de date organizat pe trei niveluri:
nivelul intern (baza de date fizic); nivelul conceptual (modelul conceptual, schema conceptual); nivelul extern (modelul extern, subschema, vizualizarea).

Arhitectura SGBD (2)


Nivelul central este nivelul conceptual.
Acesta corespunde structurii canonice a datelor ce caracterizeaz procesul de modelat, adic structura semantic a datelor fr implementarea pe calculator. Schema conceptual permite definirea tipurilor de date ce caracterizeaz proprietile elementare ale entitilor, definirea tipurilor de date compuse care permit regruparea atributelor pentru a descrie entitile modelului i legturile ntre aceste entiti, definirea regulilor pe care trebuie s le respecte datele etc.

Arhitectura SGBD (3)


Nivelul intern corespunde structurii interne de stocare a datelor.
Schema intern permite descrierea datelor unei baze sub forma n care sunt stocate n memoria calculatorului. Sunt definite fiierele care conin aceste date, articolele din fiiere, cile de acces la aceste articole etc.

Arhitectura SGBD (4)


La nivel conceptual sau intern, schemele descriu o baz de date. La nivel extern schemele descriu doar o parte din date care prezint interes pentru un utilizator sau un grup de utilizatori.
Schema extern reprezint o descriere a unei pri a bazei de date ce corespunde viziunii unui program sau unui utilizator. Modelul extern folosit este dependent de limbajul utilizat pentru prelucrarea bazei de date. Schema extern permite asigurarea unei securiti a datelor. Un grup de lucru va accesa doar datele descrise n schema sa extern, iar restul datelor sunt protejate mpotriva accesului neautorizat sau ru intenionat.

Pentru o baz de date particular exist o singur schem intern, o singur schem conceptual, dar exist mai multe scheme externe.

Arhitectura SGBD (5)


n afar de aceste trei niveluri, arhitectura presupune i anumite corespondene ntre acestea:
corespondena conceptual-intern definete relaia dintre nivelul conceptual i baza de date stocat, specificnd modul n care nregistrrile i cmpurile conceptuale sunt reprezentate la nivel intern; corespondena extern-conceptual definete relaia dintre o anumit vizualizare extern i nivelul (vizualizarea) conceptual, reprezentnd cheia independenei logice relativ la date; corespondena extern-extern permite definirea unor vizualizri externe n funcie de altele, fr a necesita o definiie explicit a corespondenei cu nivelul conceptual.

Arhitectura SGBD (6)


Arhitectura funcional de referin propus de grupul de lucru ANSI/X3/SPARC este axat pe dicionarul datelor i cuprinde dou pri:
prima, permite descrierea datelor (compoziia dicionarului datelor); a doua, permite prelucrarea datelor (interogarea i reactualizarea bazei de date).

n fiecare parte se regsesc cele trei niveluri: intern, conceptual i extern. Acestea nu sunt neaprat distincte pentru orice SGBD.

Arhitectura SGBD (7)


G. Gardarin a propus o arhitectur funcional, apropiat de arhitectura sistemelor de gestiune actuale, care are la baz doar dou niveluri:
schema, care corespunde integrrii schemelor interne i conceptuale; vizualizarea, care este o schem extern.

Sistemul de gestiune gestioneaz un dicionar de date care este alimentat prin comenzi de definire a schemei i prin comenzi de definire a vizualizrilor. Aceste comenzi, precum i cererile de prelucrare, sunt analizate i tratate de un procesor numit analizor. Analizorul realizeaz analiza sintactic i semantic a cererii i o traduce n format intern. O cerere n format intern care face referin la o vizualizare este tradus n una sau mai multe cereri care fac referin la obiecte ce exist n baza de date (modificarea cererilor).

Arhitectura SGBD (8)


n cadrul acestei arhitecturi exist un procesor, numit translator, care realizeaz modificarea cererilor, asigur controlul drepturilor de acces i controlul integritii n cazul reactualizrilor. Componenta cheie a sistemului de gestiune este procesorul optimizor care elaboreaz un plan de acces optim pentru a trata cererea. Acest procesor descompune cererea n operaii de acces elementare i alege o ordine de execuie optimal. De asemenea, evalueaz costul planului de acces naintea execuiei sale. Planul de acces ales i elaborat de optimizor este executat de un procesor numit executor. La acest nivel este gestionat controlul concurenei.

Evoluia bazelor de date (1)


Istoria bazelor de date i a sistemelor de gestiune a bazelor de date poate fi rezumat n trei generaii: sisteme ierarhice i reea, sisteme relaionale i sisteme avansate (orientate obiect, relaionale orientate obiect, deductive, distribuite, multimedia, multibaze, active, temporale, decizionale, magazii de date etc.). Baze de date ierarhice i reea Pentru modelele ierarhice i reea, datele sunt reprezentate la nivel de articol prin legturi ierarhice (arbore) sau de tip graf. Slaba independen fizic a datelor complic administrarea, reactualizarea i prelucrarea acestora. Limbajul de prelucrare a datelor impune programatorului s specifice cile de acces la date. Structurile de date corespunztoare acestor modele pot fi descrise la nivel logic n termenii unui instrument de abstractizare, numit diagrama structurii de date. Diagrama este un graf orientat reprezentnd tipuri de entiti i legturi funcionale ntre acestea.

Evoluia bazelor de date (2)


Baze de date relaionale A doua generaie de SGBD-uri este legat de apariia modelelor relaionale (1970), care trateaz entitile ca nite relaii. Piaa actual de baze de date este acoperit n majoritate de sisteme relaionale. Acestea, ca i modelele din prima generaie, au fost concepute pentru aplicaii clasice: contabilitate, gestiunea stocurilor etc. Bazele de date relaionale sunt caracterizate de: structuri de date simple, intuitive; inexistena pointerilor vizibili pentru utilizator; constrngeri de integritate; operatori aplicai relaiilor care permit definirea, cutarea i reactualizarea datelor.

Evoluia bazelor de date (3)


Bazele de date relaionale ofer avantaje precum:
independena complet n descrierea logic a datelor (n termen de relaii) i n descrierea fizic a datelor (n termen de fiiere) un ansamblu integrat de utilitare bazat pe un limbaj de generaia a 4-a (generatoare de meniuri, generatoare de aplicaii, generatoare de forme, generatoare de etichete) existena unor limbaje speciale de definire i prelucrare a datelor.

Evoluia bazelor de date (4)


Dezvoltarea unei aplicaii riguroase, utiliznd baze de date relaionale, necesit cunoaterea a trei niveluri de instrumente, eterogene din punct de vedere conceptual:
nivelul instrumentelor grafice (interfaa); nivelul aplicaiei, cu limbajele sale de dezvoltare; nivelul SGBD, cu standardul SQL (Structured Query Language) ce permite definirea, prelucrarea i controlul bazei de date.

Evoluia bazelor de date (5)


Baze de date orientate obiect Bazele de date relaionale nu folosesc ns obiecte complexe i dinamice, nu realizeaz gestiunea datelor distribuite i nici gestiunea cunotinelor. A treia generaie de SGBD-uri, sistemele avansate, ncearc s depeasc aceste limite ale sistemului relaional. Suportul obiectelor complexe i dinamice i prelucrarea acestora sunt dificile pentru sistemele relaionale, deoarece tipul datelor este limitat la cteva domenii alfanumerice, iar structura datelor este simpl. Sistemele relaionale nu modeleaz obiecte complexe ca grafuri, liste etc. Un obiect complex poate s fie descompus n relaii, dar apar dificulti att la descompunerea, ct i la refacerea acestuia prin compunere. De asemenea, limbajele modelului relaional permit prelucrarea cu dificultate a obiectelor complexe.

Evoluia bazelor de date (6)


O aplicaie are un aspect static (reprezentat prin date) i unul dinamic (reprezentat prin tratamentul acestor date). Obiectele prelucrate de sistemele relaionale sunt n general statice, iar comportamentul lor (dinamica lor) este dat separat prin programele de aplicaie care le exploateaz. Un sistem relaional nu suport obiecte dinamice care incorporeaz att partea de date (informaii) efective, ct i o parte relativ la tratarea acestora. n programarea orientat obiect, efortul const n definirea obiectelor. Obiectele de acelai tip formeaz o clas care este generalizarea noiunii de tip de date definit de utilizator. Clasa include, pe lng date, i metodele de acces la ele. Datele sunt vizibile doar metodelor asociate clasei respective. Aceasta definete principiul ncapsulrii datelor. Prin funcii numite constructori i destructori, programatorul deine controlul asupra operaiilor necesare la crearea, respectiv dispariia unui anumit obiect. Un alt concept fundamental este cel al derivrii, adic poate fi definit o clas care s moteneasc proprietile (care constau din date i funcii) uneia sau mai multor clase printe.

Evoluia bazelor de date (7)


mbinarea tehnicii limbajelor orientate obiect cu cea a bazelor de date a condus la realizarea bazelor de date orientate obiect. Acestea permit organizarea coerent a obiectelor partajate ntre utilizatori concureni. Sistemele de gestiune de baze de date orientate obiect (SGBDOO) prezint o serie de avantaje: realizeaz o modelare superioar a informaiei, furnizeaz posibiliti superioare de deducie (ierarhie de clase, motenire), permit luarea n considerare a aspectelor dinamice i integrarea descrierii structurale i comportamentale, asigur mbuntirea interfeei cu utilizatorul.

Evoluia bazelor de date (8)


Cu toate avantajele incontestabile oferite de SGBDOOuri, impunerea lor pe piaa bazelor de date nu a fost uoar. Cteva motivaii ale acestei situaii: absena unei fundamentri teoretice face imposibil definirea unui SGBDOO de referin; gestiunea obiectelor complexe este mai dificil dect accesul la relaii prin cereri SQL; utilizatorii au investit sume uriae n sistemele relaionale i nu le pot abandona cu uurin. Trecerea la noua tehnologie orientat obiect implic investiii mari i nu pstreaz aproape nimic din vechile soluii.

Evoluia bazelor de date (9)


Baze de date relaionale orientate obiect Simplitatea modelului relaional, combinat cu puterea tehnologiei orientate obiect a generat un domeniu nou i promitor n lumea bazelor de date, i anume bazele de date relaionale orientate obiect. Construcia unui sistem de gestiune de baze de date relaionale orientate obiect (SGBDROO) trebuie s porneasc de la sisteme existente. Aceasta se poate realiza n dou moduri: dezvoltnd un sistem relaional prin adugarea caracteristicilor obiectuale necesare sau pornind de la un sistem orientat obiect i adugnd caracteristicile relaionale.

Evoluia bazelor de date (10)


Baze de date deductive O relaie este o mulime de nregistrri ce reprezint fapte. Cunotinele sunt aseriuni generale i abstracte asupra faptelor. Cunotinele permit raionamente, iar acestea au ca rezultat deducerea de noi fapte, plecnd de la fapte cunoscute. Un SGBD relaional suport o form limitat de cunotine, i anume constrngerile de integritate, iar restul trebuie integrate n programele de aplicaie. Aceasta genereaz probleme deoarece cunotinele trebuie codificate n programe i apare imposibilitatea de a partaja cunotine ntre utilizatori. Totul se complic dac exist un volum mare de fapte.

Evoluia bazelor de date (11)


Bazele de date deductive, utiliznd programarea logic, gestioneaz cunotine relative la baze de date care, n general, sunt relaionale. Bazele de date deductive permit deducerea de noi informaii, plecnd de la informaiile stocate n baza de date. Un SGBD deductiv posed:
un limbaj de definire a datelor, care permite definirea structurii predicatelor sub form de relaii i constrngeri de integritate asociate; un limbaj de prelucrare a datelor, care permite efectuarea reactualizrilor asupra datelor i formularea unor cereri; un limbaj de reguli de deducie, care permite ca, plecnd cu predicatele definite anterior, s se specifice cum pot fi construite predicate derivate.

Evoluia bazelor de date (12)


Baze de date distribuite Un sistem distribuit este un ansamblu de maini ce sunt interconectate printr-o reea de comunicaie i utilizate ntr-un scop global. Administrarea i prelucrarea datelor distribuite, situate pe diferite calculatoare i exploatate de sisteme eterogene, reprezint obiectivul fundamental al bazelor de date distribuite. Bazele de date distribuite sunt sisteme de baze de date cooperante care rezid pe maini diferite, n locuri diferite. Aceast mulime de baze de date este exploatat de utilizator ca i cum ar fi o singur baz de date. Programul de aplicaie care exploateaz o baz de date distribuite poate avea acces la date rezidente pe mai multe maini, fr ca programatorul s cunoasc localizarea datelor.

Evoluia bazelor de date (13)


Modelul relaional a rmas instrumentul principal prin care se realizeaz prelucrarea datelor distribuite. Cteva dintre argumentele pentru a justifica aceast afirmaie sunt:
bazele relaionale ofer flexibilitate de descom-punere n vederea distribuirii; operatorii relaionali pot fi folosii pentru combinaii dinamice ale informaiilor descentralizate; limbajele sistemelor relaionale sunt concise i asigur o economie considerabil a transmiterii datelor. Ele fac posibil, pentru un nod oarecare al reelei, s analizeze intenia unei tranzacii, s o descompun rapid n componente ce pot fi realizate local i componente ce pot fi transportate altor noduri.

Evoluia bazelor de date (14)


Baze de date cu suport decizional n prezent, ciclul de via al produselor devine din ce n ce mai scurt, iar clienii asteapt produse i servicii noi la intervale tot mai mici. Pentru a rmne competitive, afacerile trebuie s reacioneze rapid i eficient la schimbri. n acest sens, ele trebuie s analizeze datele pe care le dein pentru a putea prevedea tendinele pieii. Astzi, sistemele informatice, n particular bazele de date, au ajuns la maturitate. Marile companii au acumulat o mare cantitate de informaii din dome-niul lor de activitate, pe care le pstreaz n tabele istorice i sunt nefolositoare siste-melor operaionale ale companiei, care funcioneaz cu date curente. Analizate, aceste date ar putea oferi informaii despre tendine i evoluii care ar putea interesa compania. Pentru a putea analiza aceste mari cantiti de date este nevoie de tehnologii i instrumente speciale.

Evoluia bazelor de date (15)


Ideea de a analiza colecii de date provenind din sistemele operaionale ale companiei sau din surse externe pentru a le folosi ca suport n procesul de decizie nu aparine ultimului deceniu, dar baze de date care s funcioneze eficient dup aceste criterii au fost studiate i implementate n ultimii ani. Principalul scop al acestor baze de date a fost de a ntmpina nevoile sistemelor operaionale, a cror natur este inerent tranzacional. Sistemele tranzacionale sunt interesate, n primul rnd, s controleze la un moment dat o singur tranzacie.
De exemplu, ntr-un sistem bancar, atunci cnd clientul face un depozit, sistemul operaional bancar este responsabil de a nregistra tranzacia ntr-un tabel al tranzaciilor i de a crete nivelul curent al contului clientului, stocat n alt tabel.

Evoluia bazelor de date (16)


Un sistem operaional tipic opereaz cu evenimente predefinite i, datorit naturii lor, necesit acces rapid la date. Uzual, fiecare tranzacie opereaz cu cantiti mici de date. De-a lungul timpului, nevoile sistemelor operaionale nu se schimb mult. Aplicaia care nregistreaz tranzacia, ca i cea care controleaz accesul utilizatorului la informaie (partea de raportare a sistemului bancar), nu se modific prea mult. n acest tip de sistem, informaia necesar n momentul n care un client iniiaz o tranzacie trebuie sa fie actual. nainte ca o banc s aprobe un mprumut este nevoie s se asigure de situaia financiar stabil a clientului n acel moment, i nu cu un an nainte.

Evoluia bazelor de date (17)


n ultimii ani s-au pus la punct principii i tehnologii noi care s serveasc procesului de analiz i administrare a datelor. O baz de date optimizat n acest scop definete o Data Warehouse (magazie de date), iar principiul pe care l urmeaz este cunoscut sub numele de procesare analitic (OLAP On Line Analytical Processing). Spre deosebire de acesta, principiul pe care se bazeaz sistemele tranzacionale a fost numit procesare tranzacional (OLTP On Line Transac-tional Processing). Aplicaiile unei Data Warehouse trebuie s ofere rspunsuri unor ntrebri de tipul: Care zi din sptmn este cea mai aglomerat? Ce clieni, cu care avem relaii intense, nu au beneficiat de reduceri de preuri?. O caracteristic a bazelor de date analitice este c interogrile la care acestea trebuie s rspund sunt ad-hoc, nu sunt predefinite, iar baza de date trebuie optimizat astfel nct s fie capabil s rspund la orice fel de ntrebare care poate implica mai multe tabele.

Evoluia bazelor de date (18)


n aceast abordare, organele generale de decizie necesit accesul la toate datele organizaiei, oriunde s-ar afla acestea. Pentru o analiz corespunztoare a organizaiei, afacerilor, cerinelor, tendinelor este necesar nu numai accesarea valorilor curente din baza de date, ci i a datelor istorice. Prin urmare, pentru a facilita acest tip specific de analiz a informaiei a fost creat magazia de date, care conine informaii extrase din diverse surse, ntreinute de diverse uniti operative, mpreun cu istoricul i rezumatul tranzaciilor. Sursele de date pentru o magazie cuprind:
date operaionale, pstrate n baze de date ierarhice, de prima generaie; date departamentale, pstrate n sisteme de fiiere patentate; date cu caracter personal, pstrate pe staii de lucru i servere personale; sisteme externe (baze de date comerciale, Internet etc.)

Evoluia bazelor de date (19)


Data warehouse este o colecie de date:
orientate spre subiect (principalele subiecte ale modelului sunt clienii, produsele, vnzrile, n loc de domeniile de activitate), nevolatile (datele nu sunt reactualizate, nlocuite n timp real, ci sunt adugate ca un supliment al bazei), integrate (transpunerea datelor provenite din diverse surse de informaii se face ntr-un format consistent), variabile n timp (concentrarea depozitului de date se face asupra schimbrilor care au loc n timp).

Evoluia bazelor de date (20)


nmagazinarea datelor se concentreaz asupra gestionrii a cinci fluxuri de informaii:
fluxul intern, care reprezint procesele asociate extragerii i ncrcrii datelor din fiierele surs n magazia de date; fluxul ascendent, care reprezint procesele asociate adugrii de valoare datelor din magazie, cu ajutorul mpachetrii i distribuirii; fluxul descendent, care reprezint procesele asociate arhivrii, salvrii, refacerii datelor din magazie; fluxul extern, care reprezint procesele asociate punerii la dispoziie a datelor pentru utilizatorii finali; meta-fluxul, care reprezint procesele asociate gestionrii metadatelor (date despre date).

Evoluia bazelor de date (21)


n arhitectura depozitului de date intervin cteva componente specifice acestei structuri.
Administratorul pentru ncrcarea datelor (componenta front-end) realizeaz toate operaiile asociate cu obinerea (extragerea) i ncrcarea datelor operaionale ntr-un depozit de date. Administratorul depozitului de date realizeaz toate operaiile legate de administrarea datelor din depozit. Operaiile realizate de componenta de administrare a depozitului de date includ: analiza datelor pentru a asigura consistena acestora; transformarea i mutarea datelor surs din structurile temporare de stocare n tabelele depozitului de date; crearea de indeci i vizualizri asupra tabelelor de baz; generarea denormalizrii (dac este necesar); generarea agregrilor; crearea arhivelor i a backup-urilor. Administratorul cererilor (componenta back-end) realizeaz toate operaiile legate de administrarea cererilor utilizator. Aceast component este construit folosind utilitarele de acces la date disponibile utilizatorilor finali, utilitarele de monitorizare a depozitului de date, facilitile oferite de sistemul de baze de date i programele personalizate.

Evoluia bazelor de date (22)


n zona ce include date agregate sunt stocate toate agregrile predefinite de date, pe diferite niveluri. Scopul, meninerii acestora, este de a mri performana cererilor care necesit agregri. Datele agregate sunt actualizate permanent, pe msur ce sunt ncrcate noi informaii n depozit. Scopul principal al depozitelor de date este de a oferi informaii necesare utilizatorilor pentru luarea deciziilor strategice de marketing. Aceti utilizatori interacioneaz cu depozitul de date prin diferite utilitare de acces (utilitare pentru rapoarte i cereri, utilitare pentru dezvoltarea aplicaiilor, utilitare pentru procesarea analitic on-line (OLAP), utilitare data mining) etc.

Evoluia bazelor de date (23)


Instrumentele de acces pentru utilizatorii finali ai magaziilor de date sunt:
prelucrarea analitic on-line; extensiile limbajului SQL; instrumentele de extragere a datelor.

Prelucrarea analitic on-line (OLAP) reprezint sinteza, analiza i consolidarea dinamic a unor volume mari de date multidimensionale. Serverele de baze de date OLAP utilizeaz structuri multidimensionale pentru stocarea datelor i a relaiilor dintre date. Aceste structuri pot fi vizualizate prin cuburi de date i cuburi n cadrul cuburilor etc. Fiecare latur a cubului reprezint o dimensiune. Serverele de baze de date OLAP multidimensionale accept operaiile analitice uzuale: consolidarea (gruparea), parcurgerea n jos (inversul consolidrii), tranarea, tierea. OLAP necesit o modalitate de agregare a datelor conform mai multor grupri diferite, n numr foarte mare, iar utilizatorii trebuie s le aib n vedere pe toate.

Evoluia bazelor de date (24)


Instrumentele OLAP presupun organizarea informaiei ntr-un model multidimensional care este susinut de o baz de date:
multidimensional (MOLAP), n care datele sunt stocate conceptual n celulele unui tablou multidimensional; relaional (ROLAP), proiectat pentru a permite interogri multidimensionale.

n acest context, a devenit o necesitate extinderea limbajului SQL prin operaii puternice, necesare pentru rezolvarea noului tip de abordare. Au fost introduse noi funcii numerice (limita inferioar, limita superioar etc.), noi funcii statistice (distribuie, distribuie invers, corelaie etc.), noi operatori de agregare, extensii ale clauzei GROUP BY etc.

Evoluia bazelor de date (25)


O alt problem esenial este extragerea datelor i utilizarea acestora pentru luarea de decizii cruciale n domeniul afacerilor. Descoperirea unor noi corelaii, tipare, tendine, prin extragerea unor cantiti mari de date folosind strategia inteligenei artificiale este una din modalitile de rezolvare. Extragerea datelor presupune capacitatea de a construi modele mai degrab previzibile, dect retrospective. Modelarea predictiv utilizeaz informaii pentru a forma un model al caracteristicilor importante ale unui fenomen.

Evoluia bazelor de date (26)


Tehnicile asociate celor patru operaii fundamentale de extragere sunt:
modelarea predictiv (clasificarea cu ajutorul unei reele neurale sau al unei inducii de tip arbore i previziunea valorilor, utiliznd tehnici de regresie); segmentarea bazei de date (comasarea demografic i comasarea neural care se deosebesc prin metodele uilizate pentru a calcula distana dintre nregistrri, prin intrrile de date permise); analiza legturilor (descoperirea asocierilor, descoperirea tiparelor, descoperirea secvenelor de timp similare); detectarea deviaiilor (statistici i vizualizri pentru identificarea mprtierii datelor, utiliznd tehnici moderne de vizualizare grafic). n aceast clas pot fi considerate, de exemplu, detectarea fraudelor privind utilizarea crilor de credit, preteniile de despgubire ale asigurailor etc.

Evoluia bazelor de date (27)


n concluzie, spre deosebire de un sistem OLTP, Data Warehouse este o baz de date a crei structur este proiectat pentru a facilita analiza datelor. Un sistem de suport decizional urmrete, n primul rnd, obinerea de informaii din baza de date, n timp ce unul OLTP urmrete introducerea de informaii n baza de date. Datorit acestor diferene, structura optim a unei Data Warehouse este radical diferit de cea a unui sistem OLTP.

Evoluia bazelor de date (28)


Depozitele de date i sistemele OLTP sunt supuse unor cerine diferite, dintre care cele mai semnificative se refer la operaii, actualizarea datelor, proiectare, operaii tipice i date istorice.
Operaii. Depozitele sunt create pentru a permite interogri ad hoc. Ele trebuie s fie suficient de flexibile pentru a putea rspunde interogrilor spontane ale utilizatorilor. Sistemele OLTP suport numai operaii predefinite. Aplicaiile pot fi optimizate sau create special numai pentru acele operaii. Actualizarea datelor. Utilizatorii finali ai unui depozit de date nu fac n mod direct actualizri ale depozitului. n sistemele OLTP, utilizatorii realizeaz, de obicei, n mod individual procedurile de modificare a bazei de date. n acest fel, baza de date OLTP este ntotdeauna la zi i reflect starea curent a fiecrei tranzacii.

Evoluia bazelor de date (29)


Proiectare. Depozitele de date folosesc, n mod uzual, scheme denormalizate, n timp ce sistemele OLTP folosesc scheme normalizate pentru a optimiza performanele operaiilor. Operaii tipice. O simpl interogare a depozitului de date poate scana mii sau chiar milioane de nregistrri (de exemplu, cererea Care sunt vnzrile totale ctre toi clienii din luna trecut?), n timp ce o operaie tipic OLTP acceseaz doar o parte mai mic din nregistrri. Date istorice. Depozitele de date stocheaz datele pe o perioad lung de timp, luni sau ani. Acest lucru ofer suport pentru analiza istoric a informaiei. Sistemele OLTP rein date istorice att timp ct este necesar pentru a ndeplini cu succes cerinele tranzaciilor curente.

Evoluia bazelor de date (30)


O baz de date OLAP poate fi relaional, dar datorit naturii ei orientate spre dimensiuni, au fost dezvoltate pentru gestionarea acestor baze de date construcii multidimensionale, mai potrivite pentru o raportare flexibil. Spre deosebire de bazele de date relaionale, structura unei baze de date multidi-mensionale nu implic tabele, linii i coloane, ci obiecte de urmtoarele tipuri: variabile, dimensiuni, niveluri, ierarhii, atribute. Data Warehouse, care cuprinde de obicei informaii despre o ntreag companie, poate fi submprit n baze de date departamentale, numite rafturi de date (Data Marts). De exemplu, poate exista un Data Mart al departamentului financiar, un altul al departamentului vnzri i un altul pentru departamentul marketing.

Evoluia bazelor de date (31)


n ultimii ani, marii productori de sisteme de gestiune a bazelor de date relaionale, precum Oracle, au introdus n produsele lor construcii care s faciliteze accesul la datele din sistemele fundamentale pentru luarea de decizii. Astfel, noile versiuni de SGBD-uri ale firmelor mari prevd o modalitate mai inteligent de a realiza operaia de compunere ntre dou sau mai multe tabele, metode de indexare noi, potrivite pentru marile cantiti de date statice cu care opereaz sistemele Data Warehouse, capacitatea de a detecta i optimiza interogri de un tip special, posibilitatea de a folosi mai multe procesoare pentru a rezolva o interogare. Un sistem Data Warehouse are un efect fundamental asupra utilizatorilor. Ei pot manevra mult mai flexibil sistemul, au posibiliti elevate pentru interogarea datelor, dar ei trebuie s tie cum s prelucreze i s vizualizeze datele i cum s le foloseasc n procesul de decizie.

Evoluia bazelor de date (32)


Un efort ce trebuie fcut pentru construirea unui sistem de suport pentru decizii (DSS Decision Support System) const n procesul de descoperire a informaiilor utile din baza de date. Acest proces, numit Data Mining sau Knowledge Discovery in Databases (KDD), proceseaz mari cantiti de date, a cror corelare nu este neaprat evident, n vederea descoperirii de tendine i tipare. Aceste tipare pot fi utilizate pentru stabilirea strategiilor de afaceri sau pentru identificarea unui comportament neobinuit.
De exemplu, o cretere subit a activitilor din cartea de credit ar putea nsemna c respectivul card a fost furat. Instrumentele de explorare a datelor aplic tehnici statistice unor cantiti mari de date stocate, pentru a cuta astfel de tipare.

Arhitecturi multi-user pentru sisteme de gestiune a bazelor de date (1)


Arhitecturile uzuale care sunt utilizate pentru implementarea sistemelor de gestiune a bazelor de date multi-user sunt teleprocesarea, arhitectura fiier-server i arhitectura client-server. Teleprocesarea este arhitectura tradiional, ce cuprinde un calculator cu o singur unitate CPU i un numar de terminale care sunt incapabile s funcioneze singure. Terminalele trimit mesaje la programele aplicaie ale utilizatorilor, care la rndul lor, utilizeaz serviciile SGBD-ului. Aceast arhitectur a plasat o greutate teribil asupra calculatorului central, care pe lng rularea programelor de aplicaii i ale SGBD-ului, mai trebuie s preia i din munca terminalelor (de exemplu, formatarea datelor pentru afiarea pe ecran).

Arhitecturi multi-user pentru sisteme de gestiune a bazelor de date (2)


Arhitectura fiier-server, presupune deja c procesarea este distribuit n reea (de obicei o reea local LAN). Arhitectura cuprinde fiierele cerute de aplicaii i SGBD-ul. Aplicaiile i funciile SGBD sunt executate pe fiecare staie de lucru, solicitnd atunci cnd este nevoie fiiere de pe serverul de fiiere. Dintre dezavantaje se remarc:
existena unui trafic intens pe reea; necesitatea unei copii complete a SGBD-ului pe fiecare staie de lucru; acelai fiier poate fi accesat de mai multe SGBD-uri, ceea ce implic un control complex al integritii, simultaneitii i reconstituirii.

Arhitecturi multi-user pentru sisteme de gestiune a bazelor de date (3)


Arhitectura client-server se refer la modul n care interacioneaz componentele software pentru a forma un sistem. Exist un proces client, care necesit resurse i un proces server, care ofer resurse.
n arhitectura client-server, clientul (front-end) emite, prin intermediul reelei locale, o cerere SQL care este executat pe server (back-end); acesta trimite ca rspuns ansamblul nregistrrilor rezultat. ntr-o astfel de interaciune mainile sunt eterogene, iar protocoalele de reea pot fi distincte. n contextul bazelor de date, clientul:
administreaz interfaa cu utilizatorul i logica aplicaiei; accept i verific sintaxa intrrilor utilizatorilor; proceseaz aplicaiile; genereaz cerinele pentru baza de date i le trimite serverului; transmite rspunsul napoi la utilizator.

Arhitecturi multi-user pentru sisteme de gestiune a bazelor de date (4)


n contextul bazelor de date, serverul:
primete i proceseaz cerinele clienilor pentru baza de date; verific autorizarea; garanteaz respectarea constrngerilor de integritate; efectueaz procesarea interogare-reactualizare i trimite clientului rspunsul; realizeaz optimizarea interogrilor; asigur controlul concurenei dintre mai multi clieni care se ignor (mecanisme de blocare); ntreine dicionarul datelor; ofer acces simultan la baza de date; asigur robusteea n cazul defeciunilor; ofer controlul reconstituirii etc.

Arhitecturi multi-user pentru sisteme de gestiune a bazelor de date (5) Arhitectura tradiional client-server pe dou etaje (niveluri) presupune:
clientul responsabil, n primul rnd, de prezentarea datelor ctre client; serverul responsabil, n primul rnd, de furnizarea serviciilor ctre client.

Arhitecturi multi-user pentru sisteme de gestiune a bazelor de date (6)


Arhitectura client-server pe trei etaje presupune trei niveluri, fiecare fiind rulat, potenial, pe o platform diferit:
nivelul client, format din interfaa cu utilizatorul, care este rulat pe calculatorul utilizatorului final; nivelul server de aplicaie, ce manevreaz logica aplicaiilor i prelucrrii datelor, i care poate servi mai muli clieni (conectarea la celelalte dou straturi se face prin reele locale LAN sau de mare suprafa WAN); nivelul server de baze de date, care se ocup cu validarea datelor i accesarea bazei de date (stocheaz date necesare stratului din mijloc).

Arhitecturi multi-user pentru sisteme de gestiune a bazelor de date (7)


Arhitectura se potrivete natural mediului Web, un browser Web acionnd drept client i un server Web fiind server de aplicaie. Middleware este un strat, evident software, ntre aplicaia postului client i serverul de baze de date, constituit dintr-o interfa de programare a aplicaiilor (API Application Programming Interface) i un protocol de reea. API descrie tipul de interaciune dintre o aplicaie client i un server la distan, via un protocol de comunicaie i de formatare a datelor. Scopul existenei interfeei de programare a aplicaiilor este de a oferi o interfa unic mai multor servere de baze de date.

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