Sunteți pe pagina 1din 5

52

Revista Informatica Economic nr. 1 (37)/2006

RDBMS vs. OODBMS


Prof.dr. Gheorghe SABU Catedra de Informatic Economic, A.S.E. Bucureti The author uses a comparative presentation of Relational Database Management Systems (RDMS) and Object Oriental Database Management Systems (OODBMS). The presentation of the two types of systems was made having in view: The evaluation rules of the two types of systems elaborated by E.F. Codd and OMG; Data Modeling; The objectives of the Systems. In the end the article contains conclusions referring to the two types of systems.

ntroducere Prezentarea asemnrilor i deosibirilor dintre modelarea relaional i modelarea orientat obiect a datelor este semnificativ i de mare importan att pentru proiectani de baze de date ct i pentru utilizatori. Proiectanii, cunoscnd foarte bine modelul relaional i apoi sesiznd asemnrile i deosebirile dintre cele dou moduri de abordare a modelrii datelor, vor putea valorifica i folosi experiena dobndit anterior ca baz substanial pentru nelegerea i nsuirea metodologiei de proiectare a bazelor de date orientate obiect. Totodat, prin cunoaterea asemnrilor i deosebirilor dintre cele dou moduri de abordare apare posibilitatea conversiei unui model relaional n obiectual i invers. De altfel, o astfel de practic a regsirii n mod frecvent. n cele ce urmeaz vom recurge la o tratare comparativ SGBDR i SGBDOO lund n considerare regulile de evaluare a celor dou tipuri de sisteme precum i modelarea datelor sub aspectul conceptelor folosite i obiectivelor urmrite. A. Regulile de evaluare a unui SGBDR Este tiut fpatul c n prezent exist o multitudine de SGBD relaionale, ele fiind chiar de ordinul sutelor. Unele dintre acestea sunt declarate de realizatori ca fiind relaionate ns, n realitate ele nu ntrunesc criteriile de a putea fi considerate cu adevrat relaionale. E.F. Codd, din dorina de a menine nealterat modelul relaional, a elaborat 13 reguli dup care ar putea fi apreciat orice SGBD dac este cu adevrat sau nu relaional [3, 4]. n cele ce urmeaz, din considerente de lips de spa-

iu, vom recurge mai mult la o simpl enumerare a acestora. Regula O Regula fundamental Un SGBD pentru a fi considerat relaional el trebuie s fie capabil s gestioneze n ntregime bazele de date prin capacitile sale relaionale. Regula amintit accenteaz un aspect esenial i anume c un SGBD nu trebuie s recurg la nici un fel de operaii neraleionale pentru a realiza sarcinile ce i revin cu privire la definirea, utilizarea i manipularea datelor. Regula 1 Regula de nonsubversiune Dac un sistem relaional are un limbaj de nivel sczut, acel nivel sczut nu poate fi utilizat pentru a submina sau ocoli regulile de integritate i constrngerile exprimate n limbajul relaional de nivel mai nalt. O astfel de regul imprim constrngeri n sensul c ntregul acces la baza de date trebuie s fie controlat de ctre SGBD, astfel nct integritatea bazei de date s nu poat fi compromis fr cunotina utilizatorilor sau administratorului bazei de date. Regula 2 Reprezentarea informaiilor La nivel logic, toate informaiile dintr-o baz de date relaional sunt reprezentate ntr-un singur mod i anume prin valorile din tabele. O astfel de regul impune ca toate informaiile, chiar i meta-datele, coninute n dicionarul de sistem s fie stocate ca relaii i gestionate de ctre aceleai funcii operaionale care ar fi utilizate pentru ntreinerea datelor. Regula 3 Reactualizarea vederilor Toate vederile care sunt teoretic reactualizate pot fi reactualizate i de ctre sistem. Prin aceast regul se stabilete c, dac o vedere poate fi teoretic reactualizat, atunci

Revista Informatica Economic nr. 1 (37)/2006

