Sunteți pe pagina 1din 14

SISTEME DE GESTIUNE A BAZELOR DE DATE 1 (SGBD)

CAPITOLUL 1 SGBD ASPECTE FUNDAMENTALE 1.1. Conceptul de SGBD 1.2. Obiectivele unui SGBD 1.3. Functiile unui SGBD 1.4. Clasificarea SGBD 1.5. Arhitecturi de SGBD

8.1. Conceptul de SGBD. Pentru a nelege noiunea de SGBD (Sistem de Gestiune a Bazelor de Date, n englez DataBase Management System), n contextul unui SBD (Sistem de Baz de Date), vom studia definirea, rolul i evoluia SGBD-urilor. a) Definirea unui SGBD

-1-

SGBD este un ansamblu complex de programe care asigur interfaa ntre o baz de date i utilizatorii acesteia. SGBD este componenta software a unui sistem de baz de date care interacioneaz cu toate celelalte componente ale acestuia, asigurnd legtura i interdependena ntre elementele sistemului (vezi arhitectura unui SBD) b)Rolul unui SGBD Rolul unui SGBD ntr-un context de sistem de baz de date este de a: 1. defini i descrie structura bazei de date, care se realizeaz printr-un limbaj propriu specific, conform unui anumit model de date; 2. ncrca/valida datele n baza de date respectnd nite restriciile de integritate impuse de modelul de date utilizat; 3. realiza accesul la date pentru diferite operaii (consultare, interogarea, actualizare, editare situaii de ieire), utiliznd operatorii modelului de date 4. ntreine baza de date cu ajutorul unor instrumente specializate (editoare, utilitare - shells, navigatoare browsers, convertoare etc); 5. asigura protecia bazei de date subaspectul securitii i integritii datelor. c) Evoluia SGBD-urilor Evoluia SGBD-urilor este legat, n principal, de modelul de date pe care-l implementeaz. Organizarea datelor n memoria extern n baze de date se face conform unui model de date, aa cum am vzut n capitolele precedente. Etapele n evoluia SGBD-urilor (Fig. 8.2.) sunt prezentate n continuare. 1. Pn n anii aizeci datele erau organizate doar n fiiere, gestionate de programe scrise n diferite limbaje de programare universale (exemple: Cobol, Fortran etc.). 2. La sfritul anilor aizeci a aprut modelul arborescent de organizare a datelor i primele SGBD-uri care erau ierarhice i implementau acest model (exemplu: IMS). 3. La nceputul anilor aptezeci a aprut modelul reea de organizare a datelor i SGBDurile reea ce implementau acest model (exemple: IDMS, SOCRATE). SGBD-urile arborescente i reea fac parte din prima generaie i ele constituie pionieratul n domeniu. 4. La sfritul anilor aptezeci, nceputul anilor optzeci a aprut modelul relaional de organizare a datelor i ulterior s-au realizat SGBD-urile relaionale ce implementau acest model (exemple: Oracle, Informix, DB2, SQLServer, Visual Foxpro, Access etc.). Este generaia a doua de SGBD, care prin simplitate, interactivitate i neproceduralitate domin piaa actual. 5. La sfritul anilor optzeci, nceputul anilor nouzeci a aprut modelul orientat obiect de organizare a datelor i SGBD-urile orientate obiect ce implementau acest model (exemple: Gemstone, O2, Jasmine etc.). Aceasta este generaia a treia de SGBD care este n plin dezvoltare acum.

-2-

Not. n acest moment, n lume, cea mai mare parte a bazelor de date sunt realizate cu SGBD relaionale, o foarte mic parte cu SGBD de generaia nti i ctig tot mai mult teren cele realizate cu SGBD orientate obiect. Not. La trecerea de la o generaie la alta de SGBD s-au urmrit urmtoarele aspecte: 1. Pstrarea aspectelor fundamentale care dau conceptul de SGBD: obiectivele, funciile i componentele. Desigur, la fiecare generaie apar i o serie de elemente specifice, de nuan, care ns nu schimb fundamentele conceptului. 2. ncadrarea unui SGBD ntr-o generaie se face n funcie de modelul de date implementat. Sunt luate n considerare toate cele trei elemente care caracterizeaz modelul de date: definirea structurii modelului (entitile i legturile dintre ele), operatorii de prelucrare, restriciile de integritate. 3. mbuntirea organizrii datelor n memoria extern prin implementarea unui model mai performant. Se urmrete creterea independenei logice i fizice (pn la total), asigurarea unor limbaje de descriere a datelor (LDD) ct mai performante i automatizate, asigurarea unor limbaje de manipulare a datelor (LMD) puternice, asigurarea unor limbaje de regsire neprocedurale (exemplu SQL), reducerea i controlul redundanei. 4. mbuntirea accesului la date prin: acces dup mai multe chei, acces concurent, optimizarea accesului, creterea securitii datelor. 5. Oferirea unor faciliti de utilizare tot mai performante: generatoare specializate, interfee cu alte limbaje de programare, interactivitatea. 6. Diversificarea tipurilor de date ce pot fi utilizate, diversificarea modului de lucru (local sau reea), precum i a tipurilor de aplicaii ce pot fi dezvoltate. Acest lucru nseamn c SGBD-urile se doresc a avea o extensibilitate ct mai mare, care s le permit adaptarea la nou. 7. Utilizarea unor SGBD-uri din generaiile precedente n paralel cu dezvoltarea unei noi generaii. 8. Tendina de fundamentare teoretic i standardizare a conceptelor din fiecare nou generaie de SGBD aprut, ceea ce ofer acestora robustee i deschidere. 1.2. Obiectivele unui SGBD Obiectivul general al unui SGBD este de a furniza suportul software complet pentru dezvoltarea de aplicaii informatice cu baze de date. Fiind un mediu specializat, SGBD satisface cerinele informaionale ale utilizatorului ntr-un mod optim. Astfel, el asigur minimizarea costului de prelucrare a datelor, reduce timpul de rspuns (timp util), asigur flexibilitate i deschidere mari aplicaiei, asigur protecie ridicat a datelor. Pentru ca un produs software s ating performanele de mai sus i s fie un SGBD, el trebuie s asigure un set minim de obiective (Fig 8.3.), care va fi prezentat n continuare. 1. Asigurarea independenei datelor

