objektno orijentisane baze podataka

Download Objektno orijentisane baze podataka

If you can't read please download the document

Upload: stefan-misanovic

Post on 20-Jan-2016

41 views

Category:

Documents


4 download

DESCRIPTION

sminarski rad, skripta

TRANSCRIPT

Sveuilite u Zagrebu

Fakultet elektrotehnike i raunarstva

Zavod za elektronike sustave i obradu informacija

OBJEKTNO ORIJENTIRANE BAZE

PODATAKA

Darijo plihal, 0036388804

Seminar: SPVP

2004/05

Zagreb, 04. 06. 2004

Sadraj

1

Uvod .....................................................................................................................

3

2

Relacijske baze podataka (RDB)..........................................................................

3

2.1

to su baze podataka ....................................................................................

3

2.2

to je relacijska baza podataka.....................................................................

4

2.3

Osnovni pojmovi i koncepti .........................................................................

6

2.4

Zakljuak ......................................................................................................

7

3

Objektno orijentirane baze podataka (OODB).....................................................

7

3.1

to ne valja sa relacijskim ? .........................................................................

7

3.2

Impedance mismach .................................................................................

8

3.3

Svojstva objektne orijentacije ......................................................................

9

3.4

Prednosti i mane OODB-a............................................................................

9

3.4.1

Prednosti...............................................................................................

9

3.4.2

Mane.....................................................................................................

9

3.5

to je zapravo OODBMS ? ........................................................................

10

3.6

Razliiti pristupi OODBMS .......................................................................

11

3.7

Zakljuak ....................................................................................................

11

4

Literatura ............................................................................................................

12

2/12

Seminarski rad iz SPVP, 2004/05

Objektno orijentirane baze podataka, Darijo plihal 0036388804

1 Uvod

Ovaj lanak prvenstveno je namijenjen upoznavanju objektno orijentiranih baza podataka, meutim kako bih to bolje objasnio objektno orijentirane baze potrebno je pripremiti teren. to to tono znai? To znai da u najprije objasniti neke temeljne osnove baza podataka, njihove poetke, te to su ubiti baze podataka. Prvo emo se pozabaviti relacijskim bazama podataka koje e nas postupno dovesti do objektno orijentiranih baza podataka.

2 Relacijske baze podataka (RDB)

2.1 to su baze podataka

to je prva stvar to vam pada na pamet kad ujete naziv baza podataka?

Vjerojatno su nam svima poznati termini zapis i polje pa to neemo objanjavati. Na slici1 je nacrtana baza podatka kako bi si to prosjean ovjek koji ne zna nita o bazama podataka predoio.

Slika 1. Baza podataka kako bi ju obian ovjek zamislio

Ako i vi ovako zamiljate bazu podataka, molim vas da izbriete tu sliku iz glave. Razmiljanjem o bazi podataka kao o linearnom i homogenom zapisu jednako je grozno kao da mislite da je skateboard osnovno prijevozno sredstvo. Linearni zapis je jedan vrlo, vrlo ogranien zapis baze podataka.

Tipina baza podataka je zapravo jedan heterogeni skup meusobno povezanih informacija. Primjer baze podataka prikazan je na slici2. Ova slika predstavlja jedno poduzee u kojem se nalaze zaposlenici koji rade na projektima (vidi strelice). Za

3/12

Seminarski rad iz SPVP, 2004/05

Objektno orijentirane baze podataka, Darijo plihal 0036388804

projekte potrebne su nam komponente koje se nabavljaju kod nabavljaa.(trostruka strelica). Moete primijetiti da postoji jo jedna dodatna strelica izmeu zaposlenika i projekata a ona predstavlja drugaiji odnos od prve strelice. Ona predstavlja zaposlenike koji su ujedno i voditelji projekata. Za poetak neemo ii u detalje o tome kako su zapravo ove informacije i njihove veze pohranjene u bazama podataka. Ovim primjerom elio sam pokazati da baza podataka nije linearan zapis ve jedan mnogo kompleksniji objekt.

