Vous êtes sur la page 1sur 5

BAZE DE DATE ORIENTATE PE OBIECTE

SGBD comercializate pn n prezent, cele mai multe sunt relaionale, gestioneaz n esent date numerice tabelare. Aceste sisteme acoper 70 din piata. n aceast perioad o ne!oie important n gestiunea de obiecte comple"e#te"te, gra$ice, cri, imagini, date multidimensionale% &i obiecte dinamice #programe, simulri%. 'n particular, proiectarea asistat de calculator #(AD%, proiectare de so$t)are, aplicaiile din birotic de aplicare a sistemelor e"pert sunt necesare pentru a genera !olume mari de obiecte cu structuri comple"e, parta*ate &i persistente. +nele obiecte importante pot $i imagini #care au ,0 -o pe obiect %. SGBD relaionale nu rspund bine la noile aplicaii cu obiecte de aceea n cea mai mare parte ele sunt e"tinse s suporte utilizarea unor anumite direcii obiectuale#Stonebra.er // 0. Gardarin arat c ntr1o anumit proporie nu este imposibil de a integra ntr1un sistem relaional cea mai mare parte a conceptelor obiectuale%. 2 problem important este ridicat de inter$eele limba*elor de programare cu SGBD relaionale. +n SGBD relaional o$er un limba* de interogare cu propriile sale tipuri de date, el $urnizeaz o mulime de tupluri programelor de aplicaii care prelucreaz tuplurile unul cte unul n $orme speci$ice. (ele dou limba*e sunt di$icil de integrat. Abordrile orientate pe obiecte tind s integreze te3nicile limba*elor orientate pe obiecte. BD22 permit s inem cont de dinamica asociat obiectelor sub $orm de operaii stocate, probleme rezol!ate parial prin reutilizarea a codului programelor. Modelarea obiectelor -odelele orientate pe obiecte regrupeaz concepte importante pentru a modela ntr1o manier progresi! obiecte comple"e &i proceduri de manipulare asociate, de o manier ce permite reutilizarea de obiecte &i proceduri pentru a construi entiti din ce n ce mai comple"e. -odelul orientat pe obiecte ser!e&te ca re$erint n analiz SGBD22. Obiectul este o colecie de date structurate, identificate printr o referin! unic!" E#e$plu% persoana 4onescu, ma&ina m, proiectul p, elipsa e, !aloarea !. 'ntr1o BD orientat pe obiecte orice obiect este caracterizat de un identi$icator unic numit 24D. 5iecare obiect posed o identitate. Dou obiecte care au acelea&i !alori dar doar un identi$icator di$er sunt considerate ca di$erite. Aceasta se pune n BD6 n care obiectele #tuplurile% nu sunt identi$icate dect prin !alorile lor. 4dentitatea unui obiect este un concept $undamental, aceasta este proprietatea unui obiect care1l distinge logic &i $izic de alte obiecte. Ast$el, orice obiect poate $i re$erit printr1o re$erin unic atribuit atunci la crearea sa #24D%. Dou obiecte sunt identice dac au acela&i 24D #o,77o8%. Dou obiecte sunt egale dac au acelea&i !alori#o,7o8%, o,77o8 implic o,7o8 in!ers este $als. 4dentitatea obiectelor u&ureaz modelarea obiectelor comple"e n particular gra$urile pot $i modi$icate complet. 'mprirea re$erenial a unui obiect n