-3-

Se spune c o aplicaie informatic depinde de date, dac modificarea structurii de memorare a datelor sau a strategiei de acces la date afecteaz i aplicaia. Independena datelor fa de aplicaie poate fi: - fizic, adic modul de memorare a datelor i tehnicile fizice de memorare (strategia de acces), pot fi schimbate fr a rescrie programele (exemplu, se poate face acces secvential, apoi se poate indexa i face un acces direct); - logic, adic structura de date poate fi schimbat (deoarece este pstrat n dicionarul bazei de date) fr a rescrie programele (exemplu, se poate aduga n structur un nou cmp). Necesitatea asigurrii independenei datelor fa de programele de aplicaie, de ctre SGBD, este dat de urmtoarele aspecte: diferite aplicaii au nevoie de viziuni diferite ale utilizatorului asupra acelorai date. O baz de date este realizat pentru o gam larg de utilizatori, care au la dispoziie un volum mare de date. SGBD-ul trebuie s-i permit la un moment dat unui utilizator s vad (s-i construiasc o viziune) doar o parte din baza de date i anume numai acele date care l intereseaz; administratorul bazei de date trebuie s aib libertatea de a schimba structura de memorare sau strategia de acces, ca rspuns la cerinele noi aprute, fr a modifica aplicaiile existente (sistem deschis). Dup darea n folosin a unei baze de date pot apare schimbri de standarde sau norme, se pot modifica prioritile aplicaiei, se pot modifica unitile i modul de memorare ale datelor etc. Cu alte cuvinte, dinamica lumii reale nconjurtoare va genera modificri n baza de date. SGBD-ul va permite aplicaiei informatice s funcioneze cu programele existente i s converteasc datele; baza de date existent la un moment dat, precum i programele de aplicaie care au fost folosite o perioad de timp, reprezint o investiie major la care nu trebuie s se renune prea uor. Cheltuielile pentru realizarea unei baze de date sunt mari, iar ele trebuie recuperate integral i adus un beneficiu. 2. Redundan minim i controlat a datelor Spre deosebire de sistemele clasice (cu fiiere) de prelucrare automat a datelor, stocarea informaiilor n bazele de date se face astfel nct datele s nu fie multiplicate. Cu toate acestea, uneori, pentru a realiza performane sporite, n ceea ce privete timpul de rspuns se accept o anumit redundan a datelor. Aceasta va fi ns controlat pentru a se asigura coerena(corectitudinea datelor) bazei de date. Exemplul tipic de redundan controlat acceptat este cea aprut la proiectare bazelor de date relaionale prin tehnica de normalizare. 3. Faciliti de utilizare a datelor Aceast facilitate presupune ca SGBD-ul s aib nite componente specializate pentru diferite operaii de utilizare: - Folosire datelor de ctre mai muli utilizatori n diferite scopuri (aplicaii). De cele mai multe ori, o baz de date nu este realizat izolat. Mai ales n cazul realizrii unor aplicaii informatice cu baze de date care fac parte dintr-un sistem integrat, dar nu numai, datele de la o aplicaie trebuie s poat fi

-4-