53

sistemul de gestiune trebuie s fie capabil de a efectua reactualizarea respectiv. De remarcat faptul c dei Codd precizeaz o astfel de regul, practic nici un sistem nu accept cu adevrat aceast caracteristic, deoarece nu au fost nc descoperite condiiile pentru identificarea tuturor vederilor care pot fi teoretic reactualizate. Regula 4 Tratarea sistematic a valorilor null Valorile null, deosebite de irul nul de caractere sau de un ir de caractere nule, ca i de zero sau orice alt numr, sunt acceptate pentru a reprezenta informaiile lips i cele care nu pot fi aplicate n mod sistematic, indiferent de tipul de date. Regula 5 Independena de integritate Constrngerile de integritate specifice unei anumite baze de date relaionale trebuie s poat fi definite n sublimbajul relaional de date i stocate n catalog, sau n programele de aplicaie. Regula 6 Accesul garantat Se garanteaz c fiecare element de dat/valoare atomic dintr-o baz de date relaional este accesibil din punct de vedere logic, prin apelarea la o combinaie de nume de tabel, valoare a cheii primare i nume de coloan. Regula 7 Catalog dinamic on-line, bazat pe modelul relaional Descrierea bazei de date este reprezentat la nivel logic n acelai mod ca i datele obinuite, astfel nct utilizatorii autorizai pot aplica la interogarea acesteia acelai limbaj relaional ca cel aplicat datelor curente. Regula 8 Sublimbaje de date cuprinztoare Un sistem relaional poate accepta mai multe limbaje i diverse moduri de utilizare a terminalelor. Totui, trebuie s existe cel puin un limbaj ale crui instruciuni s poat exprima urmtoarele chestiuni: (1) definirea datelor, (2) definirea vederilor, (3) manipularea datelor, (4) constrngerile de integritate, (5) autorizarea, (6) limitele tranzaciilor (begin, commit i rollback). Regula 9 Operaii de inserare, reactualizare i tergere de nivel nalt Capacitatea de tratare a unei relaii de baz

sau a unei relaii derivate (adic o vedere) ca pe un singur operand se aplic nu numai regsirii de date, ci i inserrii, reactualizrii i tergerii acestora. Regula 10 Independena fizic de date Programele de aplicaie i activitile de la terminal rmn logic intacte, ori de cte ori sunt fcute modificri, fie n reprezentrile de stocare, fie n metodele de acces. Regula 11 Independena logic de date Programele de aplicaie i activitile de la terminal rmn logic intacte, ori de cte ori sunt efectuate n tabelele de baz orice fel de modificri privind pstrarea informaiilor, care, teoretic, permit deteriorarea acestora. Regula 12 Independena de distribuie Sublimbajul de manipulare a datelor dintr-un SGBD relaional trebuie s permit programelor de aplicaie i nregistrrilor s rmn aceleai din punct de vedere logic, dac i ori de cte ori datele sunt centralizate sau distribuite fizic. B. Reguli de evaluare a unui SGBDOO Aa dup cum Codd E.F. [3,4] a definit o serie de reguli pentru ca un SGBD s fie cu adevrat relaional, tot la fel un grup de lucru s fie de mare influen a publicat, sub denumirea de ,,Manifestul sistemelor de baze de date orientate pe obiecte, o serie de cerine sau principii pe care trebuie s le ndeplineasc un SGBD pentru a putea fi considerat obiectul [3]. n concordan cu Manifestul sistemelor de baze de date orientate pe obiecte, sunt definite 13 principii ale AGBDOO, dintre care unele sunt obligatorii iar altele opionale. 1. Posibilitatea definirii structurilor complexe. O astfel de cerin presupune capacitatea de a defini structuri complexe plecnd de la tipuri de date atomice folosind o serie de tipuri de constructori, iar acetia s fie ortogonali, n sensul c fiecare constructor trebuie s se aplice oricrui obiect. Exemplu, dac folosim constructori de forma SET (TUPLE ( )), LIST (TUPLE ( )) atunci trebuie s avem posibilitatea de a folosi i formele TUPLE (SET ( )) i TUPLE (LIST ( )). Dintre cei mai folosii constructori amintim:

