Sunteți pe pagina 1din 6

108 Revista Informatica Economica, nr.

1(25)/2003

Studiu comparativ între modelul de date orientat spre obiecte


si modelul de date relational
Asist. Andy STEFANESCU,
Facultatea de Stiinte Economice, Universitatea din Craiova
Asist. Laura STEFANESCU,
Facultatea de Contabilitate - Finante Craiova, Universitatea „Spiru Haret”

It is necessary that data design be achieved properly so that a system offering correct info r-
mation could be designed, which determines the success and efficiency of the decisional pro c-
ess.
The work aims to analyze to concept of da ta basis orientated on object and by comparing the
relational data basis, to stress out both the drawbacks of the relational data pattern and the
advantages the objects design show.
Keywords: objects, data design, connection among objects, referential integrity.

B azele de date orientate pe obiecte bene-


ficiaza de un model de date orientat pe
obiecte ce are la baza notiunea de entitate
similar cheii straine din modelul de date rela-
tional.

conceptuala, definita ca un obiect descris Tabelul 1 . Atributele obiectului pentru


printr-o colectie de proprietati. Conceptul de instanta Agentii
obiect este simplu dar, în acelasi timp, foarte Cod_Agentie ABK5
puternic: fiecare obiect poate fi definit si în- Denumire Agentia de Brokeraj PitInvest
tretinut independent de celelalte. Aceasta de- Localitate Pitesti
finitie a unui obiect este foarte asemanatoare Strada AI Cuza
definitiei unei entitati. Totusi, un obiect în- Telefon O48123988
globeaza atât starea, cât si comportamentul, Brokeri_Angajati Ionele Ion; Popa Paula
în timp ce o entitate modeleaza doar starea. Ordi- Ordin de vânzare; ordin de
Starea curenta a unui obiect este descrisa de ne_tranzactionate cumparare
unul sau mai multe atribute sau variabile de Manager Dobrin Mihai
instanta. De exemplu: Agentia de Brokeraj
din Pitesti poate avea atributele prezentate în Metodologia modelarii logice a bazelor de
tabelul 1. Atributele pot fi clasificate ca sim- date se bazeaza pe modelul Entitate-Relatie
ple sau complexe. Un atribut simplu poate Extins (EER) si are puncte similare cu mode-
sa fie un tip simplu de date (întreg, sir, real) lul de date orientat spre obiecte, asa cum s-a
care ia valori literare sau numerice. De sintetizat în tabelul 2. Abordarea EER singu-
exemplu Cod_ Agentie din tabelul 1 este un ra este insuficienta pentru a desavârsi
atribut simplu care cu valoarea literala proiectarea unei baze de date orientate spre
ABK5. Un atribut complex poate contine obiecte. Abordarea EER trebuie suplinita cu
colectii si/sau referinte. De exemplu, atribu- o tehnica care identifica si documenteaza
tul Brokeri_Angajati reprezinta o colectie de comportamentul fiecarei clase de obiecte.
obiecte de tip Broker. Un atribut de referin- Aceasta implica o analiza detailata a
ta reprezinta o relatie dintre obiecte si cont i- cerintelor de prelucrare. Într-un flux de date
ne o valoare sau o colectie de valori, care conventional, prin utilizarea diagramelor de
sunt ele însele obiecte. De exemplu, Bro- flux de date (DFD), cerintele de prelucrare
keri_Angajati este, mai exact o colectie de ale sistemului sunt analizate separat fata de
referinte la obiectele de tip Broker. Din punct modelul de date. În analiza orientata spre
de vedere conceptual, un atribut referinta este obiecte cerintele de prelucrare sunt transpuse
într -un set de metode, care sunt unice pentru
fiecare clasa.
Revista Informatica Economica, nr. 1(25)/2003 109

Tabelul 2 Comparatie între modelul relational si modelul obiectelor


Modelul Modelul relatio-
Diferente
obiectelor nal
Obiect Entitate Obiectul include comportamentul
Atribute Atribute Nu
Asocierile sunt aceleasi, dar în modelarea
Relatii Relatii obiectuala mostenirea include atât starea,
cât si comportamentul
Mesaje Conceptul nu are corespondent pentru
modelul de date relational
Clase Tipuri de entitati Nu
Instante Entitati Nu
Conceptul nu are corespondent pentru
Încapsulare
modelul de date relational