utilizate n alte aplicaii. Acest lucru reduce spaiul de memorare necesar i efortul de ncrcare / validare a datelor. - Accesul ct mai simplu al utilizatorilor la date, fr ca ei s fie nevoii s cunoasc structura ntregii baze de date, acest lucru rmnnd n sarcina administratorului bazei de date. Utilizatorul final sau intensiv (neinformaticienii), care este beneficiarul aplicaiei cu baze de date, are puine noiuni de informatic. De aceea pe el nu l intereseaz structura bazei de date, ci numai o utilizare ct mai uoar. Pentru acest lucru SGBD-ul trebuie s ofere instrumente specializate pentru dezvoltarea de programe de aplicaie ct mai prietenoase, care s dirijeze i s ajute beneficiarul n utilizarea bazei de date. - Existena unor limbaje performante de regsirea a datelor care permit exprimarea interactiv a unor cereri de regsire a datelor i indicarea unor reguli pentru editarea informaiilor solicitate. Regsirea datelor este una din operaiile cele mai folosite ntr-o baz de date. Fie c este folosit pentru actualizare sau pentru consultare, sub forme diferite, regsirea datelor este realizat la cererea tuturor tipurilor de utilizatori ai bazei de date. Din acest motiv SGBD-urile sunt puternice n ceea ce privesc facilitile de regsire. Acestea au atins performane ridicate n sistemele relaionale, multe din facilitile de regsire de aici fiind preluate n generaia a treia de SGBD-uri. - Spre deosebire de sistemul clasic de prelucrare pe fiiere, unde exist un singur criteriu de adresare (cel care a stat la baza organizrii fiierului) n cazul bazelor de date, sistemul de gestiune trebuie s ofere posibilitatea unui acces multicriterial. n timp ce modificarea criteriului la fiierele clasice implic reorganizarea lor, la bazele de date schimbarea criteriului nu afecteaz cu nimic datele. SGBD-ul stocheaz datele n entitile bazei de date i permite mai multe ci de acces. Pentru diferite moduri de adresare SGBD creeaz dinamic, la momentul execuiei, o serie de fiiere anexe (de index etc.) care las neschimbate entitile bazei de date. 4. Protecia datelor n sistemele de baz de date, protecia datelor se asigur sub dou aspecte: securitatea i integritatea. Securitatea (confidenialitatea) datelor semnific faptul c accesul la date se face numai printr-o autorizare corespunztoare i doar controlat (sarcina administratorului bazei de date cu ajutorul SGBD-ului). n acest sens, SGBD-ul permite: autorizarea i controlul accesului la date, utilizarea viziunilor, realizarea unor proceduri speciale, criptarea datelor. a) Autorizarea i controlul accesului la date este realizat de SGBD prin intermediul parolelor. Acestea identific clasele de utilizatori, cu anumite drepturi de acces, la anumite date. Clasele de utilizatori pentru care se poate autoriza accesul la baza de date sunt: - Utilizatorii obinuii care nu au n proprietate obiecte i nu au alte privilegii dect cele date de administratorul BD.

-5-

- Proprietarii de obiecte (tabele, viziuni, proceduri etc.) sunt utilizatorii care i creeaz anumite obiecte. Implicit proprietarul unui obiect are toate privilegiile asupra acestuia, putnd s le revoce sau s le transmit altor utilizatori. - Administratorul BD este utilizatorul care are implicit toate drepturile asupra datelor i dreptul de a revoca sau stabili privilegii pentru ceilali utilizatori. Privilegiile diferiilor utilizatori sunt gestionate de SGBD astfel: un anumit subiect (utilizator) poate realiza anumite aciuni, asupra anumitor obiecte, n limita anumitor restricii (condiii suplimentare). Profilul utilizator este dat de nume (NAME), parola (PASS), nume grup, numr nivel de acces. b) Utilizarea viziunilor (view) este asigurat de SGBD pentru reprezentarea schemelor externe ale bazei de date. Cu ajutorul viziunilor, SGBD-ul permite s se defineasc partiii logice ale bazei de date, definite pentru diferii utilizatori, n raport cu cerinele acestora de acces la date. Securitatea datelor este asigurat de SGBD prin definirea tuturor drepturilor necesare unui utilizator pentru o viziune i revocarea drepturilor pentru obiectele iniiale. c) Realizarea unor proceduri speciale de acces asupra datelor este permis de SGBD. Aceste proceduri scrise n LMD se pstreaz n form precompilat, iar anumitor utilizatori li se va acorda dreptul de execuie i li se va interzice accesul direct la obiectele bazei de date. d) Criptarea este asigurat de SGBD prin oferirea unor rutine de criptare (codificare) a datelor apelate automat sau la cerere i prin existena unor instrumente care permit utilizatorului s realizeze propriile rutine de criptare. Criptarea i decriptarea se realizeaz dup algoritmi specifici, cu o cheie (parol) de acces la rutin. Componentele unui sistem de criptare sunt: - Algoritmul de criptare este o rutin care transform datele iniiale ntr-o form cifrat (codificat); - Cheia de criptare este o valoare secret (parola) care permite intrarea n algoritmul de criptare; - Algoritmul de decriptare este o rutin care transform datele din forma criptat n cea iniial; - Cheia de decriptare este o parol de intrare n algoritmul de decriptare. Integritatea datelor se refer la corectitudinea (coerena) datelor i este asigurat prin protejarea acestora mpotriva unor incidente intenionate sau neintenionate Componentele SGBD-ului asigur integritatea datelor (Fig.8.5.) tratnd separat cauzele care pot altera baza de date: integritatea semantic, controlul accesului concurent, salvarea / restaurarea. a) Integritatea semantic este asigurat prin operaii efectuate de SGBD asupra datelor i a prelucrrilor. Aceste operaii alctuiesc un set de reguli numit restricii de integritate. SGBD-ul asigur astfel de restricii implicite (rezult din modelul de date implementat) i explicite (proceduri incluse n programele de aplicaie). b) Accesul concurent asigur coerena datelor i este un obiectiv al SGBD-ului care se pune cu acuitate mai ales la baze de date distribuite. n acest sens SGBD-ul are o unitate distinct de prelucrare a datelor numit tranzacie, care este constituit dintr-o