54

Revista Informatica Economic nr. 1 (37)/2006

- ROW (n1t1 , . . ., nntn), unde un tip reprezint un rnd sau tupleu de n cmpuri au cmpurile n1, . . ., nn de tipurile t1 , . . ., tn; - ARRAY: Tipurile array suport o metod ,,array index pentru a permite utilizatorilor s acceseze articolele array (coleciei); - seturi i multiseturi (Sts and multisets). Obiectele set pot fi comparate utiliznd setul de metode tradiional <, , =, , >. Totodat, dou obiecte set (avnd elementele de acelai tip) pot fi combinate pentru a forma un nou obiect folosind operatorii U , I i (diferen). - Liste: Operaiile de liste tradiionale include capul de list (head) care returneaz primul element, coada listei (tail) care returneaz adresa ultimului element din list, inserare sau adugare de noi elemente n list i respectiv excluderea unui element din list. Mai exist o serie de operatori, cum ar fi operatorii agregai (COUNT, SUM, AVG, MAX, MIN) i operatori pentru conversia de tipuri (exemplu, pentru conversia unui obiect multiset ntr-un obiect set prin eliminarea duplicatelor). 2. Identitatea obiectului, adic SGBD trebuie s ofere posibilitatea identificrii, fr ambiguitate, a oricrui obiect din baza de date. n acest sens cu ocazia ncrcrii oricrui obiect n baza de date se va recurge la generarea unui identificator unic al obiectului, numit OID. 3. ncapsularea, presupune faptul c SGBD trebuie s dispun de capacitatea de a ncapsula datele i metodele aparinnd obiectelor iar utilizatorii pot avea acces la ele doar printr-o interfa ce citeaz o anumit metod. La rndul su att metodele ct i datele pot fi definite publice (+), protejate () sau private (-). 4. Tipuri i/sau clase. Cele dou concepte trebuie s fie ambele prezente. Primul concept reprezint un mecanism de verificare pentru acurateea programelor n timpul compilrii. Al doilea concept reprezint un mecanism care colecteaz extensiile de obiecte i le definete implementarea lor. Invers, nu e necesar s fie dou forme diferite de a exprima tipuri i clase i astfel e posibil s exprimm un concept n contextul celuilalt.

5. Clase i/sau tipuri de ierarhii, n contextul motenirii, evideniaz faptul c un SGBD trebuie s asigure ca un subtip sau subclas s poat moteni atributele i metodele de la superclasele sau supertipurile lor. 6. SGBD trebuie s ofere suport pentru legarea dinamic, n sensul c metodele trebuie s se aplice la obiecte de diferite tipuri iar implementarea unei metode va depinde de tipul de obiect cruia i se aplic. Acest aspect presupune faptul c sistemul nu poate lega denumirea metodelor pn n momentul execuiei (legea dinamic). 7. SGBD trebuie s ofere un limbaj de manipulare a datelor LMD cu completitudine de calcul. n acest sens, de exemplu, se apreciaz c standardul SQL3 posed completitudine de calcul. 8. Extensibilitatea mulimii tipurilor de date, ceea ce presupune capacitatea de a defini noi tipuri bazate pe cerinele utilizatorilor. 9. Durabilitatea sau persistena datelor, ceea ce presupune capacitatea sistemului de a asigura / suporta persistena datelor. La fel precum n situaia SGBD convenionale, datele trebuie s rmn dup finalizarea aplicaiei care le-a creat. Deci, utilizatorul nu trebuie s deplaseze sau s copieze explicit datele, pentru a le putea refolosi. 10. SGBD trebuie s fie capabil i s ofere faciliti n ceea ce privete operarea i gestionarea unor volume mari de date (baze de date de mari dimensiuni). 11. Asigurarea accesului concurent la aceleai resurse. 12. Asigurarea capacitii de refacere n cazul unor cderi fizice de hardware sau software, asemntor sistemelor convenionale. 13. Asigurarea unor limbaje de acces de cereri de nivel nalt cu multiple faciliti de interogare a bazei de date. Manifestul bazelor de date orientate direct mai face referiri la cteva caracteristici opionale, care sunt interesante i folositoare dar nu eseniale pentru un SGBDOO, dintre acestea enumerm: motenirea multipl, distribuia datelor ntr-o reea, posibilitatea verificrii unui program n timpul compilrii, managementul tranzaciilor i mecanisme pentru ma-

