690 likes | 1.11k Views
Mrežni, hijerarhijski i objektni model podataka. Rebeka Čordaš Mateja Đumić Ana Nikolić Jelena Strišković. UVOD. uvod. Modeli podataka s obzirom na nivo apstrakcije: Konceptualni (ER model) Logički Fizički Logički model – aplikativni model podataka
E N D
Mrežni, hijerarhijski i objektni model podataka Rebeka Čordaš Mateja Đumić Ana Nikolić Jelena Strišković
UVOD uvod • Modeli podataka s obzirom na nivo apstrakcije: • Konceptualni (ER model) • Logički • Fizički • Logički model – aplikativni model podataka • U predstavnike logičkih modela ubrajamo: • Hijerarhijski model • Mrežni model • Relacijski model • Objektni model The logical model is the design for painting, the blueprint for the building.
Mrežni mode l Uvod • Nastao kao paralela hijerarhijskom modelu • Fleksibilan način prikazivanja objekata i veza među njima • Opisan skupom međusobno povezanih slogova • Slog (tip, vrsta) tip entiteta, model entitet-veza
Mrežni mode l Slog • sadrži podatke jedne pojave entiteta • sastoji se od polja koji odgovaraju atributima • svako polje sadrži jednu vrijednost atributa Student • povezuju se fizičkim vezama (engl. link) (srodne binarnim vezama modela entiteti-veze)
Mrežni mode l Dijagram strukture podataka • Struktura podataka mrežnog modela opisuje se dijagramomom strukture podataka (namjena jednaka dijagramu entiteti-veze) • Slog se označava pravokutnikom, a veza linijom između dva sloga
Mrežni mode l Veze • Tip veze: • 1:1 • 1:M • M:1 • M:M
Mrežni mode l Dijagrami Veza nema atributa
Mrežni mode l Dijagrami Veza opisana atributima
Mrežni mode l Dijagrami Ternarna veza
Mrežni mode l DBTG CODASYL mrežni model • Data Base Task Group Conference On DAta SYstems Languages • Prvi standard na području baze podataka izvještaj CODASYL DBTG 1971. g • Zadnji važeći standard mrežnog modela datira iz 1978. g • Prijedlog iz 1981. nikada nije službeno prihvaćem
Mrežni mode l • Koriste se veze tipa jedan prema više (1:M) • Veze tipa više-prema-više (M:M) nisu dopuštene zbog jednostavnosti implementacije modela • Veze jedan-prema-jedan (1:1) predstavljaju se vezama jedan-prema-više (1:M)
Mrežni mode l Skup • Fizička implementacija jedino moguće veze 1:M sastoji se od dva tipa sloga povezana u skup (engl. set) • Vlasnik i član skupa Nastavnik Predmet
Mrežni mode l • Svaki skup može imati više pojava skupa u čijoj se pojavi nalazi jedna pojava vlasnik i proizvoljan broj pojava člana skupa • Slogovi koji sudjeluju u jednom skupu bez obzira na to jesu li vlasnici ili članovi skupa mogu istovremeno sudjelovati i u drugim skupovima
Mrežni mode l • DBTG model dozvoljava složenije strukture skupova u kojima postoji jedan vlasnik i više različitih članova • Polje može imati više od jedne vrijednosti • Jezik pomoću kojeg upravljamo podacima sastoji se od niza naredbi (find, get, erase, sort... )
Mrežni mode l Implementacija u računalu • usmjerenim grafom: • čvorovi- tipovizapisa, • lukovidefinirajuvezemeđu tipovimazapisa • koristipokazivačekojiizravnoadresirajumjestozapisanadisku • dajeizvrsnepovratneperformansenaračunoperacijapoputučitavanjaireorganizacijebazepodataka • program održavatekućipoložajiupravljaodjednog do drugogzapisaslijedećiodnose u kojimasudjelujezapis
Hi j e ra r h i j sk i mode l Hijerarhijski model • Opisuje se skupom slogova povezanih vezama (linkovima) • Struktura podataka se prikazuje i dijagramom strukture podataka (oblik stabla s ishodišnim čvorom – korijenom)
Hi j e ra r h i j sk i mode l • U stablu se može prikazati hijerarhijski odnos među slogovima (u obliku odnosa roditelj – dijete) koji odgovara vezi tipa jedan-prema-više (1:M) ili jedan-prema-jedan (1:1). • Prikazuje se skupom hijerarhijskih dijagrama strukture podataka (za prikaz nekih problema, zbog ograničenosti hijerarhijskog prikaza, potreban više nego jedan dijagram)
Hi j e ra r h i j sk i mode l Dijagrami Dijagram entiteti-veze (veza bez atributa)
Hi j e ra r h i j sk i mode l Hijerarhijski prikazi 1:1 1:M M:M
Hi j e ra r h i j sk i mode l Dijagram entiteti-veze (veza sa atributom)
Hi j e ra r h i j sk i mode l Hijerarhijski prikazi 1:M
Hi j e ra r h i j sk i mode l Spajanje slogova
Hi j e ra r h i j sk i mode l Transformacija složenijih veza • može biti prilično komplicirana • tijekom modeliranja hijerarhijske strukture podataka dopušteno je privremeno nacrtati i dijagrame koji nisu hijerarhijski • te dijagrame kasnije treba podijeliti na više hijerarhijskih dijagrama, tako da svaki ima po jedan korijen
Hi j e ra r h i j sk i mode l Dijagrami Dijagram entiteti-veze (ternarna veza)
Hi j e ra r h i j sk i mode l Hijerarhijski dijagram Ternarna veza
Hi j e ra r h i j sk i mode l Transformacija • dijagrama entiteti – veze u više hijerarhijskih dijagrama
Hi j e ra r h i j sk i mode l • neki slogovi se pojavljuju više puta zauzimanje mjesta • uvođenje prividnih slogova bez podataka • prividni slogovi se sastoje samo od pokazivača na stvarni slog s podacima
Hi j e ra r h i j sk i mode l XML • EXtensible Markup Language (jezik za označavanje podataka) • Princip realizacije: odgovarajući sadržaj treba se uokviriti odgovarajućim oznakama koje ga opisuju i imaju poznato, ili lako shvatljivo značenje • XML jezik vrlo raširen i koristi se za različite namjene: odvajanje podataka od prezentacije, razmjenu podataka, pohranu podataka, povećavanje dostupnosti podataka i izradu novih specijaliziranih jezika za označavanje
Hi j e ra r h i j sk i mode l Primjer <?xml version="1.0" encoding="UTF-8"?> <poruka> <za>Pero</za> <od>Kate</od> <naslov>Podsjetnik</naslov> <tijelo>Otiđi kupiti kruh</tijelo> </poruka>
Hi j e ra r h i j sk i mode l • Sastoji se od 2 dijela • Prvi dio je prolog ili zaglavlje. <?xml version="1.0" encoding="UTF-8"?> • Drugi dio je sadržaj dokumenta u kojem se nalazi korisni sadržaj omeđen XML oznakama. <poruka> <za>Pero</za> <od>Kate</od> <naslov>Podsjetnik</naslov> <tijelo>Otiđi kupiti kruh</tijelo> </poruka>
Hi j e ra r h i j sk i mode l • mora imati jedan korijenski ili root element koji uokviruje kompletan sadržaj • unutar korijenskog elementa ugniježđeni su svi ostali • XML elementi međusobno mogu biti u odnosu roditelj-dijete (eng. parent-child) ili sestrinskom (eng. siblings).
Hi j e ra r h i j sk i mode l Roditelj-dijete • jedan element hijerarhijski je nadređen drugome. • element poruka je roditelj elementu naslov (nadređen je elementu naslov) • element naslov je ugniježđeni unutar elementa poruka • pravilno ugniježđeni ne smije doći do preklapanja oznaka Ispravno: <poruka> ... <naslov>Podsjetnik</naslov> ... </poruka> Neispravno: <poruka> ... <naslov>Podsjetnik</poruka> ... </naslov>
Hi j e ra r h i j sk i mode l Sestrinski odnos • elementi se nalaze na istoj razini • u sljedećem primjeru element i naslov i tijelo hijerarhijski se nalaze na istoj razini. <naslov>Podsjetnik</naslov> <tijelo>Otiđi kupiti kruh</tijelo>
Obj ektni mode l Uvod • Object Oriented Data Model • logički model podataka koji prihvaća semantiku objekata podržanu u objektno-orijentiranom programiranju. • za razliku od relacijskih baza, objektno orjentirane baze u puno brže i fleksibilnije • nije ograničen unaprijed danim tipovima podataka i upitnim jezikom (kao npr. SQL) • podaci se definiraju kroz objekte, a model se implementira se kroz objektnu bazu podataka • u samom objektu je opisano njegovo ponašanje
Obj ektni mode l Osnovni koncepti objektno orijentiranog modela • Apstrakcija • bit apstrakcije je uočavanje bitnih karakteristika objekta. • Enkapsulacija • usredotočava se na implementaciju koja će dovesti do željenog ponašanja
Obj ektni mode l • Modularnost • koncept povezan isključivo sa samim programom. Sastoji se od formiranja modula koji se mogu provoditi odvojeno i imaju dobro definirane veze prema drugim modulima • Hijerarhija • Hijerarhija se korist kada je broj apstrakcija u domeni toliki da je njima teško upravljati
Obj ektni mode l Primjeri objektnih modela • ODGM objektni model - podržava samo binarne veze tj. veze između samo dva tipa objekta • ODL (Object Definition Language) - služi za definiranje strukture objektnog modela • OQL (Object Query Language) - jezik standardan za objektno orijentirane baze koji se modelira poslije SQL-a
Obj ektni mode l Osnove objektnog modela • Objekt • Struktura • Atribut • Subjekt • Servis
Obj ektni mode l Objekt • osnovni pojam objektnih modela. • predstavlja element, odnosno cjelinu koja se može samostalno promatrati i obrađivati • apstrakcija je nečega u problemskoj domeni o čemu se prikupljaju podaci i što sadrži vrijednost svojih atributa (obilježja) i svojeg ponašanja • objekti međusobno međudjeluju
Obj ektni mode l • Svaki objekt ima više atributa koji ga karakteriziraju (npr. objekt Osoba ima atribute primjerice Ime, Prezime, DatumRođenja i slično) • Svi slični objekti imaju isti skup atributa različitih vrijednosti i pripadaju jednoj klasi • Ponašanje objekta se opisuje operacijama koje se nazivaju servisi • U modelu entiteti-veze, za razliku od objekata, entiteti nemaju opis ponašanja (taj je opis dio modela procesa)
Obj ektni mode l • dijelovi objekta • Identitet – svaki objekt ima identifikator koji se ne mijenja • Tip (klasa) – određuje strukturu i ponašanje objekta • Vrijednost (stanje) – objekt ima određeno stanje dano vrijednostima atributa i postojećih veza s drugim atributima
Obj ektni mode l VEZE IZMEĐU OBJEKATA • linkovi • aktivni objekti - vrše operacije nad drugim objektima dok oni miruju • serveri - ne vrše operacije nad drugim objektima već se operira nad njima • agenti objekti - vrše operacije nad drugim objektima,ali se operacije vrše i nad njima • agregacija - jedan objekt je dio drugog
Obj ektni mode l VEZE IZMEĐU KLASA • klasa je opis jednog ili više objekata koji imaju isti skup atributa i jednak opis ponašanja, tj. nacrt objekata. • Asocijacija - jedna klasa koristi usluge druge klase tako što sadrži pokazivače na objekte druge klase • Naslijeđivanje - jedna klasa naslijeđuje strukturu i ponašanje druge klase ili više njih • Agregacija- jedna klasa sadrži bilo samo objekte ili samo pokazivače druge klase • Korištenje - jedna klasa koristi usluge druge klase
Obj ektni mode l Struktura • Objekti grade slične strukture kao i entiteti • U raspoznavanju strukture objekata koriste se principi apstrakcije: • generalizacija/specijalizacija (Gen-Spec) • agregacija
Obj ektni mode l Generalizacija
Obj ektni mode l Agregacija
Obj ektni mode l Atribut • stanje svakog objekta je opisano vrijednostima njegovih atributa • za razliku od objekata koji su stabilni, vrijednost njihovih atributa se mijenja servisima definiranim nad objektima • preporuča se da svaki atribut ima samo jednu vrijednost jer se tako dobivaju jednostavniji modeli • Atributi s više vrijednosti eliminiraju se iz modela uvođenjem novog objekta i uspostavom veze novog i postojećeg objekta