-6-

secven de operaii marcat de puncte de nceput i sfrit. Tranzacia poate fi controlat de SGBD implicit, cnd punctele de nceput i de sfrit sunt automat definite, sau explicit, cnd punctele de nceput i de sfrit sunt definite prin comenzi specifice. La execuia concurent a tranzaciilor SGBD-ul trebuie s asigure blocarea datelor utilizate la un moment dat. Aceasta nseamn c se interzice accesul celorlalte tranzacii concurente la aceleai date, pn se termin tranzacia curent. Tehnica de blocare utilizat de SGBD se poate aplica la nivelul ntregii baze de date, a unui fiier, a unei nregistrri sau chiar a unui cmp. Ea poate fi pentru citire (partajabil) sau pentru scriere (exclusiv). Cele mai multe SGBD-uri realizeaz blocarea la nivel de nregistrare i fiier, prin diferite metode: setarea unui bit pentru resursa respectiv, construirea unei liste cu resursele blocate, meninerea resurselor blocate ntr-o zon special etc. Interblocarea este situaia n care dou tranzacii blocheaz anumite resurse, apoi solicit fiecare resursele blocate de cealalt. La nivelul de SGBD trebuie s existe facilitatea de prevenire sau rezolvare a interblocrii. *Prevenirea interblocrii presupune c programele blocheaz toate resursele de care au nevoie nc de la nceputul fiecrei tranzacii (greu de precizat). *Soluionarea interblocrii presupune c exist nite mecanisme pentru detectarea i eliminarea interblocrii (de exemplu graful dependenelor proceselor de executat). c) Salvarea / restaurarea (backup/recovery) ca facilitate a SGBD-ului permite refacerea consistenei datelor care au fost alterate fizic din diferite motive. Salvarea datelor este un proces de stocare prin realizarea de copii de siguran i prin jurnalizarea tranzaciilor i a imaginilor. SGBD-ul poate asigura salvarea automat sau la cererea administratorului bazei de date. Jurnalul tranzaciilor este un fiier creat i ntreinut de SGBD, n care se memoreaz informaiile despre tranzaciile efectuate asupra bazei de date . Aceste informaii sunt: codul tranzaciei, momentul nceperii tranzaciei, identificatorul utilizatorului care a lansat tranzacia, actualizrile efectuate pe BD. Jurnalul imaginilor se deosebete de cel al tranzaciilor prin aceea c nu conine descrierea operaiilor efectuate asupra BD ci efectul acestora. Exist urmtoarele variante: *Jurnalul cu imaginea nregistrrilor dup actualizare (after image), ce conine copia fiecrei nregistrri n forma de dup efectuarea unei actualizri asupra ei. *Jurnalul cu imaginea nregistrrilor nainte de efectuarea unei actualizri (before image), ce conine copia fiecrei nregistrri n forma de dinaintea efecturii unei actualizri asupra ei. *Jurnalul mixt ce conine att imaginea nregistrrilor dinainte de actualizare ct i dup actualizare. Restaurarea pornete de la colecii de date stocate prin salvare i reface consistena bazei de date, minimiznd prelucrrile pierdute. Restaurarea este asigurat automat de SGBD, dar se poate realiza i manual. Restaurarea automat a BD este realizat de SGBD cu ajutorul fiierelor jurnal. Pentru a se putea realiza acest lucru, SGBD realizeaz o paginare a BD i la o cerere de regsire transfer o astfel de pagin n memoria intern. Aici are loc prelucrarea ei i abia dup ce

-7-

aceast prelucrare s-a terminat complet, se face transferul paginii napoi pe disc. Sincronizarea memoriei interne cu baza de date i fiierele jurnal, se realizeaz prin diferite tehnici: algoritmi specifici, executarea unor puncte de verificare (check point) la intervale de timp sau la cerere etc. La nivelul SGBD-ului pot exista o serie de parametri de configurare care influeneaz procesul de restaurare automat. Aceti parametri se refer la: intervalul de restaurare, indicatorul de restaurare (ce informaii vor fi scrise n fiierul de erori) etc. Restaurarea manual a BD implic intervenia administratorului pentru refacerea bazei de date de pe un suport tehnic care a fost distrus. Cea mai recent copie de siguran efectuat pentru o BD afectat este ncrcat i se reiau prelucrrile efectuate din momentul copierii pn la producerea defeciunii. Restaurarea manual se face prin deconectarea tuturor utilizatorilor de la BD, ncrcarea copiei i reluarea lucrului. 5. Partajabilitatea datelor Partajabilitatea datelor se refer nu numai la aspectul asigurrii accesului mai multor utilizatori la aceleai date, ci i la posibilitatea dezvoltrii unor aplicaii fr a se modifica structura bazei de date. Problema partajabilitii se pune la un nivel superior pentru SGBD-urile care permit lucrul n reea. 6. Legturile ntre date Legturile ntre date corespund asocierilor care se pot realiza ntre obiectele unei aplicaii informatice. Orice SGBD trebuie s permit definirea i descrierea structurii de date, precum i a legturilor dintre acestea, conform unui model de date. Fiecare tip de model de date permite anumite legturi ntre date. Un SGBD, care implementeaz un anumit model de date, va trebui s asigure i realizarea legturilor dintre datele corespunztoare n conformitate cu schema conceptual. 7. Performanele globale Performanele globale ale aplicaiei sunt influenate de SGBD. Acesta trebuie s gestioneze un volum mare de date de o complexitate ridicat, ntr-un anumit timp de acces rezonabil pentru diferii utilizatori. Pentru toate aceste lucruri SGBD-ul folosete diferite metode de acces, tehnici de optimizare, tipuri de date. Implementarea lor se face n componente specializate ale SGBD-ului. Not. Toate obiectivele de mai sus au fost avute n vedere la evoluia SGBD-urilor, fiecare generaie mbuntind performanele. 1.3. Funciile unui SGBD Realizarea obiectivelor prezentate anterior este asigurat de sistemele de gestiune a bazelor de date printr-o serie de componente ce permit efectuarea unor operaii specifice. n funcie de natura lor i scopul urmrit, operaiile pot fi grupate pe activiti. Activitile accept i ele o grupare pe funcii astfel nct, una sau mai multe activiti, relativ omogene, vor realiza o anumit funcie. 1. Descrierea datelor

-8-

SGBD-ul, prin aceast funcie, permite definirea structurii bazei de date cu ajutorul limbajului de definire a datelor (LDD). Definirea datelor poate fi realizat la nivel conceptual, logic i fizic. Se descriu atributele (cmpurile) din cadrul structurii bazei de date, legturile dintre entitile bazei de date sau dintre atributele aceleiai entiti, se definesc eventualele criterii de validare a datelor, metodele de acces la date, aspectele referitoare la asigurarea integritii datelor. Concretizarea acestei funcii este schema bazei de date, memorat n cod intern. Memorarea se face ntr-un fiier, ceea ce permite afiarea i actualizarea structurii bazei de date, n orice moment. Aceast funcie a fost mult automatizat n timp, LDD avnd acum puine comenzi. LDD este specific fiecrui SGBD, dar el ntotdeauna realizeaz descrierea datelor conform elementelor modelului de date pe care l implementeaz SGBD-ul respectiv. Astfel se realizeaz definirea i descrierea entitilor i a caracteristicilor lor, definirea legturilor dintre obiecte (asocierile) i a regulilor de integritate specifice modelului de date. Dup realizarea funciei de descriere, ntr-un SGBD, entitile bazei de date exist create deja ca fiiere, dar nu conin datele propriu-zise, ci numai structura bazei de date (schema bazei de date). 2. Funcia de manipulare a datelor Funcia de manipulare este cea mai complex i realizeaz actualizarea i regsirea datelor din baza de date, cu ajutorul limbajului de manipulare a datelor (LMD). Sunt realizate urmtoarele activiti: ncrcarea, actualizarea, prelucrarea i regsirea datelor. a) ncrcarea datelor n baza de date se realizeaz prin operaii automatizate sau programate ce asigur i criteriile de validare necesare. b) Actualizarea bazei de date const n operaii de adugare, modificare i tergere de nregistrri. La operaiile de adugare i de modificare se pstreaz aceleai criterii de validare care s-au folosit i la activitatea de ncrcare a datelor. Actualizarea se realizeaz numai autorizat, prin asigurarea unei protecii corespunztoare a datelor, pentru a se pstra coerena bazei de date. c) Prelucrarea datelor se realizeaz prin operaii de selecie, ordonare, interclasare (compunere) i ventilare (descompunere) efectuate asupra entitilor bazei de date. Acestea sunt, de obicei, operaii pregtitoare activitii de regsire a datelor. Multe din operaiile de prelucrare sunt realizate cu ajutorul operatorilor din modelul de date pe care l implementeaz SGBD-ul. d) Regsirea (interogarea) datelor const n operaii de vizualizare (afiare pe ecran, imprimare pe hrtie), rsfoire, editarea unor situaii de ieire. Situaiile de ieire pot fi intermediare sau finale i se pot obine pe diferii supori tehnici de informaie (ecran, hrtie, mediu magnetic, mediu optic). Ele pot avea cele mai diferite forme (punctuale, liste, rapoarte, grafice, imagini, sunet, video) i se pot obine dup cele mai diferite criterii de regsire. Note. - Funcia de manipulare a datelor este cea mai folosit n bazele de date i este cea mai bine suportat de SGBD fa de orice alt sistem de gestionare a datelor din memoria extern, care exist pn acum. - SGBD-ul manipuleaz datele ntr-un mod eficient, utiliznd n acest scop o serie de metode i tehnici de optimizare a accesului i a alocrii spaiului de memorie n