dou obiecte de!ine posibil $r duplicarea datelor. 'n rezumat pot $i atinse a!anta*ele modelelor relaionale &i reea. 2biectele sunt caracterizate de proprieti. Proprietatea este o caracteristic! a unui obiect ce are un nu$e care corespunde la un atribut, la o funcie sau la un obiect co$ponent" E#e$ple% atribute simple 1numele unei persone 1culoarea unui automobil 1$ocarul unei elipse $uncii 1$uncia !rst a unei persone 1!ec3imea unei ma&ini 1$uncia care d supra$aa unui cerc atribute compuse 1copiii unei persoane 1centrul unui cerc 2rice proprietate poate $i pri!it ca o $uncie aplicat la un obiect care returneaz un alt obiect sau una sau mai multe !alori. Ast$el atirbutul nume este o $uncie care se aplic la o persoana p, care li!reaz un te"t#numele sau%. 9roprietatea copii poate $i de asemenea o $uncie care aplicat la o persoan $urnizeaz o mulime de copii# n general sub $orma unei mulimi de persoane%. 5ormalismul uni$icator al unei $uncii este $oarte important cci el permite s prindem n aceasta teorie #tipuri abstracte% proprieti cunoscute#atribute% &i calcule #$uncii% ale unui obiect. 9ermite de asemenea s modelm proprietile comune mai multor obiecte ca $uncii de mai multe argumente #copiii comuni ai unui cuplu de persoane%. Conceptul de tip de date abstract este cunoscut &n li$ba'ele de pro(ra$are" )n tip de date abstract poate fi pri*it ca o $uli$e de funcii ce ascund repre+entarea unui obiect ,i interaciunile obiectului cu alte obiecte" Ast$el un tip de date abstract nglobeaz o reprezentare consistent a unui obiect &i o mulime de $uncii abstracte !izibile din e"terior. +tilizarea tipurilor abstracte $a!orizeaz modularizarea programelor cci modi$icarea structurii unui obiect nu a$ecteaz obiectele e"terioare dect manipularea. 4n acest model, obiectele pe care noi ni le propunem, sunt implementri de tipuri abstracte sub $orm de colecii de obiecte care au aceea&i structur &i acelea&i operaii numit clas. Clasa este un grup de obiecte care au aceleai proprieti, caracterizat printr-o structur i o colecie de operaii care se aplic obiectelor din clas ce ascund structura. +tiliznd interpretarea $uncional a unei proprieti, o clas corespunde e"act de$iniiei unui tip abstract. :a speci$ic structura &i comportamentele commune ale unei colecii de obiecte. Speci$icarea progresi! a claselor de obiecte care compun o baz de date

obiectual permit modelarea comportamentului comun al obiectelor de o maniera modular &i e"tensibil. E#e$pe% persoane, masini, proiecte, cercuri etc.

Modelarea dina$ic! 2 modelare orientat pe obiecte permite nu numai modelarea obiectelor &i de asemenea de a modela comportamentul lor, n particular procedurile de baz care manipuleaz obiectele. Acestea sunt numite metode. Metoda este o operaie asociat unei clase care manipuleaz sau returneaz starea unui obiect sau a unei pri dintr-un obiect al clasei. +n obiect este manipulat prin metodele clasei sale. 9rincipiul ncapsularii mo&teneste tipuri abstracte de date ascunse obiectelor &i codurilor metodelor asociate ne lsnd !izibil dect itera$aa metodelor e"portate de clas. Acestea sunt singurele accesibile din e"terior clasei, ele sunt numite metode publice. Anumite metode se pot aplica la obiecte din clase di$erite, metoda este atunci multiclas. :a este n general asociat unei clase particulare, pentru alta $iind doar un parametru. 9osibilitatea de a suporta metode multiclas este esenial pentru a modela asocieri ntre clase $r a introduce clase intermediare arti$iciale. (um am !zut mai sus o metod &i un atribut sunt dou $orme de $uncii. -ai e"act, orice atribut de$ine&te implicit dou metode#ncrcare &i citire% care pot $i pri!ate sau publice numai prin care atributul este !izibil sau nu n e"teriorul clasei. E#e$plu; !om descrie aici ntr1un limba* clasa poart cu atributele publice &i pri!ate &i dou metode !izibile din e"terior. class poart public; stare;<desc3is, nc3is= nlime; real lime; real grosime; real pri*ate; a"a; !ector ung3i; real operaii publice; desc3is # $or >a;real%?end nc3is?end ntr-o BD obiectele comunic ntre ele prin mesaje care comport numele unei metode i parametrii si. @rimiterea de mesa*e este de $apt o implementare modern &i controlat a apelrii unei proceduri prin !alori clasice din limba*ele de programare.

Mesajul este un bloc de parametrii care permite prin e pediere in!ocarea unei metode publice a unui obiect. Ast$el un obiect reacioneaz la un mesa* in!ocnd metoda asociat &i returnnd parametrii rezultai ai metodei, n general tot sub $orma unui mesa* la metoda apelant. 2 BD apare ca o mulime de obiecte !ii care comunic prin mesa*e. -acazul de mesa*e $ace s tranziteze mesa*e ntre obiecte &i s asigure buna lor li!rare. E#$plu% este posibil s trimitem mesa*ele urmtoare la un obiect din clasa poart; p; desc3ide#A0% p; nc3ide p; lrgime.read p; lrgime.)rite#70% @rimiterea mesa*ului care urmeaz dup dou puncte !a acti!e metoda de acela&i nume e$ectund un trans$er de parametrii prin !aloare. Garantarea integritii datelor atunci cnd se modi$ic obiectele dintr1o BD pot suport acti!area de proceduri speci$ice care sunt !eri$icate n anumite condiii &i n $inal de a restabili !iolante temporare de integritate sau de a retransmite consecinele de la actualizare. "st#el de proceduri sunt numite demoni. Demonul este o operatie declansat de s$stem atunci c%nd apare o condiie particular &predicat ade!arat sau o operatie e ecutat'. Demonii sunt deci cazuri particulare de metode e"ecutate nu dup trimiterea unui mesa* e"plicit ci dup apariia unei condiii particulare n BD22. :i mai sunt numii triggeri#declan&atori% &i permit meninerea restriciilor de integritate.. :"emplul urmtor poate $i adugat la clasa poart care mentine starea sa 45 ung3iB,0 t3en starea7desc3is Demonul urmtor poate $i adugat la o clas cldire care cuprinde o mulime de pori pentru $iecare cldire aceasta menine integritatea re$erenial CD:6:E D:F:@: b t3en 526 :A(D pers#p%Eo$ b D:F:@:#p%

-e(!turi se$antice &ntre date 9entru a e!ita repetiia tuturor proprietilor pentru $iecare clas de obiecte , de a modela relaia Geste unH ntre obiecte este posibil de a de$ini o nou clas prin ra$inarea claselor mai generale. Aceast posibilitate este esenial pentru a $acilita de$iniia claselor de obiecte. :a este importat de la modelele semantice de date/Abite IJ/. Generalizarea este o legtur ierar(ic ntre dou clase care speci#ic c atributele clasei superioare sunt mai generale dec%t cele ale unei clase in#erioare.

(lasa in$erioar este numit subclas. (lasa superioar este numit superclas . Motenirea reprezint o transmitere a proprieti unei clase la o subclas. @oate elementele unei subclase sunt prin urmare elementele unei clase mai generale, ea mo&teneste prin titlul, propreitile #atribute &i metode% de la clasa superioar. Anumite propreiti pot $i a$ine, deci rede$inite sau suprascrise. De e"emplu salariaii mo&tenesc atributele &i metodele associate persoanelor. Dac salariaii posed un atribut nume acesta !a $i mo&tenit de toate subclasele; salariai, bugetari, &omeri, nebugetari. Atributul locKdeKmunc al unei clase de persoane poate $i suprascris cu !aloarea nul#1% la ni!elul clasei de &omeri.

persoane

salariai

&omeri

bugetari

nebugetari

Vous aimerez peut-être aussi