Revista Informatica Economic nr. 1 (37)/2006

55

nagementul versiunilor. C. Comparaii ntre abordarea obiectual i cea relaional privind modelarea datelor Deosebirea esenial ntre cele dou tipuri de modelare a datelor o reprezint ncapsularea
Modelul orientat pe obiecte Obiect Clasa de obiecte Ierarhia de clase Instan de clas Atribut Relaii Mesaje / interfa ncapsulare Identificatorul de obiect (OID) Modelul relaional Entitate Tipuri de entiti Schema bazei de date Entitate, triplu sau nregistrare Atribut Relaii Nu exist Nu exist Cheie primar

n obiect att a strii ct i a comportamentului acestuia, n vreme ce modelul Entitate Relaie evideniaz numai starea i nimic despre comportament. n tabelul 1 se prezint o comparaie ntre principalele concepte utilizate n modelarea obiectual i relaionat a datelor.
Diferene Obiectul precizeaz i comportamentul Clasa de obiecte include i comportamentul comun obiectelor din clasa respectiv Ierarhia de clase implic motenirea iar schema implic chei externe Instana poate avea un caracter mai restrictiv Fr diferene Fr diferene Au semnificaia de descrieri, ns n BDOO motenirea include att starea ct i comportamentul n modelul relaional dac nu se definete cheia primar sistemul genereaz n mod automat un identificator

Tabelul 1. Compararea BDOO i BDR sub aspectul conceptelor folosite

Deosebirile dintre modelul BDOO i modelul BDR pot fi evideniate i sub aspectul obiecBDOO Obiective principale: ncapsularea i independena datelor. Independena claselor: pot fi reorganizate fr a afecta modul de folosire a lor. BDOO stocheaz date i metode. ncapsularea: datele pot fi folosite numai prin metodele claselor. Obiecte active: obiectele sunt active. Cerinele cauzeaz obiectelor executarea metodelor acestora. Complexitate: structura datelor poate fi complex, implicnd multiple tipuri de date. Date nlnuite. Datele pot fi nlnuite aa nct metodele claselor ofer performane sporite. Datele structurate precum i BLOB (binary large objects) sunt folosite pentru sunet, imagine, video etc. Neredundana metodelor: neredundana datelor i metodelor sunt realizate prin ncapsulare i motenire. Motenirea ajut la reducerea redundanei metodelor. Optimizarea claselor: datele pentru un obiect

tivelor urmrite sau prin alte caracteristici, aa cum se poate observa din tabelul 2.
BDR Obiectiv principal: asigurarea independenei datelor fa de programele de aplicaii. Independena datelor: datele pot fi reorganizate i modificate fizic fr a afecta modul de folosire. BDR stocheaz numai date. Partiionarea datelor: datele pot fi partiionare n funcie de cerinele i specificul aplicaiilor utilizatorilor. Date pasive: datele sunt pasive. Anumite operaii limitate pot fi n mod automat antrenate cnd datele sunt folosite. Simplicitate: utilizatorii percep datele sub form de coloane, rnduri / tupluri i tabele. Tabele separate: fiecare relaie / tabel este separat. Operatorul de JOIN refer date din tabele separate. Neredundana datelor: Normalizarea datelor are ca scop de a elimina sau reduce redundana datelor. Ea este folosit n faza de proiectare a bazei de date i nu n faz de dezvoltare a aplicaiilor. Performana BDR este legat de nivelul de complexi-