-9-

calculator. Fiecare SGBD de la o generaie la alta i chiar de la o versiune la alta a cutat s mbunteasc acest aspect. - Aa cum artam mai sus, funcia de manipulare este asigurat n SGBD de un LMD. Acesta trebuie s respecte restriciile de integritate a datelor i s implementeze operatorii din modelul de date pe care se bazeaz SGBD-ul cruia i aparine. LMD poate fi cu limbaj gazd sau cu limbaj propriu. Cele cu limbaj gazd sunt dezvoltate prin adaptarea unor limbaje universale de programare (Cobol, Pascal, C etc.) la cerinele de lucru ale SGBD-ului. Se mbin astfel puterea unui limbaj universal cu necesitile de regsire a datelor (exemplu: ORACLE). Cele cu limbaj propriu sunt dezvoltate printr-un limbaj specific capabil s uneasc puterea proceduralului cu regsirea dintr-un anumit tip de baz de date (exemplu: Visual Foxpro). - Pentru activarea de regsire exist limbaje de interogare specializate care pot fi incluse n LMD sau pot exista ca atare. Ele au aprut datorit lrgirii gamei de utilizatori ai bazelor de date, care i include i pe neinformaticieni tot mai mult. Pentru acetia au fost necesare faciliti de regsire simple i prietenoase, apropiate de modul de lucru i de gndire uman. In acest sens, limbajele relaionale (exemplu SQL) au cele mai bune performane. 3. Uutilizarea bazei de date Funcia de utilizare asigur mulimea interfeelor necesare pentru comunicarea tuturor utilizatorilor cu baza de date . Pentru a realiza aceast funcie SGBD-ul trebuie s asigure faciliti pentru mai multe categorii de utilizatori ai bazei de date: neinformaicieni, specialiti (informaticieni), administratorul. a) Utilizatorii neinformaticieni reprezint principala categorie a beneficiarilor de informaii (utilizatori finali i intensivi) din baza de date. SGBD-ul le ofer acestora limbaje neprocedurale i alte faciliti de interogare (generatoare, utilitare etc) a bazei de date ntr-o form simpl i interactiv. Aceti utilizatori nu trebuie s cunoasc structura bazei de date i nu trebuie s tie s programeze, SGBD-ul ajutndu-i interactiv n utilizarea bazei de date. n acest sens SGBD-ul ofer: meniuri cu opiuni sugestive, ferestre, abloane pentru diferite forme, asisteni tip Wizard, autodocumentarea (help-uri, mesaje/ferestre explicative). b) Utilizatorii specialiti n informatic creaz structura bazei de date i realizeaz proceduri complexe de exploatare a bazei de date. SGBD-ul ofer acestor utilizatori limbajul de descriere i limbajul de manipulare a datelor precum i interfee cu limbaje universale. Acestea sunt de complexitate i putere diferit, de la un SGBD la altul, oferind att elemente neprocedurale ct i procedurale specialistului n informatic. Cu aceste elemente el descrie schema bazei de date i asigur manipularea complex a datelor. Pentru realizarea bazei de date SGBD-ul ofer specialistului i elemente de CASE (Computer Aidede Software Engineering). Acestea l ajut n diferitele activiti care intervin n etapele de proiectare a bazei de date. b) Administratorul bazei de date, care este un utilizator special i are un rol hotrtor n ceea ce privete funcionarea optim a ntregului sistem. Datorit importanei acestei categorii de utilizatori, SGBD-ul are o funcie distinct n acest sens. 4. Funcia de administrare

- 10 -

