Sunteți pe pagina 1din 7

Arhitectura general a unui SGBD

Un SGBD constituie o interfa ntre utilizatori i BD, care permite n principal crearea, actualizarea i consultarea acesteia. n acest context putem defini SGBD ca un instrument de asamblare, codificare, aran are, protecie i re!sire a datelor n BD "fi!ura #.$%.

&i!ura #.'. Sc(ema !eneral a unui SGBD

&unciunile !enerale pe care le ndeplinete un SGBD sunt) memorarea datelor pe suportul extern prin sistemul de !estiune a fiierelor* !estiunea datelor i a le!turilor dintre ele n +ederea re!sirii rapide prin intermediul sistemului de acces "SGBD intern%* introducerea i extra!erea datelor dinspre exterior n forma cerut de utilizator prin intermediul SGBD,ului extern.

Obiectivele unui SGBD


Obiectivul principal al unei BD este de a separa descrierea datelor fa de pro!ramele de aplicaii, idee care a fost exprimat pentru prima dat n anul #-.'. /entru atin!erea acestui obiecti+ este necesar o abstractizare a datelor memorate n BD. 0stfel s1a a uns ca astzi s existe 2 ni+eluri de reprezentare i percepie a unei BD) extern, conceptual i intern. 3a fiecare ni+el se definete o sc(em# a bazei de date "fi!ura #.$%.
Nivel Extern Domeniu de aplicaie

Utilizator 1/ Grup de utilizatori 1

Schema extern 1

Schema extern n

Utilizator 1/ Grup de utilizatori 1

Nivel conceptual

Schema conceptual

Administrator BD

Nivel intern Modelul fizic Administrator BD

BD
&i!ura #..
1

Un model

Schema extern face referire la datele necesare unui utilizator sau unui !rup de utilizatori. 4a este o sub1sc(em "o ima!ine% a sc(emei conceptuale. Sc(emele externe constituie sursa pentru ntocmirea sc(emei conceptuale. 3a ni+el conceptual, analiz5nd sc(emele externe i elimin5nd redundanele rezult o nou +iziune la ni+elul ntreprinderii, care se numete schema conceptual. 6 sc(em conceptual este complet dac poate furniza date pentru toate sc(emele externe, adic datele de care au ne+oie utilizatorii "unele obinute prin calcul i7sau a!re!are%. Schema intern implementeaz sc(ema conceptual folosind un SGBD. /entru o baz de date se pot defini mai multe sc(eme externe, o sin!ur sc(em conceptual i respecti+ o sin!ur sc(em intern. &aptul c utilizatorul +ede baza de date folosind o sc(em extern faciliteaz determinarea drepturilor de acces la baza de date. Sistemul de !estiune a bazelor de date trebuie s poat interpreta instruciunile exprimate n termen de sc(em extern i respecti+ sc(em conceptual iar dup aceea n termen de operaii de intrare7ieire la ni+el fizic i s asi!ure trecerea de la un ni+el la altul. /lec5nd de la obiecti+ul principal putem spune c principalele obiecti+e ale SGBD1ului sunt) independena fizic a datelor* independena lo!ic a datelor* manipularea datelor prin limba e declarati+e "neprocedurale%* administrarea ntr1o manier c5t mai simpl a datelor* eficacitatea accesului la date* parta area datelor* coerena datelor* redudan controlat* securitatea datelor.

Independena fizic a datelor


Sc(ema intern a BD descrie modul n care datele sunt or!anizate pe suportul fizic "fiiere, nre!istrri% precum i metodele de acces, criteriile de ordonare i re!sire ale acestora, astfel nc5t s se asi!ure un !rad de performan i suplee c5t mai ridicat. 8ndependena fizic a datelor const n posibilitatea de a sc(imba or!anizarea intern a datelor i structurile de nre!istrare, fr a modifica pro!ramele care le folosesc "pro!rame utilizator%. 9aport5ndu1ne la structura pe cele 2 ni+eluri, aceasta nseamn independena sc(emei interne de cea conceptual, care descrie aceleai date, dar pe ni+eluri diferite. Spre exemplu, pe baza unor criterii de performan i flexibilitate a accesului la date, se pot adu!a indeci noi, se pot reor!aniza anumite fiiere, fr a afecta sc(ema conceptual.

Independena logic a datelor


Sc(ema conceptual a BD se obine printr1o sintez i inte!rare a sc(emelor externe, care reprezint interese informaionale de !rup sau indi+iduale. n aceste condiii, este normal ca fiecare !rup de utilizatori s aib posibilitatea s1i modifice n timp cerinele informaionale fr a afecta sc(ema conceptual a BD. 8ndependena lo!ic a datelor const n posibilitatea de a modifica sc(emele externe fr a modifica sc(ema conceptual. /rincipalele a+anta e ale independenei lo!ice a datelor sunt urmtoarele) permite oricrui !rup de utilizatori s +izualizeze datele aa cum i doresc* permite e+oluia n timp a sc(emelor externe ale fiecrui !rup de utilizatori fr a afecta sc(ema conceptual* permite e+oluia unei anumite sc(eme externe fr a afecta celelalte sc(eme externe.

Manipularea datelor prin limbaje declarative (neprocedurale)


n !eneral, exist dou cate!orii de utilizatori care manipuleaz datele dintr1o BD) utilizatori interacti+i care, de re!ul, nu sunt informaticienii i pro!ramatorii. /rima cate!orie, are ne+oie de limba e de intero!are foarte simple, apropiate de limba ul natural, care s le permit ntr1o manier foarte simpl s1i obin informaiile de care au ne+oie. Un exemplu de astfel de limba , care este i standardizat, este SQL "Structured Quer: Lan!ua!e%. ;ea de1a doua cate!orie de utilizatori "pro!ramatorii de aplicaii% folosesc de re!ul limba e procedurale cum sunt cele tradiionale "!eneraia a treia) ;, ;6B63, /3#, etc.%, limba e orientate obiect ";<<, =a+a% sau limba e din !eneraia a $1a "$3G% orientate pe descrierea specificaiilor la ni+el utilizator final.

Administrarea ct mai simpl a datelor


Un SGBD trebuie s furnizeze instrumente adec+ate pentru descrierea datelor, at5t din punct de +edere al sc(emei externe c5t i al sc(emei interne. 6peraiile de descriere i de modificare a descrierii datelor sunt cunoscute sub numele de administrarea datelor. /entru a permite un control eficient asupra datelor i a rezol+a diferite conflicte care pot aprea cu ocazia definirii acestora, aceast operaie cade n sarcina unui !rup restr5ns de persoane numite administratori de date. 0dministrarea centralizat a datelor, nu conduce totdeauna la realizarea unor BD performante, capabile s mulumeasc cate!orii de utilizatori diferii. /entru a nltura acest impediment, SGBD1urile actuale ofer instrumente adec+ate care permit o descentralizare a descrierii datelor, asi!ur5nd n acelai timp coerena necesar ntre di+ersele descrieri pariale.

Eficacitatea accesului la date


&iecare utilizator dorete ca intero!rile sale asupra BD s furnizeze informaiile necesare acestuia ntr1un timp c5t mai scurt. 4xist doi parametri care msoar performanele accesului la date) numrul de tranzacii pe secund i timpul de rspuns. Dimensiunile celor > parametri sunt dependente i de modul n care sistemul de operare al calculatorului, sub care funcioneaz SGBD1ul, aloc i parta eaz resursele fizice "unitatea central, memoria intern, memoria extern%. Un element foarte important care influeneaz aceti parametri l constituie operaiile de intrare7ieire pe disc. /entru a optimiza aceste operaii, ma oritatea SGBD1urilor actuale folosesc memorii cache, unde se depoziteaz datele cele mai frec+ent utilizate pe parcursul execuiei unei aplicaii. Partajarea datelor se realizeaz prin controlul accesului concurent la BD. ?ai muli utilizatori +or s acceseze simultan aceeai nre!istrare din BD. &izic, acest lucru nu este posibil deoarece mecanismul de acces la disc i la memoria intern este unic. /rin urmare cererile de acces simultane, sunt nre!istrate ntr1un fir de ateptare i sunt deser+ite ntr1o anumit ordine. oeren!a datelor const n respectarea unor dependee care pot exista ntre datele din BD . De exemplu data angajrii unui salariat trebuie s fie mai mare dec5t data naterii. 9e!ulile explicite sau implicite pe care datele trebuie s le respecte de1a lun!ul e+oluiei lor n BD, se numesc restricii de inte!ritate. SGBD1ul trebuie s fie capabil s pstreze coerena datelor prin +erificarea acestor restricii de inte!ritate. "edundan!a controlat const n posibilitatea de a nre!istra unele date, elimin5nd astfel situaiile de nre!istrare multiple. ;u c5t redundena este mai mic cu at5t performanele BD cresc. Securitatea datelor se refer la dou aspecte) accesul controlat al utilizatorilor la BD "confidenialitate%* refacerea BD n urma unor a+arii. ;onfidenialitatea datelor este asi!urat prin proceduri de) identificare a utilizatorilor prin nume sau cod* autentificarea prin parole* autorizare a accesului difereniat prin drepturi de creare, consultare, modificare sau ter!ere pentru anumite se!mente de date. Baza de date trebuie s fie prote at mpotri+a unor distru!eri lo!ice "anomalie de actualizare% sau fizice. /entru acestea SGBD1ul trebuie s ofere instrumente pentru) crearea unor puncte de reluare* altfel spus, sal+area din timp n timp a unor copii curente ale BD* !estiunea unui urnal de tranzacii* lista operaiilor realizate asupra BD dup ultimul punct de repriz. Dac apare o anomalie, care ar putea distru!e BD, pe baza copiei de la ultima repriz i a urnalului de tranzacii, se poate reface baza de date n forma iniial. /rotecia mpotri+a unei distru!eri fizice se face prin realizarea unor copii a BD.

#unc!iile unui SGBD


/rincipalele funciuni ale unui SGBD sunt) descrierea datelor, actualizarea i intero!area BD, con+ersia datelor dintr1 un format n altul, asi!urarea controlului inte!ritii, concurenei i securitii datelor. @ersiunile noi de SGBD1uri sunt dotate cu funcii a+ansate pentru !estiunea procedurilor i a e+enimentelor. 0r(itectura funcional a unui SGBD este prezentat n fi!ura #.'.

Descrierea datelor
SGBD1ul trebuie s fie capabil s defineasc datele "sc(emele) extern, conceptual, intern i le!turile corespondente% prin intermediul unui limba specializat DDL "Description Data Lan!ua!e%, ntr1o form unificat numit schema surs i apoi s compileze aceast sc(em ntr1o form intern numit schema obiect. ntr1un SGBD care suport cele 2 ni+eluri de descriere a datelor "extern, conceptual i intern% exist 2 administratori de date) administratorul bazei de date , care are rolul de a defini sc(ema intern i re!ulile de trecere de la sc(ema conceptual la cea intern* administratorul ntreprinderii, care definete sc(ema conceptual* administratorul aplicaiei, care definete sc(ema extern i re!ulile de coresponden cu sc(ema conceptual. ;ele 2 sc(eme i procedurile de trecere dintr1una n alta sunt nre!istrate n dic!ionarul de date "Data Dictionar:%, care poate fi di+izat n dou) dic!ionarul $ntreprinderii, care +a conine sc(ema conceptual cu procedurile aferente acesteia i dic!ionarul ba%ei de date, care conine sc(emele intern i extern, cu procedurile de trecere aferente. n aceste dicionare, informaiile sunt memorate n format surs i obiect "compilat%. Un dicionar de date or!anizat sub

forma de baze de date se numete metaba%. Un SGBD furnizeaz comenzi pentru a defini sc(emele intern, conceptual i extern.

Interogarea bazei de date


6binuim s includem n funcia de intero!are at5t cutarea i extra!erea datelor c5t i actualizarea bazei de date "adu!are, modificare, ter!ere%. n SGBD1urile din prima !eneraie, intero!area BD se realizeaz prin limba e procedurale, care permiteau localizarea datelor prin cutri succesi+e. SGBD1urile actuale implementeaz aceast funcie de intero!are a BD prin intermediul unor limba e declarati+e, care permit cutarea datelor dup coninut, fr a preciza procedurile de acces. 0ceste limba e trebuie s fie complete, n sensul de a permite definirea oricrei cereri de intero!are a BD, formulat de utilizator. ;el mai utilizat limba de intero!are a BD este n momentul de fa limba ul SA3. 6 cerere de intero!are se deruleaz n $ etape) formulare folosind limba ul de manipulare a datelor " D&L) Data &anipulation Lan!ua!e care este un subset al limba ului SA3%, compilare, optimizare i execuie. SGBD1urile trebuie s posede un compilator "analizator% al cererilor de intero!are, care s permit analiza sintactic i e+aluarea acestora. /entru a +alida cererile de intero!are, compilatorul utilizeaz dicionarul de date i le descompune n operatori relaionali, pe care1i structureaz sub forma unui arbore, n care nodurile reprezint operatorii iar elementele de pe ultimul ni+el reprezint relaiile. 6 cerere de intero!are compilat este transmis n etapa urmtoare de optimizare, care caut strate!ia cea mai rapid pentru execuia acesteia. n urma optimizrii, cererile de intero!are sunt transformate n tranzacii. 6 tranzacie este format din una sau mai multe cereri de intero!are, care se +or executa, din punct de +edere lo!ic mpreun "ca entitate funcional%. 4xecuia unei tranzacii implic dou operaii principale) !estiunea tranzaciilor concurente i execuia propriu1zis.

onversia (tranformarea) datelor, const !n posibilitile pe care "#$D%ul le ofer pentru trecerea datelor !ntre cele & niveluri' e(tern) conceptual *i intern+ ,entru aceasta "#$D%ul trebuie s cunoasc corespondenele e(istente !ntre niveluri+ ontrolul integritii datelor
SGBD1ul trebuie s asi!ure coerena datelor. Boate re!ulile implicite sau explicite care trebuie s asi!ure inte!ritatea datelor cunoscute sub numele de restric!ii de integritate. Sunt prezentate cu titlu de exemplu) inte!ritatea c(eii primare, potri+it creia, +alorile c(eii primare nu trebuie s fie nule* inte!ritatea referirii, potri+it creia +alorile c(eii externe trebuie s refere obli!atoriu +alorile c(eii primare corespondente* inte!ritatea de domeniu, prin care +alorile unui atribut trebuie s aparin domeniului definit de utilizator* etc.

#estiunea tranzaciilor
4ste important ca un SGBD s asi!ure !estiunea tranzaciilor. 6 tranzacie este o funcie care face ca baza de date s treac dintr1o stare BD# ntr1o stare BD>. Botul este ca aceast trecere s lase baza de date ntr1o stare coerent. Se opereaz cu conceptele de) atomicitatea tranzaciilor "Bransaction 0tomicit:% 1 o tranzacie este total executat sau nu este executat deloc* corecia tranzaciilor "Bransaction ;orrectness% , semnific respectarea coerenei bazei de date dup executarea tranzaciilor* izolarea tranzaciilor 1 modificrile produse de fiecare tranzacie sunt +izibile la sf5ritului tranzaciei. n fapt atomicitatea, corecia i izolarea sunt proprieti ale tranzaciilor i sunt asumate prin si!la 0;8D unde D semnific faptul c trebuie conser+at durabil " Durability% actualizarea tranzaciilor.

"ecuritatea datelor
Un SGBD trebuie s !aranteze securitatea datelor. 0cest deziderat se realizeaz prin intermediul unui mecanism de control al drepturilor de acces la date i de restaurare a BD n cazul unor pene sau erori. &oarte multe SGBD1uri noi posed o serie de funcii noi cum sunt) posibilitatea de a declana anumite procedeuri atunci c5nd sunt ndeplinite anumite condiii asupra datelor din BD introducerea unor re!uli de inferene, care permit deducerea unor date noi pe baza celor existente posibilitatea de a !estiona obiecte complexe "(ri, !rafice, filme%, ceea ce a condus la baze de date multimedia

'()L)*A(O")) BA*+LO" D+ DA(+


6 baz de date poate a+ea unul sau mai muli utilizatori. n funcie de rolul acestora distin!em trei clase de utilizatori ai bazelor de date) A, Programatorii de aplica!ii, sunt cei care scriu pro!ramele ce utilizeaz bazele de date. 8ndiferent de limba ul de pro!ramare utilizat ";6B63, /37#, ;, /0S;03%, aceste pro!rame asi!ur accesul la datele stocate n baza de date, adu!area de noi date, ter!erea sau modificarea datelor existente. 0ceste funcii se execut printr1o intero!are adresat SGBD1ului. B, 'tili%atorii -inali, cuprind dou cate!orii de utilizatori) Utilizatorul expert, informatician, cunosc5nd limba e de pro!ramare i limba ele bazelor de date. Utilizatorul neinformatician sau utilizatorul naiv!, care nu este specialist n baze de date. Utilizatorii finali interacioneaz cu baza de date de la o staie de lucru sau de la un terminal, utiliz5nd fie una din aplicaiile menionate la punctul precedent, fie o interfa care face parte inte!rant din SGBD. ?a oritatea SGBD1urilor furnizeaz cel puin un procesor de limba de intero!are interacti+, care permite utilizatorului s adreseze SGBD1ului comenzi de ni+el nalt "ca S+L+ (, ).S+"(, etc%. 3imba ul SQL este un limba tipic de intero!are. Unele sisteme ofer utilizatorilor si alte tipuri de interfee n care nu pot adresa o comand explicit "ca S+L+ (%, dar pot s alea! o comand dintr1un meniu sau s completeze rubrici n structuri predefinite. 0ceste meniuri sau interfee !rafice sunt mai uor de folosit de utilizatorii care nu au cunotine formale n te(nolo!ia informaiei) )( ")nformation (ec(nolo!:% i )S ")nformation S:stem%. 8nterfeele orientate pe comand, adic pe limba e de intero!are, necesit un anumit ni+el de competen n 8B, dar sunt mai flexibile i ofer funcionaliti care nu exist n interfeele cu meniuri sau interfeele !rafice. , Administratorul BD, care asi!ur administrarea unitar a datelor din baza de date. &unciile asi!urate de ctre administratorul bazei de date sunt) Definirea sc(emei conceptuale "n care sunt incluse i re!ulile care s asi!ure inte!ritatea datelor%* Definirea sc(emei interne * Definirea sc(emei externe "sau spri inirea utilizatorului final n definirea acestora%* Definirea procedurilor de sal+are i restaurare* Definirea utilizatorilor bazei de date i a drepturilor de acces "la baza de date sau la anumite obiecte ale bazei de date% * Super+izarea performanelor i asi!urarea e+oluiei bazei de date * 4tc.

Securitatea si integritatea BD
Datele stocate n baza de date trebuie s reflecte fidel realitatea adic s fie fiabile iar pro!ramele de !estiune a bazelor de date s asi!ure o stare coerent a bazelor de date rm5n. Se distin! mai multe aspecte pri+ind inte!ritatea i securitatea bazelor de date) 0si!urarea coerenei datelor stocate n raport cu semnificaia acestora. Spre exemplu cantitatea aflat n stoc nu trebuie s fie ne!ati+, salariul de ncadrare s nu fie mai mic dec5t salariul minim !arantat, etc. 4ste +orba de respectarea re!ulilor de integritate semantic "inte!ritatea structural%. 0si!urarea c aciunile concurente ale unor utilizatori nu aduce pre udicii altor utilizatori. 4ste +orba de sincroni%area accesului concurent la baza de date. 0si!urarea c n urma unei defeciuni fizice "pan curent, etc.% baza de date rm5ne ntr1o stare coerent. 4ste +orba de siguran!a $n -unc!ionare. 0si!urarea c baza de date este manipulat de ctre utilizatori care au dreptul s o fac. 4ste +orba de securitatea de utili%are.

onceptele de tran%ac!ie /i de stare coerent a ba%ei de date


"ranzacia reprezint o te(nic prin care este asi!urat coerena bazei de date n cursul actualizrii acesteia. 6 baz de date se numete coerent dac respect toate restriciile impuse de reflectarea fidel a realitii.

n !eneral, coerena unei baze de date este asi!urat prin di+erse mecanisme ce implementeaz restriciile de inte!ritate "restricii ale modelului relaional, restricii statice, dinamice etc.%. /ot exista, ns, situaii nepre+zute "blocri sau cderi ale sistemului% n care operaiile de actualizare pot altera coerena datelor. Dac n perioada cuprins ntre > operatii de actualizare, apare o cdere brusc a sistemului "ntreruperea ener!iei electrice%, operaia contabil +a rm5ne neec(ilibrat "este nre!istrat numai ntr1un cont%, astfel c n loc s reflecte un proces economic firesc, +a descrie un fenomen imposibil de realizat "consecina) situaii contabile complet eronate%. Utilizarea tranzaciilor conduce la e+itarea unor astfel de situaii. Branzacia reprezint un set de operaii de actualizare care fie se execut toate, fie nici una. 6peraiile cuprinse ntr1o tranzacie nu pot fi executate parial) dac una dintre ele eueaz atunci toate celelalte sunt anulate. 6 tranzacie poate fi) Sal+at "commited% 1 toate operaiile tranzaciei au fost nc(eiate cu succes iar baza de date este actualizat cu noile modificri. Derulat napoi "rollbac#% , toate operaiile tranzacionate sunt anulate iar baza de date este restaurat la starea dinaintea tranzaciei. Dac operaiile din exemplul anterior sunt incluse ntr1o tranzacie, atunci exist si!urana c indiferent de situaie, baza de date rm5ne consistent. n consecin, tranzaciile sunt uniti atomice de actualizare a datelor, prin care o baz de date trece dintr1o stare coerent n alt stare coerent CDelobelD. ntr1un mediu multiuser, datele actualizate prin intermediul unei tranzacii nu sunt +izibile altor utilizatori dec5t numai la sal+area tranzaciei.

Siguran!a $n -unc!ionare /i reluarea $n ca% de pan


S.G.B.D.1urile trebuie s asi!ure coerena bazei de date n caz de pan produs la ec(ipamente sau a pro!rame. Dac pana sur+ine n timpul efecturii tranzaciilor care modific baza de date S.G.B.D.1ul trebuie s refac baza de date sau s anuleze tranzacia efectuat, dup cum tranzacia a atins sau nu punctul de confirmare care determin o stare coerent a bazei de date. Sin!urul mod de a reveni este de a pro!rama explicit un fel de anti1tranzacie pentru a anula tranzacia. n cazul tranzaciilor concurente se recomand te(nica urnalizrii. 0cti+itatea tranzaciilor este nre!istrat ntr1un urnal !estionat de ctre S.G.B.D.. 0cest urnal se compune din articole care indic e+enimentele principale care afecteaz baza de date) nceputul unei noi tranzacii* Sf5ritul tranzaciei i deci confirmarea actualizrii* 0nularea unei tranzacii* /entru o punere la zi se stoc(eaz) identificatorul tranzaciei ce efectueaz actualizarea, identificatorul tuplului modificat, +ec(ea +aloare, noua +aloare afectat. /entru mai mult si!uran sunt fcute copii de si!uran ale bazei de date la inter+ale re!ulate de timp "consemnate i ele n urnal%. 3a redemararea sistemului S.G.B.D.1ul determin care sunt tranzaciile confirmate nainte de pan i care sunt cele pierdute "acti+e n momentul n care pana s1a produs.%

Securitatea utili%rii
S.G.B.D.1urile trebuie s aib mecanisme care s asi!ure securitatea informaiilor stocate. /utem mentiona patru clase de te(nici care asi!ur securitatea) $ontrolul accesului ce +erific identitatea utilizatorilor i a drepturilor de acces acordate acestora* $ontrolul fluxurilor de date ce supra+e!(eaz drumul datelor pentru a nu a un!e n posesia persoanelor ru intenionate* $ontrolul de inferen, pentru a e+ita ca un utilizator s deduc informaii confideniale prin inferen "folosind datele la care are acces%* $riptografia, are ca scop stocarea sau transportarea datelor sub o form pe care numai utilizatorii n posesia unui cod le pot nele!e. ;u a utorul unui cod secret ;, datele D sunt criptate "folosind un pro!ram de criptare% i sunt decriptate

numai de ctre posesorul codului secret. 4xist numeroase pro!rame care realizeaz operaii de criptare7decriptare. ;a exemplu citm pro!ramul PGP0 care funcioneaz sub sistemul EindoFs. /roblema securitii utilizrii de+ine tot mai important n condiiile n care sistemele informaionale cu baze de date sunt desc(ise ctre 8nternet.

Pentru criptarea i decriptarea fiierelor.