Tabelul 2. Compararea BDOO i BDR sub aspectul obiectivelor urmrite

56

Revista Informatica Economic nr. 1 (37)/2006

BDOO pot fi interlegate i stocate mpreun, astfel nct ele pot fi accesate mpreun de mecanismul de acces. Modul conceptual consistent: modelele folosite pentru analiz, proiectare, programare i accesul bazei de date sunt similare. Conceptele aplicaiilor sunt n mod direct reprezentate prin clasele de obiecte.

BDR tate a structurii datelor. Model conceptual diferit: modelul structurii datelor i acces reprezentat prin tabele i JOIN-uri este diferit de cel n analiz, proiectare i programare. Proiectul trebuie s fie convertit n tabele relaionale i acces conform SQL.

Concluzii Din literatura de specialitate precum i din cele prezentate pot fi desprinse o serie de concluzii cu privire la SGBDR i SGBDOO, dintre care amintim: - Bazele de date relaionale au ca obiectiv principal asigurarea independenei datelor. Datele normalizate sunt separate de prelucrri iar prelucrrile corespunztoare satisfacerii cerinelor informaionale nu este obligatoriu s fie n totalitate predefinite, deci se accept i cerinele ad-hoc; - Bazele de date orientate direct au ca obiectiv principal ncapsularea, fiind stocate mpreun datele i metodele. Ele sunt inseparabile. Se spune c avem de a face cu independena claselor nu cu independena datelor; - Nevoia unui SGBDOO i nu unul relaional apare atunci cnd n aplicaiile de referin avem de a face cu date complexe; - Limbajele de programare necesit o nou sintax; mixarea; reproducerea i noile metode de acces necesit de asemenea continuarea cercetrilor; trebuie realizate caracteristici mai solide ale limbajelor de interogare; se simte nevoia continurii cercetrilor n domeniul controlului concurenei, semantica mrcilor de timp i concurenei bazate pe obiecte [2]; - Limbajul C++ nu este un limbaj prea adecvat pentru implementarea bazelor de date, ntruct prezint probleme legate de mecanica definirii atributelor, mecanica referirii la obiecte ntr-un mod sistematic. Totodat, SGBD actuale bazate pe limbajul C++ duc lipsa unor importante funcii ale bazei de date i, pentru a compensa aceasta s-a recurs la implementri simple ale funciilor standard ale sistemelor de gestiune, cum ar fi: nregistrarea n jurul a tranzaciilor pentru refacerea prin derulare nainte; un monitor multifir al tranzaciilor, un limbaj i un procesor de in-

tegrri [5,6]; - Piaa bazelor de date orientate obiect va continua s creasc, dar va rmne nc doar o fraciune din piaa tradiional a bazelor de date [25.33]; - Se apreciaz c SGBDR dein ponderea cea mai mare pe piaa bazelor de date. ns ca perspectiv ele vor coexista nc mult timp mpreun cu SGBDOO. Bibliografie 1. Atkinson M., Bancilhou F. .a. Object Oriented Database System Manifest. In Proc. 1 st Int. Conf. Deductive and Object Oriented Database, Kyoto, Japan, 1989. 2. R.G.G. Cattell Object Data Management. Reading Mss., Ed. Adisson Wesley, 1994. 3. Codd E.F. Is you DBMS really relational? Computerworld, 14 oct. 1985. 4. Codd E.F. Does your DBMS run by teh rules? Computerworld, 21 oct. 1985. 5. C. J. Date An Introduction to Database Systems. Eighth Edition, Pearson Addison Wesley, 2004. 6. Thomas Connolly, Carolyn Begg Database to Design, Implementation and Management. Fourth Edition, Ed. Addison Wasley, 2005.

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