Slika 2. Primjer poduzea

Jedna od osnovnih svojstava baze podataka je mogunost rjeavanja kompleksnih i ugnijeenih upita kao to to pokazuje slika2

2.2 to je relacijska baza podataka

Vjerojatno smo se, bar openito, dogovorili o tome to je baza podataka, meutim nismo objasnili to znai pojam relacijski.

Formalna definicija je da relacijske baze podataka se bave podacima koji imaju relacijsku strukturu te sadre jezik za obradu takvih podataka (DML) koji svoje temelje povlai iz relacijske matematike. Ovo je bila formalna definicija meutim ona trenutno nema ba previe smisla pa emo dati jedan jednostavniji odgovor.

Nazivaju se relacijske zato to pohranjuju svoje podatke u tablice koje su izomorfne matematikim relacijama.

Sve dolazi iz matematikog koncepta relacije. Slika3 ilustrira relaciju r izmeu dva skupa, A i B. Relacija je podskup kartezijevog produkta dvaju setova. Ovdje je r podskup od AB to je ubiti drugi nain da se r opie kao skup od 2-elementarnih n-torki kod kojih je prvi element iz A a drugi iz B.

4/12

Seminarski rad iz SPVP, 2004/05

Objektno orijentirane baze podataka, Darijo plihal 0036388804

Slika 3. Matematiki opis relacije

Za sada je dovoljno da shvatite da postoje dva zahtjeva: o strukturi podataka i o jeziku za obradu takvih podataka

Jezik za obradu podataka (DML) je programski jezik kojim se vre odreene operacije kojima se pretrauju i odravaju baze podataka. Da bi smo mogli vriti ikakve radnje, nad primjerice podacima kao na slici2, potrebno je operacije koje mislimo obaviti najprije prevesti u DML oblik.

5/12

Seminarski rad iz SPVP, 2004/05

Objektno orijentirane baze podataka, Darijo plihal 0036388804

2.3 Osnovni pojmovi i koncepti

Osnovne pojmove i koncepte relacijske baze podataka lake e biti objasniti na konkretnom primjeru.

Slika 4. Baza podataka

Dobavljai su navedeni u tablici S (na vrhu (Supplier)), a svaki red tablice predstavlja jednog dobavljaa. Tablica je ubiti ekvivalentna homogenom zapisu sa poetka, s tim da svaki redak predstavlja jedan zapis a svaki stupac polje. Meutim treba primijetiti da je cijela baza podataka sazdana od mnotva takvih tablica. Tu se jo nalaze tablica P (Parts) koja sadri zapise o komponentama i SP tablica koja nam govori koje komponente i u kojoj koliini se mogu nai kod kojeg dobavljaa (SP tablica predstavlja jednu od onih strelica a tablice S i P su kvadratii sa slike2).

Svaki redak je lista od n vrijednosti (n je broj stupaca tablice) ili n-torka u matematikom smislu.

Svaki stupac predstavlja polje zapisa i takav zapis naziva se atribut.

Atributi mogu poprimiti vrijednosti (npr. atribut colour) samo iz odreenog skupa, a takav skup dozvoljenih vrijednosti naziva se domena.

Klju je atribut ili kombinacija atributa koja jedinstveno odreuje redak tablice. Na primjer P# (redni broj komponente) je atribut koji jedinstveno odreuje tono odreenu komponentu, u smislu da ako dobijemo broj komponente znamo da postoji samo jedna komponenta (jedna n-torka) koja odgovara tom broju. Boja komponente ne odreuje jedinstveno komponentu jer mogu postojati dvije razliite komponente iste boje.

Treba primijetiti da svakoj n-torki u tablici SP odgovara n-torka u tablicama S i P ovisno o kljuu. Postoje tono odreena pravila koja definiraju vezu meu tablicama ali neemo ulaziti u detalje.

6/12