Similitudinea dintre cele doua abordari face Relatiile dintre obiecte si integritatea refe -
ca metodologia modelarii logice de date, sa rentiala
prezinte o baza rezonabila pentru o metodo- Într-un model de date de obiecte, relatiile
logie de proiectare a bazelor de date orientate sunt reprezentate utilizând atributele de refe-
spre obiecte. Cu toate ca aceasta metodologie rinta implementate în mod obisnuit prin iden-
este orientata în principal spre proiectarea tificatorii de obiecte (OID). În continuare se
bazelor de date relationale, totusi, modelul va analiza modul de reprezentare a relatiilor
poate fi transformat relativ simplu pentru dupa cardinalitatea lor: unu-la-unu (1:1),
modelele în retea si ierarhice. În modelul de unu-la-multi (1:M) si multi-la-multi (M:M).
date obtinut, relatiile de tip multi-la -multi si Relatii de tip 1:1
relatiile recursive sunt îndepartate. Aceste O relatie de tip 1:1 dintre obiectele A si B es-
schimbari nu sunt necesare pentru modelarea te reprezentata prin adaugarea la obiectul A a
orientata spre obiecte si pot fi omise. Modif i- unui atribut de referinta si, pentru a mentine
carile au fost introduse datorita puterii de integritatea referentiala, adaugarea la obiectul
modelare limitate a modelelor de date tradit i- B a unui alt atribut de referinta. De exe mplu,
onale. Utilizarea normalizarii în cadrul meto- în figura 1 este reprezentata relatia de tip 1:1
dologiei este înca importanta si nu trebuie dintre instantele Agentii si Manager.
omisa în proiectarea bazelor de date orientate
spre obiecte. Normalizarea este utilizata pe n- AGENTII: OID1 MANAGER: OID6

tru a îmbunatatii modelul, în asa fel încât el


Cod_Agentie: ABK5 Marca: DM5
sa satisfaca diverse constrângeri care evita Denumire: PitInvest Nume: Dobrin
dublarea inutila a datelor. Faptul ca se lu- Localitate: Pitesti Telefon: 048456734
creaza cu obiecte nu înseamna ca redundanta Strada: AI Cuza, nr.4 Functia: Manager
Telefon: O48123988 Sex: M
este acceptata. În termenii orientarii spre obi- Brokeri_Angajati: DN: 1-Nov-68
ecte, a doua si a treia forma normala trebuie { OID2,OID3,…} Salariu: 1000
interpretate în felul urmator: „Fiecare atribut Ordine_tranzactionate: Cod_ABK: OID1
{ OID4,OID5,…}
dintr-un obiect este dependent de identitatea Manager: OID6
obiectului.”
Proiectarea bazelor de date orientate spre Fig.1. Relatia de tip 1:1
obiecte necesita ca schema bazei de date sa
includa atât descrierea structurii de date a Relatii de tip 1:M
obiectului si constrângerile, cât si comporta- O relatie de tip 1:M dintre obiectele A si B
mentul obiectului. este reprezentata prin adaugarea la obiectul B
a unui atribut de referinta si la obiectul A a
unui atribut continând un set de referinte. De
exemplu, în figura 2 sunt reprezentate doua
relatii de tip 1:M, una dintre Agentii si Bro-
110 Revista Informatica Economica, nr. 1(25)/2003

keri_Angajati si alta dintre Brokeri_Angajati primare si straine. O cheie straina leaga fie-
si Ordine_Tranzactionate. care aparitie din relatia copil de aparitia din
Relatii de tip M:M relatia parinte, care contine valoarea cores-
O relatie de tip M:M dintre obiectele Asi B punzatoare cheii candidat. Integritatea
este reprezentata prin adaugarea la fiecare referentiala semnifica faptul ca, în cazul în
obiect a unui atribut care contine un set de re- care cheia straina contine o valoare, aceasta
ferinte. De exemplu, în figura 3 este repre- trebuie sa se refere la o aparitie existenta în
zentata relatia de tip M:M dintre entitatile relatia parinte. Pentru a asigura integritatea
Client si Brokeri_Angajati. În proiectarea ba- referentiala, se specifica anumite constrâ n-
zelor de date relationale, se descompune rela- geri de existenta, care definesc conditiile în
tia de tip M:M în doua relatii de tip 1:M, co- care o cheie candidat sau straina poate fi in-
nectate printr-o entitate intermediara. Pornind serata, reactualizata sau stearsa.
de la acest model relational, este posibil sa se Pentru modelul obiectelor integritatea refe-
reprezinte într-un Sistem de Gestiune al Ba- rentiala necesita ca orice obiect la care se fa-
zelor de Date Orientat Obiect, asa cum este ce referire sa existe. De exemplu, sa consid e-
aratat în figura 4. ram relatia de 1:1 dintre instanta Agentii si
Integritatea referentiala instanta Manager, din figura 1, instanta
Integritatea referentiala pentru modelul rela- Agentii OID1, se refera la instanta Manager
tional se realizeaza prin intermediul cheilor OID6.
ORDINE_TRANZACTIONATE
OID2