Funcia de administrare este complex i de competena administratorului bazei de date. Administratorul, care are o bogat experien de analiz, proiectare i programare, organizeaz i administreaz baza de date n toate etapele de realizare a acesteia. Astfel, el organizeaz baza de date conform unei anumite metodologii, realizeaz schema (conceptual) bazei de date, coordoneaz proiectarea bazei de date. Pentru toate aceste lucruri SGBD-ul ofer o serie de elemente de CASE, precum i o serie de utilitare specializate. n etapa de exploatare a bazei de date, administratorul are rolul de a autoriza accesul la date (acord conturi, parole etc.), de a reface baza de date n caz de incidente (prin jurnalizare, copii), de a utiliza eficient spaiul de memorie intern i extern (prin organizare, rutine de optimizare), de a realiza o serie de analize statistice din baza de date (numr i tip de utilizatori, numr de accese, numr de actualizri etc.). Pentru fiecare din aceste activiti SGBD-ul ofer instrumente i tehnici de lucru. n cazul lucrului n reea de calculatoare cu baze de date distribuite, SGBD-ul are dezvoltate foarte mult componentele destinate administratorului. Acest lucru este determinat de faptul c baza de date este, n acest caz, de mare complexitate, datele sunt distribuite pe calculatoarele din reea, iar utilizatorii sunt de toate tipurile i n numr mare. n principal pentru funcia de administrare, dar parial i pentru celelalte funcii, SGBD-ul asigur protecia bazei de date. Aici vor fi prezentate aspectele eseniale, urmnd ca n continuare la fiecare tip de SGBD s se precizeze prin exemple i aspectele specifice ce apar. 1.4. Clasificarea SGBD-urilor Diversitatea de SGBD-urilor, care au fost i care sunt n exploatare pe diferite calculatoare i sub diferite sisteme de operare, impune o clasificare a lor dup diferite criterii. 1) Dup sistemele de calcul pe care se implementeaz - SGBD pentru calculatoare mari se folosesc pentru baze de date foarte complexe i foarte mari (exemple: Oracle, DB2, IMS). - SGBD pentru minicalculatoare se folosesc pentru baze de date complexe i mari i au cunoscut o dezvoltare puternic n anii 80 (exemplu: Oracle). - SGBD pentru microcalculatoare se folosesc pentru baze de date de complexitate i de mrime mici i medii. Au o mare rspndire n momentul actual (exemple: FoxPro, Oracle, Acces). Tendina actual este ca SGBD-ul s fie compatibil pe ct mai multe sisteme de calcul sub ct mai multe sisteme de operare. Acest lucru este dictat de noua tehnologie de realizare de aplicaii tip sisteme deschise, lucru de care ine cont i noua generaie (a treia) de SGBD-uri. 2) Dup limbajul de programare utilizat - SGBD-ul cu limbaj gazd este cel care are un limbaj de manipulare a datelor bazat pe unul de nivel nalt (universal). Limbajul gazd poate fi chiar un limbaj universal (Cobol, Pascal) sau o extensie (adaptare) a unui astfel de limbaj. Avantajul acestei soluii este acela c se pot dezvolta proceduri complexe de program, se pot realiza interfee ommain foarte bune, se valorific experiena de programare din limbajele de nivel nalt

- 11 -

(toate rezult din avantajele programrii procedurale). Dezavantajul major este acela c formularea cererilor de regsire se face mai greu, de multe ori ntr-un mod inaccesibil utilizatorilor finali. Acest lucru este suplinit de SGBD prin alte componente specifice: generatoare, utilitare etc. (exemplu Oracle). - SGBD-ul cu limbaj propriu (autonom) este cel care are un limbaj de manipulare a datelor specific. Acest limbaj de programare propriu este procedural i are marele avantaj c permite implementarea tuturor facilitilor oferite de SGBD. n el se pot programa proceduri complexe i interfee puternice ca ntr-un limbaj universal, dar n plus se realizeaz un acces uor i optimizat la baza de date. Dezavantajul este c un astfel de limbaj nu poate fi utilizat dect de specialitii n informatic (exemplu limbajul din Visual FoxPro). Tendina actual este ca SGBD-ul s aib implementat, pe lng un limbaj procedural, i un limbaj de regsire neprocedural, care s permit formularea de cereri de regsire uor, de ctre toi utilizatorii bazei de date. n acest sens, majoritatea SGBD-urile pentru microcalculatoare au implementat, parial sau total, limbajul SQL, care este i standardizat internaional. 3) Dup modelul logic de date implementat -SGBD ierarhice sunt cele care implementeaz modelul de date arborescent (ierarhic) i au fost primele care s-au utilizat pentru gestionarea bazelor de date. Ele au o serie de avantaje pentru domenii precise din lumea real nconjurtoare, de exemplu tehnologia construciei de maini, dar au limite pentru alte domenii (exemplu: IMS). - SGBD reea sunt cele care implementeaz modelul de date reea i care au eliminat multe din limitele celor ierarhice. Ele au o larg aplicabilitate pentru numeroase probleme din lumea real, dar sunt dificil de utilizat datorit complexitii ridicate (exemplu: IDMS). - SGBD relaionale sunt cele care implementeaz modelul de date relaional i au aplicabilitate n majoritatea domeniilor din lumea real. Ele pot fi folosite de o gam larg de utilizatori datorit facilitilor oferite (generatoare, limbaj neprocedural etc.) (exemple: Oracle, Visual FoxPro, Paradox, Acces, Informix, Progress). - SGBD orientate obiect sunt cele care implementeaz modelul de date orientat obiect. Ele se preteaz bine la problemele foarte mari, de complexitate ridicat, precum i pentru tipurile noi de aplicaii (proiectarea asistat, multimedia, sisteme deschise) (exemple: O2, Orion, Jasmin). Note. - Majoritatea SGBD-urilor actuale au implementate, n ultimele versiuni, faciliti de tratare a obiectelor (exemple: Oracle, Visual FoxPro). - Tipurile de mai sus de SGBD-uri, avnd drept criteriu modelul de date implementat, sunt de baz (fundamentale). Pornind de la acestea, prin extensia tehnologiei informatice, exist i alte tipuri de SGBD-uri: deductive, distribuite, multimedia, spaiale etc. - Exist, de asemenea, tipuri de SGBD-uri (ca de exemplu cele funcionale) care se bazeaz pe alte modele de date dect cele de mai sus. Acestea ns, au o rspndire mai restrns avnd performane doar pentru domenii bine precizate. 4) Dup localizarea bazei de date - SGBD centralizate sunt cele care gestioneaz datele amplasate ntr-o singur baz de date central. La acestea au acces toi utilizatorii autorizai pentru a efectua