Seminarski rad iz SPVP, 2004/05

Objektno orijentirane baze podataka, Darijo plihal 0036388804

2.4 Zakljuak

Osnovna ideja je jednostavna i elegantna: sve je prikazano u tablicama. DML je visokog stupnja, deklarativan i odreen. Tablice su izomorfne matematikim relacijama, to stavlja relacijski model baza na vrste teorijske temelje to omoguuje razvoj teorema i dokaza istih. Relacijska algebra je zatvorena: algebarske operacije uzimaju relacije kao operande i kao rezultat vraaju relacije, te time omoguuju ugnjeivanje. Meutim relacijske baze ne mogu rijeiti sve probleme. Postoje odreene podatkovne strukture koje se ne mogu staviti u tablice ili se nad takvim tablicama teko ili nikako ne mogu vriti upiti.

3 Objektno orijentirane baze podataka (OODB)

3.1 to ne valja sa relacijskim ?

Objektno orijentirane baze podataka pojavile su se sredinom 80-tih kao rjeenje problema relacijskih baza koji su se pojavljivali u odreenim klasama aplikacija.

Mi emo ove nedostatke prikazati na primjeru iz elektronike CAD.

Slika 5. Elektrini primjer

Imamo sistem koji se sastoji od meusobno povezanih logikih vrata. Sastoji se od tri dvoulaznih I-vrata C1, C2 i C3 spojenih tako da ine etveroulazna I-vrata P. Kako bi smo ovo predoili u relacijskim bazama? Jedan od naina prikazan je u tablicama na

7/12

Seminarski rad iz SPVP, 2004/05

Objektno orijentirane baze podataka, Darijo plihal 0036388804

slici5. Napravili smo jednu tablicu koja opisuje tipove vrata te drugu koja sadri instance vrata. Zatim tablicu sa tipovima pinova i jednu sa instancama ica.

Postoji nekoliko problema koji se javljaju pri ovakvom opisu. Rasipanjem osnovnih dijelova jednih jedinih vrata na vie tablica je neprirodno i neintuitivno sa stajalita aplikacija. Manipulacije se dodatno kompliciraju i postaju neuinkovite, a to na kraju vodi do toga da se ne zna koja vrata pripadaju kojim.

Slika 6. Drugi elektrini primjer

Ovo je jo jedan pokuaj rjeenja poetnog problema upotrebljavajui BLOB-ove ili Binary Large OBjects. BLOB je ustvari string velik jedan byte koji se pohranjuje kao u bazu: aplikacija to razumije ali baza podataka ne. Dijagrami krugova koji se nalaze u stupcu Layout predstavljaju BLOB-ove.

Problem kod BLOB-a je taj da se ne mogu vriti ispitivanja na njima: dali se etveroulazna vrata sastoje od dvoulaznih? BLOB sadri odgovor ali ne u formatu u kojem bi ga baza podataka mogla prepoznati. Uz to baza ne moe napraviti nikakvo ispitivanje tekstualnog sadraja na BLOB-u.

Impedance mismach

Ranije navedeni primjeri prilino dobro prezentiraju probleme koji se javljaju kod relacijskih baza podataka a u literaturi se navode kao impedance mismatch. Komponente ije se impedancije ne slau su aplikacija (u naem sluaju CAD sistem) i baza podataka.

Aplikacije su proceduralne, rade samo sa jednim po jednim podatkom iz skupa podataka i stvaraju kompleksne podatkovne strukture. Baze podataka, na drugu stranu, su deklarativne, rade sa n-torkama iz skupova n-torki i dre podatke u tablicama. Oba pristupa imaju svoju snagu i razloge zato tako rade, me utim pokuamo li ih udruiti u jednu aplikaciju koja se slui bazom podataka dolazi do ne slaganja.

8/12

Seminarski rad iz SPVP, 2004/05

Objektno orijentirane baze podataka, Darijo plihal 0036388804