Nr_ordin: 2
Tip: vânzare
Data: 12-aug-2002
Simbol_contract: ROL/USD
Cantitate: 100
Pret_u: 3000000
Termen: 6
Broker: OID4
Cod_ABK: OID1
AGENTII:
OID1

Cod_ABK: ABK5
Denumire: PitInvest
Localitate: Pitesti
Strada: AI Cuza, nr.4 ORDINE_TRANZACTIONATE
Telefon: O48123988 OID3
Ordine_tranzactionate:
{OID2, OID3 ,…} Nr_ordin: 3
Brokeri_Angajati: Tip: cumparare
{OID4, OID5 ,…} Data: 12-aug-2002
Manager: OID6 Simbol_contract: ROL/EURO
Cantitate: 50
Pret_u: 1000000
Termen: 3
Broker: OID4
Cod_ABK: OID1

BROKERI_ANGAJATII:
OID4

Broker: OID4
Nume_Broker: Ionele
Fig.2 . Relatiile de tip 1:M Sume_tranzactii: 10000000
Cod_ABK: OID1
Ordine_tranzactionate:
{OID2, OID3 ,…}
Revista Informatica Economica, nr. 1(25)/2003 111

Daca utilizatorul sterge aceasta instanta Ma- referentiala, sistemul detecteaza automat re -
nager, fara reactualizarea corespunzatoare a ferintele care nu sunt valabile si le atribuie
instantei Agentii, atunci integritatea referen- valoarea NULL sau nu permite stergerea.
tiala este pierduta. Pentru manipularea inte- § Sa se permita utilizatorului sa modifice si
gritatii referentiale pot fi utilizate diverse sa stearga obiectele si relatiile, atunci când
tehnici, si anume: ele nu mai sunt necesare. În acest caz, siste-
§ Sa nu se permita utilizatorului sa stearga mul mentine automat integritatea obiectelor
explicit obiectele. În acest caz, sistemul este prin utilizarea atributelor inverse. De exe m-
responsabil pentru „refacerea spatiului dis- plu, în figura 1 exista o relatie între Agentii si
ponibil”. Cu alte cuvinte, sistemul sterge au- Manager si o relatie inversa între Manager si
tomat obiectele, atunci când ele nu mai sunt Agentii. Când un obiect de tip Manager este
accesibile pentru utilizator. sters, este usor pentru sistem sa utilizeze rela -
§ Sa se permita utilizatorului sa stearga ob i- tia inversa, pentru a ajusta corespunzator re-
ectele când acestea nu mai sunt cerute. În ferinta în obiectul Agentii.
acest caz, pentru a întari integritatea

CLIENT: OID8 BROKER_ANGAJATII:


OID4

Col_Cl: I4 Broker: OID4


Nume_Cl: SC Alfa Nume_Broker: Ionele
Localitate: Craiova Sume_tranzactii: 10000000
Telefon: 05155235 Cod_ABK: OID1
Investitie_max: 30000000 Ordine_tranzactionate:
INVESTESTE {OID2, OID3 ,…}
Client: {OID8}
Broker: OID4
Suma: 10000000
BROKER_ANGAJATII:
OID7

Broker: OID7
Broker: OID5 Nume_Broker: Dobre
Suma: 15000000 Sume_tranzactii: 7000000
Cod_ABK: OID1
Ordine_tranzactionate:
{OID2, OID3 ,…}
CLIENT: OID9
Client: {OID8}

Col_Cl: I4
Nume_Cl: SC Beta BROKER_ANGAJATII:
Localitate: Pitesti OID5
Telefon: 049235554
Investitie_max: 15000000 Broker: OID5
INVESTESTE Nume_Broker: Popa
Sume_tranzactii: 15000000
Cod_ABK: OID1
Ordine_tranzactionate:
{OID2, OID3 ,…}
Client: {OID8, OID9}

Fig. 3. Relatie de tip M:M


112 Revista Informatica Economica, nr. 1(25)/2003

BROKER_ANGAJATII:
CONTRACTE: OID15 OID4

Den_contract: Futures Broker: OID4