- 12 -

diferite operaii de manipulare a datelor. Toate calculatoarele care nu sunt legate n reea i lucreaz cu baze de date au instalat un SGBD centralizat. Tot un SGBD centralizat, dar cu faciliti de lucru n reea, trebuie instalat i n reelele de calculatoare care au plasat baza de date pe un singur calculator (de obicei pe server).(exemplu: Visual FoxPro, Access) - SGBD distribuite sunt cele care gestioneaz datele amplasate pe mai multe calculatoare dintr-o reea tratndu-le ca un tot unitar. Complexitatea acestor SGBD-uri este ridicat, avnd componente speciale pentru realizarea conexiunilor i tratarea distribuit a datelor (exemplu: Oracle, DB2, Informix). 1.5. Arhitecturi de SGBD De la apariia lor i pn n prezent, SGBD-urile au cunoscut o mare varietate. Aa cum reiese i din clasificarea SGBD-urilor, acestea sunt de diferite tipuri conform diferitelor criterii de grupare. Din acest motiv este dificil de dat o arhitectur unic, valabil pentru toate SGBD-urile, aprnd particulariti de la un sistem la altul. Exist preocupri de standardizare a arhitecturii sistemelor de gestiune a bazelor de date care caut s defineasc un cadru general al lor. Dintre acestea, sunt dou arhitecturi de referin a unui SGBD propuse de grupul de lucru CODASYL i respectiv ANSI/SPARC [VELU00]. In ultimul timp, arhitectura de SGBD a evoluat spre o configuraie cu trei categorii de componente (Fig. 8.7.)(nucleul, interfaa, instrumentele), situaie ntlnit la ultimele versiuni de sisteme comerciale (exemplu vezi arhitectura unui SGBDR). O alt tendin este dat de arhitecturile distribuite i orientate obiect de SGBD, care sunt tot mai des utilizate n contextul de reea de calculatoare i noile tipuri de aplicaii informatice (exemplu vezi SGBD distribuite i respectiv orientate obiect). Deoarece arhitectura pe componente (niveluri) reflect tendina actual de structurare a SGBD-urilor, o vom prezenta n continuare. Arhitectura pe componente (niveluri) a unui SGBD Nu orice software care gestioneaz date n memoria extern este un SGBD: - In primul rnd, produsul software trebuie s fie un sistem, adic un ansamblu de programe intercorelate ntre ele care lucreaz pentru un scop comun. - Mai departe, sistemul de programe trebuie s gestioneze date n memoria extern. - Datele nu pot exista oricum, ci organizate conform unui model de date ntr-o baz de date (trebuie urmrite obiectivele unei baze de date). - In sfrit, dac sistemul de programe gestioneaz o baz de date i n plus ndeplinete funciile specifice, atunci acel sistem este un SGBD. Rezult c SGBD-ul conine o serie de componente (fig.8.7.) care sunt instrumente software ce au scopul de a realiza funciile specifice:
SGBD INTERFEE

- 13 -

NUCLEU

Baza de date

INSTRUMENTE

Fig.1.6. Arhitectura pe componente a unui SGBD Majoritatea arhitecturilor actuale de SGBD pot fi aduse la forma de mai sus, pe trei niveluri. Diferitele componente din diferitele SGBD (fiecare tip a venit cu una sau mai multe propuneri de arhitecturi) pot fi ncadrate (uneori discutabil) n unul dintre cele trei niveluri. Nivelurile din arhitectura de mai sus, pot conine urmtoarele componente ale unui SGBD: Nucleul (motorul) conine limbajul de descriere a datelor (LDD), limbajul de manipulare a datelor (LMD), componente obligatorii n kit-ul minim de SGBD. Componenta este destinat analitilor, programatorilor i administratorilor BD. Interfeele sunt formate din: generatoarele de diferite tipuri (de meniuri, de videoformate, de rapoarte etc.), elementele de CASE (Computer Aidede Software Engeenering), interfee cu limbaje de programare universale, interfee cu alte sisteme etc. Componenta este destinat tuturor categoriilor de utilizatori: finali, intensivi, specialiti. Instrumentele sunt formate din: editoarele, navigatoarele (browsers), utilitarele (shells) de diferite tipuri. Componenta este destinat, n principal, administratorului bazei de date, dar i altor categorii de urilizatori. Not. Arhitectura pe niveluri este simpl dar complet: - Arhitecturile standardizate (CODASYL i ANSI) pot fi aduse pe cele trei niveluri; - Noile tehnologii de baze de date (de exemplu tehnologia orientat obiect) au determinat apariia unor noi tipuri de SGBD. Arhitecturile propuse pentru acestea, pot fi adaptate pe cele trei niveluri; - Noile tehnologii informatice (de exemplu multimedia, Internet etc.) au interferat cu tehnologia bazelor de date rezultnd SGBD-uri derivate corespunztoare. Pentru acestea s-au propus arhitecturi care, ns, pot fi adaptate la structurarea pe trei niveluri.

- 14 -

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