Rjeenje su ponudili zagovaratelji objektno orijentiranih baza podataka. Podatak definiran unutar aplikacije moe se pohraniti u bazu podataka bez potrebe ikakve pretvorbe, te se programski jezik aplikacije integrira u bazni DML.

3.3 Svojstva objektne orijentacije

Relacijske baze u pravilu ne dozvoljavaju korisniku da definira vlastiti tip podataka, iako se neki autori ne slau oko toga, dok objektne baze dozvoljavaju definiciju raznih tipova podataka varijabilne sloenosti.

Upotrebljavaju se skupovi, liste, multiskupovi i drugi naini prikazivanja rezultata ispitivanja koje kao rezultat vraa nekoliko objekata.

Metoda je dio koda povezan sa objektom koji ima neogranien pristup stanju tog objekta. Ako elimo primjerice provjeriti dali objekt ima ili nema neko svojstvo, koje se moe vidjeti iz njegova stanja, puno je lake obaviti metodom napisanom za taj sluaj nego praviti upite ovisno o atributima.

Pravilo je generiki naziv za dio koda koji se automatski pokree kada se vre odreene radnje.

Jedna od najvanijih svojstava objektnih baza je da zajednika svojstva aplikacije i baze osiguravaju dobru komunikaciju izmeu inih.

3.4 Prednosti i mane OODB-a

3.4.1 Prednosti

OODB-e omoguuju korisniku da definira neke svoje apstrakcije dok to kod RDB-a nije mogue. Omoguuju bolju povezanost baza podataka i aplikacija, odnosno do sada neki ne rjeivi ili komplicirani problemi izmeu baza i aplikacija su rijeeni. OODB-e odstranjuju potrebu za definiranjem vlastitih klju eva jer one imaju OID koji se automatski generira i dodjeljuje objektu. Razvili su se tipovi izjednaavanja razliitih tipova podataka, i to 1. dva objekta su ista ako imaju isti OID, 2. dva primitivna objekta su ista ako imaju iste vrijednosti ili 2 ne primitivna objekta su ista ako imaju jednak broj svojstava, 3. kao i drugo pravili samo za svojstva a ne za objekte, 4. isto kao i prvo samo za svojstva a ne za objekte. OODB su razvile objektnu algebru.

3.4.2 Mane

Mana OODB je to to relacijske i objektne baze podataka ne mogu meusobno razmjenjivati podatke. Slijedea mana OODB i jedan od najveih problema je optimizacija deklarativnih upita. Standardna algebra upita jo je jedna mana OODB a to takoer za sobom povlai i prije navedenu manu optimizacije. Mnoge OODB pate zbog sloenosti upita i najee jezik upita nije ANSI SQL kompatibilan. Veina OODB-a ne podravaju autorizacije pa je ovim putem sigurnost baze dovedena u

9/12

Seminarski rad iz SPVP, 2004/05

Objektno orijentirane baze podataka, Darijo plihal 0036388804

pitanje. Dinamika promjena definicija klasa takoer nije omoguena unutar OODB. Ograniene su mogunosti poboljavanja performansi OODB. Ni definicije potpuno funkcionalnih kompleksnih objekata nisu doraene do kraja. Uinkovitost OODB sveukupno i nije tako jako puno poveana u odnosu na uinkovitost RDB. Postoje i neka svojstva koja OODB-e uop e ne podravaju. I na kraju, a moda i najvanije, je to da objektne baze ne lee na vrstim matematikim temeljima kao to je to kod relacijskih.

3.5 to je zapravo OODBMS ?

Postavimo li ovo pitanje razliitim ljudima dobit emo prilino razliite odgovore, meutim postoje 3 bitnija manifesta koja su pokuala rijeiti ovo pitanje.

Prvi manifest, 1989: The OO DBS Manifesto, je rekao: uredu, nitko se ne moe sloiti o tome to je OODBMS pa emo mi zato dati set zlatnih pravila. Ako baza podataka zadovoljava ova pravila moete ju nazvati OO.

Drugi manifest, 1990: Third Generation DBS Manifesto, koji je predstavio svoj novi set pravila je ubiti bio potpuno proturjean prvom. Naglaavao je da su relacijski sustavi uveli dva vrlo vana pravila (ne proceduralni pristup i neovisnost podataka) te bi bilo loe kada bismo ih izbacili iz budue uporabe. SQL, definiran kao intergalaktiki podatkovni jezik, morao se podrati.

Trei manifest, 1995: The Third Manifesto, puno formalniji i tehniki dotjeraniji, predstavio je sistem iji su korijeni izlazili iz relacijskih sustava. Rekao je da su u prvom manifestu pogrijeili to su ignorirali relacije, dok su u drugom manifestu to dobro shvatili ali su pogrijeili u tome to su podupirali SQL koji predstavlja istu perverziju osnovnih relacijskih ideja. Meutim u treem manifestu proiruje se relacijski model tako to se doputa definicija novih tipova podataka za domene.

10/12

Seminarski rad iz SPVP, 2004/05

Objektno orijentirane baze podataka, Darijo plihal 0036388804

3.6 Razliiti pristupi OODBMS

Slika 7. Razliiti pristupi OODBMS

Jedna skupina objektnih baza podataka (lijeva strana dijagrama na slici7) poela se razvijati od poetka bez ikakvih veza sa relacijskim sistemima. Svoj tip sistema bazirali su na objektno orijentiranim programskim jezicima te ih razvili tako da su svojstva baza ukljuili u njih. Ovaj pristup opisan je u prvom manifestu.

Druga grana objektno orijentiranih baza podataka poela se razvijati iz relacijskih sistema te su u njih dodali objektna svojstva, kao to je to opisano u drugom i treem manifestu. Ovaj pristup opisan je kao objektno relacijski DBMS.

Oba dva pristupa zapravo tee istoj toki, ali dolaze iz razliitih smjerova. OODBMS kree iz objektnog suelja kojem dodaje mogunosti za opis deklarativnih upita. ORDBMS kree iz relacijskih suelja i proiruje ih na sistem sa objektima.

3.7 Zakljuak

Gotovo svatko tko radi na ovom polju priznaje postojanje impedance mismatch problema i slae se da relacijske baze nisu podobne za odreene klase aplikacija. Meutim, iako izgleda da objektna tehnologija omoguava rjeenje ovog problema, nema zajednikog zakljuka o tome kako bi idealni ODBMS trebao izgledati, ak ni sa teoretskog stajalita (primjer su manifesti).

Glavne prednosti objektnih baza podataka je njihov rich type sistem koji zadovoljava po snazi i zadrava strong typing koji sadre njegovi krojeni koji se nalaze u OO programskim jezicima, te uinkovitost koju nude u pojedinim aplikacijama gdje su relacijske baze zakazale.

Glavni su nedostaci to one, za razliku od relacijskih, ne lee na vrstim matematikim temeljima te je, djelomino i kao posljedica toga, stupanj razvijenosti inih danas prilino mali.

11/12

Seminarski rad iz SPVP, 2004/05

Objektno orijentirane baze podataka, Darijo plihal 0036388804

Konstantno se stvaraju novi proizvodi koji se bave bazama podataka, stari obnavljaju, jednako i u industriji i u znanosti, meutim ne postoji neki dogovoreni sustav bodovanja prema kojem bi ih mogli meusobno usporediti.

Literatura

Sikha Bagui (2003): "Achievements and Weaknesses of Object-Oriented Databases", Department of Computer Science, University of West Florida, U.S.A.

Frank Stajano (1998): "A Gentle Introduction to Relational and Object Oriented Databases ", Olivetti & Oracle Research Laboratory, Cambridge, U.K.

Adam Stevenson (2000) "Object Oriented Databases"

Ian Holyer (2004) " Object Oriented Databases "

12/12