Simbol: ROL/USD Nume_Broker: Ionele
CLIENT: OID8 Client: OID8 Sume_tranzactii: 10000000
Broker: OID4 Cod_ABK: OID1
Ordine_tranzactionate:
{OID2, OID3 ,…}
Cod_Cl: I4 Contacte: {OID15}
Nume_Cl: SC Alfa
CONTRACTE: OID16
Localitate: Craiova
Telefon: 05155235
Investitie_max: 30000000 Den_contract: Options BROKER_ANGAJATII:
Contracte: {OID15, OID16, Simbol: Opt ROL/USD OID7
OID17} Client: OID8
Broker: OID7 Broker: OID7
Nume_Broker: Dobre
Sume_tranzactii: 7000000
Cod_ABK: OID1
CONTRACTE: OID17 Ordine_tranzactionate:
{OID2, OID3 ,…}
CLIENT: OID9 Den_contract: Futures Contracte: {OID16}
Simbol: ROL/EURO
Client: OID8
Col_Cl: I4 Broker: OID5 BROKER_ANGAJATII:
Nume_Cl: SC Beta OID5
Localitate: Pitesti
Telefon: 049235554 Broker: OID5
Investitie_max: 15000000 CONTRACTE: OID18 Nume_Broker: Popa
Contracte: {OID18} Sume_tranzactii: 15000000
Den_contract: Futures Cod_ABK: OID1
Simbol: ROL/YEN Ordine_tranzactionate:
Client: OID9 {OID2, OID3 ,…}
Broker: OID5 Contracte: {OID17, OID18}
Fig. 4. O proiectare alternativa a relatiei de tip M:M

Concluzii entitati si relatii sau pentru a deosebi diferite-


Desi modelul de date relational are un fun- le tipuri de relatii care exista între entitati. În
dament teoretic foarte puternic si câteva schimb modelul de date orientat spre obiecte
puncte tari: simplitate, oportunitate pentru vine în sprijinul proiectantului pentru elim i-
prelucrarea on-line a tranzactiilor, suport narea acestui neajuns prin interpunerea unor
pentru independenta datelor, totusi prezinta clase intermediare care descompun relatiile
multe puncte slabe care conduc la o reprezen- dintre obiecte.
tare insuficienta a entitatilor din „lumea rea- Problemele de redundanta a informatiilor si
la”. anomaliile de reactualizare sunt evitate de
Modelul relational are o singura constructie identificatorul de obiecte (OID) utilizat ca
pentru reprezentarea datelor si relatiilor din- mecanism pentru identitatea obiectelor. Ide n-
tre ele: relatia. De exemplu, pentru a repre- titatea obiectelor este cea care garanteaza ca
zenta o relatie de tip M:M dintre doua entitati un obiect poate fi întotdeauna identificat în
se creeaza câte o relatie pentru a reprezenta mod unic, prin aceasta asigurându-se automat
fiecare dintre entitatile A si B si una pentru a integritatea instantei. Întrucât identitatea obi-
reprezenta relatia dintre ele. Nu exista nici un ectului asigura caracterul unic al întregului
mecanism prin care sa se faca distinctie între sistem, aceasta constituie o constrângere mai
Revista Informatica Economica, nr. 1(25)/2003 113

puternica decât integritatea entitatilor din Bibliografie


modelul de date relational, care impune nu- [1] Davidescu N., Sisteme informatice finan-
mai caracterul unic în cadrul unei relatii. ciar-bancar: concepte fundamentale, Editura All,
Pentru fiecare identificator OID din sistem la Bucuresti, 1998
care se face referire, trebuie sa fie întotdea u- [2] Embley D., Object Database Develo -
na prezent un obiect care sa corespunda ace- pment: Concepts and Princip les, Addison
lui identificator OID – adica nu trebuie sa Wesley Longman, 1997
existe nici o referinta independenta de obiect. [3] Oprea D., Analiza si proiectarea sisteme-
În exemplul considerat, se desprinde relatia lor informationale economice, Editura Poli-
Broker Tranzactio neaza Ordine. Daca se în- rom, Iasi, 1999.
globeaza fiecare obiect de tip Ordine în obi- [4] Spircu C., Lopatan I., Analiza, proiecta-
ectul de tip Broker de care este legat, atunci rea si programarea orientate spre obiecte ,
sunt generate anomalii de actualizare. Daca Editura Teora, Bucuresti, 1995
în loc de aceasta se va îngloba identificatorul [5] Soava G., Limbaje evoluate, Editura
OID al obiectului de tip Ordin în obiectul de Reprograph, Craiova, 1999
tip Broker de care este legat, atunci va conti- [6] Soava G., Sisteme informatice pentru
nua sa existe în sistem numai o singura in- afaceri, Editura Reprograph, Craiova, 2000
stanta pentru fiecare obiect, iar coerenta poa-
te fi pastrata mult mai usor. În acest mod
obiectele pot fi partajate si identificatorii
OID pot fi utilizati pentru a mentin e integr i-
tatea referentiala.
Printre punctele slabe ale modelului de date
relational se mai înscriu: supraîncarcarea se-
mantica, suport insuficient pentru integritate
si constrângerile întreprinderii, structura de
date omogena, operatii limitate, dificultate în
manipularea interogarilor recursive, nepotri-
vire de impedanta.

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