CATEGORII DOCUMENTE |
Sisteme de gestiune a bazelor de date. Functii. Arhitectura. Tipuri de SGBD-uri
Un sistem de gestiune a bazelor de date (SGBD) este un ansamblu de programe ce permit utilizatorilor sa interactioneze cu o baza de date, in vederea crearii, actualizarii si interogarii acesteia[1]. Privit dintr-o alta perspectiva, un SGBD poate fi considerat un produs software[ ] care asigura interactiunea cu o baza de date, permitand definirea, consultarea si actualizarea datelor dintr-o baza de date.
Obiectivele unui SGBD sunt:
furnizarea unui mediu eficient, adaptat utilizatorilor care doresc sa consulte sau sa actualizeze informatiile continute intr-o baza de date
asigura si supervizeaza:
o introducerea de informatii in baza de date
o actualizarea si extragerea datelor din baza
o autorizarea si controlul accesului la date
o pastrarea independentei dintre structura bazei de date si programe.
Arhitectura sistemelor de gestiune a bazelor de date
Un SGBD prezinta, in general, urmatoarele module[3]:
Ø Gestionarul fisierelor, care aloca spatiu de memorie pe disc si gestioneaza structurile fizice de date care servesc la reprezentarea informatiei.
Ø Gestionarul bazei de date este un modul de programe ce realizeaza interfata dintre datele interne (de pe disc) continute in baza si programele (sau comenzile) de consultare si actualizare. El traduce instructiunile DML (limbajul de manipulare a datelor) in instructiuni-sistem, la nivel elementar, fiind responsabil de buna desfasurare a operatiilor de citire / scriere a datelor din / in baza de date.
Ø Procesorul de consultare traduce instructiunile limabajului de consulatare in instructiuni elementare, "inteligibile" pentru gestionarul bazei de date. El optimizeaza consultarea, pentru obtinerea rezultatelor intr-un timp cat mai scurt.
Ø Modulele DML (Data Manipulation Language) realizeaza conversia instructiunilor limbajului de manipulare a datelor folosite intr-un program, in proceduri curente ale limbajului-gazda, interactionand cu procesorul de consultare in vederea producerii secventelor de cod adecvate.
Ø Modulele DDL (Data Definition Language) traduc (prin compilare sau interpretare) si executa instructiunile DDL, obtinandu-se ansamblul de tabele ce reprezinta metadatele stocate in dictionarul de date.
Principalele functii ale unui SGBD sunt:
descrierea ansamblului de date la nivelurile fizic si conceptual
crearea (initializarea) si exploatarea (consulatarea si actualizarea) bazei de date
controlul integritatii bazei de date
confidentialitatea informatiilor continute in baza
accesul simultan al mai multor utilizatori la informatii
securitatea in functionare
furnizarea unui set de comenzi si insructiuni necesare atit utilizatorilor pentru consultarea bazei de date, prin limbajul de manipulare, cat si programatorilor
revizia si restructurarea bazei de date
monitorizarea performantelor
Un SGBD se caracterizeaza prin:
Ø neredundanta datelor (administrarea coerenta a datelor trebuie sa asigure neduplicarea fizica a datelor);
Ø partajarea datelor (aplicatiile sa partajeze simultan datele din baza de date);
Ø securitatea si confidentialitatea datelor (datele trebuie protejate de accesul neautorizat sau rau intentionat).
Tipuri de SGBD-uri
Modelele retea si ierarhice caracteristice perioadei 1960-1970 foloseau o organizare a datelor la nivel de articol prin legaturi ierarhice(arbore) sau de tip graf.
IMS (Information Management System), conceput de IBM, a fost primul SGBD ierarhic, conceput initial pentru procesarea datelor in industria aerospatiala (1968). Versiunea curenta a acestuia, IMS/VS (Information Management System/Virtual Storage), este implementata pe calculatoare IBM si foloseste limbajul DL/1 (Data Language One). Sistemul IMS nu poate reprezenta relatia de tipul n:m ("multi la multi").
Independenta fizica redusa a SGBD-urilor ierarhice complica administrarea si manipularea datelor. Limbajul de manipulare a datelor impunea programatorului sa specifice drumurile de acces la date.
IDMS (Integrated Database Management System) este un SGBD retea produs de firma Cullinet Software Inc. si functioneaza pe calculatoarele IBM, sub sistemul de operare DOS. Modelele retea prezinta o serie de dezavantaje, precum optimizarea manuala a sistemului: nu utilizeaza baze de date statistice si nu permit sortarea dinamica. Totusi, SGBD-urile retea continua sa fie folosite datorita performantelor obtinute in prelucrarea la nivel de inregistrari.
Referitor la modul de manipulare a datelor, modelele ierarhic si retea erau orientate pe fisiere. Pentru a inlatura aceste limitari, a fost introdus modelul relational, care este orientat pe multimi.
Modelul relational a aparut dupa 1970 si a revolutionat lumea bazelor de date prin buna sa fundamentare teoretica si usurinta cu care se poate reprezenta un volum mare de date, devenind foarte popular. A fost conceput si dezvoltat de E.F. Codd, fiind bazat pe teoria matematica a relatiilor. Foloseste structuri de date simple, intuitive, caracterizan-du-se prin inexistenta pointerilor vizibili pentru utilizator, constrangeri de integritate, o multime de operatori aplicabili relatiilor, care permit definirea, cautarea si reactualizarea datelor. Modelului relational ii este asociata teoria normalizarii.
In 1976, proiectul System/R dezvoltat in California a constituit punctul de plecare pentru realizarea unuia dintre cele mai cunoscute SGBD-uri, DB2. In 1979 a fost lansat cu succes primul SGBD relational comercial, Oracle, care ocupa un segment de piata foarte mare. Astfel, Oracle Corporation a devenit liderul produselor software dedicate mediilor de lucru cu bazele de date.
Odata cu marirea vitezei de acces si utilizarea limbajelor de generatia a IV-a (SeQuel, SQL), SGBD-urile relationale s-au impus pe piata bazelor de date.
Sistemele de gestiune a bazelor de date relationale (SGBDR) de "categorie grea" precum Oracle, DB2, Informix, Microsoft SQL Server, asigura accesul simultan a mii de utilizatori la aceeasi baza de date. Piata acestui segment este rezervata sistemelor de operare Unix, Windows NT, Windows 2000 si Novell Netware.
Fata de modelele ierarhice si retea, modelul relational prezinta cateva avantaje, precum:
Ø independenta logica si fizica
Ø pune la dispozitia utilizatorilor limbaje ne-procedurale
Ø optimizeaza accesul la date
Ø imbunatateste integritatea si confidentialitatea datelor, etc.
Un SGBD relational suporta intr-o forma limitata cunostinte (asertiuni generale si abstracte asupra faptelor), prin constrangerile de integritate, iar restul trebuie integrate in programele de aplicatie, ceea ce genereaza probleme datorita imposibilitatii partajarii cunostintelor intre utilizatori.
S-a observat ca modelul relational de baze de date nu poate reprezenta aspecte complexe ale realitatii (documente incluzand date compuse, obiecte dinamice, imagini, sunete, grafuri, liste). Astfel, cercetarile s-au indreptat asupra modelului relational orientat pe obiecte.
SGBD-urile relationale orientate pe obiecte folosesc obiecte pentru reprezentarea informatiei. Obiectul este un tip de data si nu informatia efectiva (instanta). Tipurile de date atomice permit stocarea datelor fara utilizarea unui spatiu pe disc suplimentar. Insa crearea unui tip de date compus conduce automat la asocierea unui OID (Object IDentifier - identificatorul obiectului) fiecarei instante de acest tip care necesita spatiu de stocare pe disc.
Un sistem de gestiune relational orientat obiect foloseste indecsi asupra elementelor unei multimi, utili atat in interogari simple, cat si in operatii JOIN pentru doua sau mai multe tabele intre care exista o relatie many-to-many (multi-la-multi).
Dintre SGBD-urile relationale orientate obiect se remarca Oracle versiunile Oracle 8 si Oracle 9i, PostgreSQL, care folosesc ca limbaj de interogare SQL.
Standard-ul SQL-3, aparut in 1999 ofera posibilitati pentru mosteniri multiple, polimorfism, incapsulare, suport pentru sisteme bazate pe gestiunea cunostintelor, permite declararea campurilor de tip LOB (Large OBject), care pot satisface nevoile multimedia tot mai accentuate. Insa LOB nu reprezinta un tip de date, deoarece nu poate fi folosit in clauza WHERE a unei interogari si nu sunt permise operatii cu variabile sau campuri declarate LOB.
Oracle Server este cel mai utilizat sistem de gestiune de baze de date relationale orientate pe obiecte. Versiunile Oracle 8 si Oracle 9i furnizeaza facilitati precum:
Ø Tipuri de date definite de utilizator (obiect si colectie), tip de date predefinit REF (referinta de obiect)
Ø Tipuri predefinite pentru obiecte de dimensiuni mari (LOB-large objects, BLOB, CLOB, NCLOB, Bfile)
Ø Vederi obiect. O vedere obiect constituie o colectie de tabele normalizate, permitand manipularea datelor ca pe niste obiecte.
Precompilatorii Oracle (Pro*C/C++) permit folosirea tipurilor de date definite de utilizator in programe C si C++. Oracle Call Interface (OCI) furnizeaza facilitati pentru accesarea si manipularea obiectelor din Oracle 8. Object Type Translator (OTT) genereaza automat declaratii in C pentru tipuri de date obiect definite in Oracle 8.
Postgres95 conceput in 1985 la Universitatea Berkeley din California, dezvoltat in 1996 si redenumit PostgreSQL, este definit ca fiind relational, extensibil, cu orientare obiectuala. Acesta include elemente de limbaj compatibile ISO SQL, ANSI SQL/89, SQL/92 si ANSI SQL/98. PostgreSQL este construit conform unui model client/server; in fiecare sesiune sunt implicate trei procese Unix cooperante: postmaster (proces supervizor), backend (proces server de baze de date) si frontend (proces cerand conexiune la backend).
Ø Include interfete de programare pentru C, C++, Perl5, PHP (limbaj de script pentru scrierea de pagini Web generate dinamic), driver JDBC pentru programatorii Java
Ø Ofera interfete grafice
Ø Sunt suportate baze de date de mari dimensiuni (peste 200Gbytes), dar performantele scad vizibil la baze mai mari de 5 Gbytes pe masini cu procesor pe 32 biti.
Sistemele de gestiune a bazelor de date inteligente, din anii `80, utilizau concepte ale inteligentei artificiale. A aparut astfel necesitatea utilizarii si gestionarii unor volume mari de cunostinte.
SGBD-urile deductive prelucreaza baze de date inteligente si gestioneaza cunostinte relativ la baze de date, care sunt, in general, relationale. Utilizand programarea logica, acestea permit deducerea de noi informatii, plecand de la informatiile stocate in baza de date. Exista pachete software care permit interfatarea bazelor de date relationale cu sisteme expert. De exemplu, NEXPERT OBJECT Interfaces reprezinta un ansamblu de interfete ale sistemelor expert de tip NEXPERT OBJECT cu SGBD-urile Oracle si Ingres. Pentru eliminarea neajunsurilor centralizarii datelor, s-au dezvoltat prototipuri de sisteme de date distribuite.
SGBD-urile distribuite utilizeaza calculatoare diferite interconectate printr-o retea de comunicatie si ofera flexibilitate in descompunerea tranzactiilor in componente ce pot fi realizate local sau transportate altor noduri.
SDD-1 a fost primul SGBD distribuit si implementat in 1979 pe calculatoare DEC-20. Statiile sunt conectate prin reteaua ARPANET si utilizeaza ca SGBD local Datacomputer. SDD-1 suporta modelul relational.
Ingres distribuit este realizat la Universitatea din California. Se mai pot cita ca SGBD-uri distribuite existente: R*, DDM, Porel, Sirius-Delta, Multibase, DDTS (Distributed Testbed System), etc.
Principalul avantaj al SGBD-urilor distribuite il constituie cresterea performantelor sistemului prin partajarea si replicarea datelor dar si existenta mai multor procesoare. Bazele de date distribuite prezinta si o serie de dezavantaje legate de complexitatea proceselor, dificultatea realizarii controlului concurentei si al tranzactiilor.
Modelele semantice si functionale au permis cresterea continutului semantic al datelor din baze de date. Valorile atributelor asociate entitatilor se pot obtine direct (in modelul semantic) sau prin intermediul unor functii aplicabile entitatilor (in modelul functional).
Bazele de date multimedia imbina caracteristicile orientate pe obiecte cu regulile deductive specifice inteligentei artificiale aplicate informatiilor de tip multimedia (texte, obiecte grafice, imagini statice, video digitizat, secvente audio).
Sistemele de gestiune a bazelor de date orientate obiect (SGBDOO), aparute dupa 1990, permit integrarea descrierii structurale si comportamentale. Acestea furnizeaza posibilitati superioare de deductie prin folosirea ierarhiilor de clase si a mostenirii. Schema unei baze de date orientate obiect include definitiile structurale (atribute si tipuri) si comportamentale (metode) ale obiectelor.
Un sistem de gestiune a bazelor de date orientate obiect realizeaza o modelare superioara a informatiei, permite folosirea obiectelor dinamice si asigura imbunatatirea interfetei cu utilizatorul. Prin posibilitatea integrarii multimediei, SGBDOO permit crearea de tipuri spatiale de date pentru sisteme informatice geografice. Exista posibilitati de reprezentare a hartilor si a locatiilor acestora care interactioneaza cu utilizatorul sau posibilitati de analiza a imaginilor, a sunetelor.
Existenta unor categorii de probleme pentru care solutia obiectuala este singura acceptabila a determinat crearea de SGBD-uri orientate obiect "pure", cum ar fi: GemStone, ObjectStore, Ontos, Raima, Versant, etc.
ObjectStore este disponibil pentru platformele Windows si UNIX. Dintre facilitatile sale se pot aminti:
- Asigura controlul concurentei si a integritatii referentiale
- Interfata Java: permite crearea de aplicatii Java care sa stocheze si sa manevreze obiectele intr-un SGBD multi-user de performanta si accesibilitate deosebite. Aplicatiile Java pot accesa obiecte native C++ existente in baza de date.
Sybase Build Monumentum ofera utilizatorilor de calculatoare Macintosh si celor bazate pe sistemul Windows facilitati de lucru cu baze de date orientate pe obiect. Multiprocesarea in retele distribuite este realizata numai din punct de vedere 'client'. Build Monumentum detine un administrator care gestioneaza procese in multithreading. Situat in gama SGBDR-urilor, Build Monumentum este considerat de specialisti ca fiind un produs mai reusit decat produsele din aceeasi gama ale companiilor Oracle sau Informix. In cadrul sistemului Sybase System 10, Server-ul Sybase SQL a fost primul care a utilizat cod compilat/partajat atat pentru gestionarea bazelor de date locale cat si pentru trimiterea de apeluri de proceduri RPC la alte servere aflate la distanta.
Marii producatori de sisteme relationale au constientizat avantajele bazelor de date orientate obiect si au dezvoltat noi versiuni de SGBD-uri relationale orientate obiect, precum Oracle 8, Oracle 9i, Ingres, Sybase.
Unele SGBD-uri orientate pe obiecte ofera suport pentru tehnologii deschise, cum ar fi: COM, CORBA, XML, DAO, OLEDB sau ADO. Suportul oferit nu este universal pentru toate bazele de date obiect.
Domeniile in care sunt folosite cu succes BDOO sunt gestiunea retelelor sau a informatiilor, tranzactiile financiare, sistemele geografice, cartografie digitala, determinand o dezvoltare rapida a modelului orientat obiect.
SGBD-urile orientate obiect existente ofera functionalitati si performante superioare in administrarea datelor complexe si voluminoase. Limbajele de interogare si de manipulare (extensii ale SQL) ofera acestora un plus de rigoare. Totusi, tehnicile de acces la obiecte sunt inca perfectibile deoarece timpii de raspuns sunt adesea nesatisfacatori.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 6266
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved