1 / 42

Objektni model podataka

5. 4. 3. Objektni model podataka. Objektni modeli. Podaci se definiraju kroz objekte Model se implementira kroz objektnu bazu podataka U samom objektu opisano i njegovo ponašanje Pristup objektima opisan je metodama, servisima ili operacijama definiranim za svaki objekt.

kesler
Télécharger la présentation

Objektni model podataka

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 5

  2. 4

  3. 3

  4. Objektni model podataka

  5. Objektni modeli • Podaci se definiraju kroz objekte • Model se implementira kroz objektnu bazu podataka • U samom objektu opisano i njegovo ponašanje • Pristup objektima opisan je metodama, servisima ili operacijama definiranim za svaki objekt

  6. Mogućnost specifikacije i strukture kompleksnih objekata i operacija nad njima • Rezultat integracije tehnologije baza podataka s objektno-orijentiranom paradigmom razvijenom u području programskih jezika i softverskom inženjerstvu

  7. Zašto je razvijen objektni model? • Radi zadovoljavanja zahtjeva u kompleksnim inženjerskim aplikacijskim okolišima • Objektni pristup osigurava zahtijevanu fleksibilnost – nije ograničen unaprijed danim tipovima podataka i upitnim jezikom (kao npr. SQL)

  8. Temeljni princip objektno-orijentiranog pristupa • Promatranje programa kao kolekcije neovisnih objekata grupiranih u klase, koji uzajamno komuniciraju putem poruka • Objekti egzistiraju samo tijekom izvršenja programa • Njima se može koristiti veći broj korisnika

  9. Primjeri objektnih modela • ODMG objektni model – definira standardni model za objektne baze podataka • ODL – definicijski jezik za definiranje objektne sheme baze podataka • OQL – deklarativni upitni jezik, inspiriran SOL jezikom

  10. Osnove objektnog modela

  11. OBJEKT – 2 komponente: • Stanje (vrijednost) • Ponašanje (operacije, metode) • STRUKTURA • ATRIBUT • SUBJEKT • SERVIS

  12. Osnovni pojam objektnih modela Apstrakcija nečega u problemskoj domeni O njemu se prikupljaju podaci Sadrži vrijednosti svojih atributa (obilježje) i svojeg ponašanja KLASA – opis jednog ili više objekata koji imaju isti skup atributa i jednak opis ponašanja OBJEKT

  13. Objekt je pojava klase, a klasa tip objekta • Prepoznatljivo ponašanje objekta se opisuje operacijama (servisima) koje se obavljaju nad njima (npr. Formiranje novog objekta u klasi, brisanje objekta iz klase...) • Sličan varijabli u programskim jezicima

  14. Primjer klase i objekta • Klasa - masni pravokutnik • Njezini objekti - tanki pravokutnik Simbol ima tri dijela: • Gornji: naziv klase • Srednji: popis atributa • Donji: popis servisa

  15. Kompleksni objekti • Glavna motivacija za razvoj objektno-orijentiranih sustava • Mogu se podijeliti u: • Strukturirane • Nestrukturirane

  16. Mehanizam dostupnosti funkcionira tako da se objekt načini dostupnim za neki drugi perzistentni objekt • Za objekt B kaže se da je dostupan objektu A ako niz referenci u objektnom grafu vodi iz objekta A do objekta B

  17. Strukturni kompleksni objekt • sastoji se od komponenti i definiran je rekurzivnom primjenom konstruktora tipova na različitim razinama • definiran je strukturom koja rabi više konstruktore tipova podržanih sustavom baze podataka • struktura objekta definirana i podržana od strane sustava

  18. Između kompleksnog objekta i njegovih komponenti postoje dva tipa referenciranja na svakoj razini : • semantika vlasništva - primjenjuje se kada su komponente kompleksnog objekta učahurene unutar kompleksne strukture i tako čine sastavni dio objekta • semantika referenciranja - kada su komponente kompleksnog objekta nezavisni objekti, ali ih mogu referencirati drugi objekti

  19. Nestrukturirani kompleksni objekt • tip podataka koji zahtijeva znatne memorijske resurse, kao što su slike ili skenirane kartografsko-topografske karte • u bazi podataka reprezentiran kao veliki binarni objekt odnosno kao veliki znakovni objekt • sustav baze podataka ne poznaje njihovu internu strukturu i samo aplikacija koja se njima koristi može interpretirati njihovo značenje • Objekti se smatraju kompleksnima jer zahtijevaju veliki memorijski prostor

  20. Konfiguracijakompleksnoga objekta • kolekcija koja sadrži jednu verziju za svaki objekt, uređenu na način da su verzije objekata kompatibilne i da zajedno tvore ispravnu verziju kompleksnog objekta • kolekcija verzija različitih objekata koji zajedno tvore kompleksan objekt • graf verzija opisuje verzije istoga objekta • Konfiguracija treba slijediti strukturu tipa kompleksnoga objekta; višestruke konfiguracije istoga kompleksnoga objekta odgovaraju višestrukim verzijama komponentnih objekata.

  21. Coad / Yourdonov prikaz osnovnih koncepata objektnog modela

  22. STRUKTURA • Objekti grade različite strukture • Raspoznavaje strukture objekata principima apstrakcije: • generalizacija/specijalizacija (Gen-Spec) • Agregacija (Cjelina-dio) (omogućuju klasifikacije i povezivanje objekata) • Klasa objekta može se specijalizirati u podklase, ako one imaju različite atribute ili koriste različite servise

  23. Kod generalizacije/specijalizacije prikazane na prethodnoj slici nadklasa se crta gore, a podlasa dolje, povezuju se linijom na kojoj Gen-Spec ukazuje na odnos klasa • Agregacija (Cjelina-dio) – sastav objekata između kojih vlada odnos cjeline i dijelova • Objekt se crta gore, a njegovi dijelovi gore, povezuju se linijom na kojoj simbol Cjelina-dio ukazuje na odnos objekata • Uz linije se označava broj, koji označava broj dijelova u cjelini

  24. Primjeri cjeline i dijelova

  25. Primjer generalizacije/specijalizacije

  26. ATRIBUT • Stanje svakog objekta opisano vrijednostima njegovih atributa • Vrijednosti atributa su promjenjive servisima definiranim nad objektom • Preporuča se atribut – jedna vrijednost=> jednostavniji modeli • Atribut- više vrijednosti => eliminira se iz modela uvođenjem novog objekta i uspostavom veze novog i postojećeg objekta

  27. Svaki objekt mora imati mogućnost identifikacije u skupu objekta iste klase • Za to se koriste identificirajući atributi ili implicitni identifikatori • Objektni modeli mogu razlikovati: jednostavne i kompleksne objekte • Jednostavni objekti opisani jednostavnim atributima • Kompleksan objekt – čiji atributi mogu biti i sami objekti • Npr. Automobil je kompleksan objekt koji se sastoji od objekata motor i karoserija, a motor može biti kompleksan ili jednostavan ovisno o tome je li opisan sebi podređenim objektima ili samo jednostavnim atributima

  28. Veza pojava objekata više-prema-više • Veza pojava objekata Kupac i Roba značenja “kupac je kupio robu” • Ovu vezu opisuju atributi DatumKupnje i KoličinaRobe

  29. PROBLEMSKO PODRUČJE - SUBJEKT • Cjelina u problemskom području • Velika problemska područja treba dekomponirati na više manjih problemskih područja – SUBJEKATA – po istom principu po kojem se IS dijeli na podsustave • Razmatranje subjekata u malim problemskim područjima nije potrebno jer je čitav problem jedan subjekt • Kada uvesti više subjekata, ovisi o kompleksnosti problema

  30. SERVIS • Opisuje ponašanje objekta jedne klase • U objektnim modelima opisuju procese nad podacima objekata • Vrijednosti atributa objekata opisuju stanja objekata, a servisi su sredstva za promjenu njihovih stanja

  31. Definiranje potrebnih servisa: • Utvrditi stanja objekata • Utvrditi potrebne servise • Utvrditi poruke • Razraditi detalje servisa

  32. define type Tocka: tuple ( x: float; y: float; ); define type Zgrada: tuple ( opcina: string; adresa: string; tip: string; geom._oblik:list(Tocka); parc: Parcela; ); define type Parcela: tuple ( opcina: string; broj: string; geom._oblik:list(Tocka) zgrade: set(Zgrada); ); define type Ulica: tuple ( opcina: string; naziv: string; geom._oblik:list(Tocka); ); mogu se rabiti za definiranje strukture podataka objektne sheme baze podataka ključne riječi tuple, set i list- konstruktori tipova Atributi koji referenciraju druge objekte, kao što su geom_oblik, odnosno zgrada, jesu reference na druge objekte, i reprezentaciju relacije između tipova objekata Konstruktori tipova

  33. Specifikacija perzistencije objekta • Ne moraju se svi objekti trajno pohranjivati u bazu podataka • Privremeni objekti egzistiraju tijekom izvršenja programa i nestaju nakon završetka izvršenja programa • Perzistentni objekti pohranjuju se u bazu podataka i traju nakon izvršenja programa, rabe se kao ulazne točke u bazi podataka.Tipični mehanizmi za kreiranje perzistentnih objekata su dodjeljivanje imena i dostupnost

  34. O izradi objektnog modela • Ima mnogo sličnosti s izradom modela entiteti-veze • Osnovna razlika: u definiranju servisa • Objektni model bogatiji-opisuje i procesnu komponentu inf. Sustava

  35. Veći broj aplikacija koje primjenjuju tehnologiju baza podataka zahtijeva postojanje različitih verzija istoga objekta postojeće verzije objekata u bazi ne smiju se promijeniti dok se proces izrade prostornoga plana ne dovede do samoga kraja Samo onda nove verzije objekata zamjenjuju postojeće verzije u bazi. moguće imati više od dvije verzije jednoga objekta Korisnici mogu paralelno mijenjati verzije istog objekta Kompleksni se objekt sastoji od više objekata, koji mogu imati različite verzije odnosno različite verzije grafa Verzije i povijest objekata

  36. PRIMJER: Objektni model poduzeća NOVA

  37. Partner – klasa u kojoj nema pojava objekata; specijlizira se na klase Kupac i Dobavljač • Kupac može istovremeno biti i Dobavljač

  38. Pripremili i prilagodili...

  39. Nije Đelo Hađiselimović...

  40. Redom pojavljivanja: • Ime i prezime • Ime i prezime • Ime i prezime • Ime i prezime • Ime i prezime

More Related