MRENI HIJERARHIJSKI I OBJEKTNI MODEL PODATAKA Rebeka orda
MREŽNI, HIJERARHIJSKI I OBJEKTNI MODEL PODATAKA Rebeka Čordaš Mateja Đumić Ana Nikolić Jelena Strišković
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 U V O D
r M n ž e m i d o l e
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 M re ž ni m o d e l
SLOG sadrži podatke jedne pojave entiteta sastoji se od polja koji odgovaraju atributima svako polje sadrži jednu vrijednost atributa Student Ime Prezime Br. indeksa povezuju se fizičkim vezama (engl. link) (srodne binarnim vezama modela entiteti-veze) M re ž ni m o d e 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 M re ž ni m o d e l
VEZE Tip veze: 1: 1 1: M M: 1 M: M M re ž ni m o d e l
DIJAGRAMI Veza nema atributa M re ž ni m o d e l
DIJAGRAMI Veza opisana atributima M re ž ni m o d e l
DIJAGRAMI Ternarna veza M re ž ni m o d e 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 M re ž ni m o d e l
Koriste se veze tipa jedan prema više (1: N) Veze tipa više-prema-više (N: N) nisu dopuštene zbog jednostavnosti implementacije modela Veze jedan-prema-jedan (1: 1) predstavljaju se vezama jedan-prema-više (1: N) M re ž ni m o d e l
SKUP Fizička implementacija jedino moguće veze 1: N sastoji se od dva tipa sloga povezana u skup (engl. set) Vlasnik i član skupa Nastavnik Predmet M re ž ni m o d e 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 M re ž ni m o d e 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. . . ) M re ž ni m o d e l
M re ž IMPLEMENTACIJA U RAČUNALU ni o usmjerenim grafom: m o čvorovi - tipovi zapisa, o o lukovi definiraju veze medu tipovima zapisa d o koristi pokazivače koji izravno adresiraju mjesto zapisa na e l disku o daje izvrsne povratne performanse na račun operacija poput učitavanja i reorganizacije baze podataka o program održava tekući položaj i upravlja od jednog do drugog zapisa slijedeći odnose u kojima sudjeluje zapis
i k s j i h r a r l e e j i d H mo
HIJERARHIJSKI MODEL Opisuje se skupom slogova povezanih vezama (linkovima) Struktura podataka se prikazuje i dijagramom strukture podataka (oblik stabla s ishodišnim čvorom – korijenom) H i j e ra r h i j s k i m o d e 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 jedanprema-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) H i j e ra r h i j s k i m o d e l
DIJAGRAMI Dijagram entiteti-veze (veza bez atributa) H i j e ra r h i j s k i m o d e l
HIJERARHIJSKI PRIKAZI 1: 1 1: M M: M H i j e ra r h i j s k i m o d e l
Dijagram entiteti-veze (veza sa atributom) H i j e ra r h i j s k i m o d e l
HIJERARHIJSKI PRIKAZI 1: M H i j e ra r h i j s k i m o d e l
SPAJANJE SLOGOVA H i j e ra r h i j s k i m o d e 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 H i j e ra r h i j s k i m o d e l
DIJAGRAMI Dijagram entiteti-veze (ternarna veza) H i j e ra r h i j s k i m o d e l
HIJERARHIJSKI DIJAGRAM Ternarna veza H i j e ra r h i j s k i m o d e l
TRANSFORMACIJA dijagrama entiteti – veze u više hijerarhijskih dijagrama H i j e ra r h i j s k i m o d e 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 H i j e ra r h i j s k i m o d e 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 H i j e ra r h i j s k i m o d e 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> H i j e ra r h i j s k i m o d e 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> H i j e ra r h i j s k i m o d e 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 roditeljdijete (eng. parent-child) ili sestrinskom (eng. siblings). H i j e ra r h i j s k i m o d e 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> H i j e ra r h i j s k i m o d e 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> H i j e ra r h i j s k i m o d e l
O e j b n t k m i d o l e
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 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 O bj e kt ni m o d e l
OSNOVNI KONCEPTI OBJEKTNO ORIJENTIRANOG MODELA Apstrakcija q bit apstrakcije je uočavanje bitnih karakteristika objekta. Enkapsulacija q usredotočava se na implementaciju koja će dovesti do željenog ponašanja O bj e kt ni m o d e l
Modularnost q 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 q Hijerarhija se korist kada je broj apstrakcija u domeni toliki da je njima teško upravljati O bj e kt ni m o d e 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 O bj e kt ni m o d e l
OSNOVE OBJEKTNOG MODELA Objekt Struktura Atribut Subjekt Servis O bj e kt ni m o d e 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 O bj e kt ni m o d e l
Svaki objekt ima više atributa koji ga karakteriziraju (npr. objekt Osoba ima atribute primjerice Ime, Prezime, Datum. Rođ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) O bj e kt ni m o d e l
dijelovi objekta q Identitet – svaki objekt ima identifikator koji se ne mijenja q Tip (klasa) – određuje strukturu i ponašanje objekta q Vrijednost (stanje) – objekt ima određeno stanje dano vrijednostima atributa i postojećih veza s drugim atributima klasa je opis jednog ili više objekata koji imaju isti skup atributa i jednak opis ponašanja, tj. nacrt objekata. O bj e kt ni m o d e 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 O bj e kt ni m o d e l
VEZE IZMEĐU KLASA Asocija - 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 O bj e kt ni m o d e l
STRUKTURA Objekti grade slične strukture kao i entiteti U raspoznavanju strukture objekata koriste se principi apstrakcije: q generalizacija/specijalizacija (Gen-Spec) q agregacija O bj e kt ni m o d e l
GENERALIZACIJA Natklasa se obično crta gore, a potklasa dolje Povezuju se linijom na kojoj simbol ukazuje na odnos klasa To odgovara ekskluzivnoj specijalizaciji modela entitetiveze Neekskluzivna specijalizacija dobiva se kombiniranjem više Gen-Spec struktura. O bj e kt ni m o d e l
PRIMJER O bj e kt ni m o d e l
AGREGACIJA sastav objekata između kojih vlada odnos cjeline i dijelova opisuje objekt (obično se crta gore) i njegove dijelove (crtaju se dolje) povezuju se linijom na kojoj simbol ukazuje na odnos objekata uz linije se označava broj (ili raspon) koji označava broj dijelova u cjelini. O bj e kt ni m o d e l
PRIMJER O bj e kt ni m o d e 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 O bj e kt ni m o d e l
identificirajući atributi ili implicitni identifikatori neki objektni modeli mogu razlikovati jednostavne i kompleksne objekte jednostavni objekt opisan je jednostavnim atributima a kompleksni objekt je objekt čiji atributi mogu biti i sami objekti O bj e kt ni m o d e l
Veza pojava objekata više-prema-više O bj e kt ni m o d e l
SUBJEKT predstavlja cjelinu u problemskom području velika problemska područja treba rastaviti na više manjih problemskih područja-subjekata subjekte nije potrebno dalje rastavljati jer predstavljaju čitav problem kompleksnost problema određuje kada treba uvesti više subjekata. O bj e kt ni m o d e l
SERVISI opisuje ponašanje objekta jedne klase (tj. procese nad podacima objekata) vrijednosti atributa objekata opisuju stanje objekata a servisi su sredstva za promjenu njihovih stanja definiraju se utvrđivanjem stanja objekata, potrebnih servisa, poruka potrebnih za pokretanje servisa i razradom detalja servisa O bj e kt ni m o d e l
UTVRĐIVANJE STANJA OBJEKTA Svaki objekt prolazi kroz različita stanja koja su reprezentirana vrijednostima njegovih atributa Promjena atributa može značiti promjenu stanja objekta Uočiti to stanje znači prepoznati atribute i njihove vrijednosti Primjer: kad vrijednost atributa tekućih zaliha u objektu Skladištena roba padne ispod vrijednosti atributa minimalna zaliha, objekt prelazi u stanje ''Nedostatna količina robe'' što može značiti da objekt traži izvršenje servisa Popunjavanje zaliha robe. O bj e kt ni m o d e l
UTVRĐIVANJE POTREBNIH SERVISA Postoji potreba barem za ovim servisima: q formiranje novog objekta u klasi q uspostavljanje ili raskidanje veze objekta s drugim objektom ili više njih q čitanje ili promjena atributa objekta q brisanje objekta iz klase to su implicitni servisi koji uvijek postoje O bj e kt ni m o d e l
UTVRĐIVANJE PORUKE I RAZRADA DETALJA SERVISA Primatelj porukom dobiva nalog za obavljanje određene operacije koju treba navesti u specifikaciji servisa pošiljatelja, a potpuno definirati u specifikaciji servisa primatelja utvrđivanje poruke To znači dokumentirati ga jednom od tehnika za prikaz logike servisa razrada detalja servisa O bj e kt ni m o d e l
IZRADA OBJEKTNOG MODELA sličnosti s izradom modela entiteti-veze prikupljanje i analiza informacija obavlja se po istim principima, ali s naglaskom na tome da se zahtjeva ''objektno'‘ osnovna razlika između ta dva modela je u definiranju servisa q objektni model je bogatiji jer opisuje i procesnu komponentu IS pa predstavlja konceptualni opis cijelog sustava q O bj e kt ni m o d e l
AUTOCAD I CORELDRAW AUTOCAD Najpoznatiji CAD produkt 2 D te 3 D projektiranje Velika preciznost Corel. DRAW Uređivanje vektorske grafike Corel Corporation
UKRATKO – HIJERARHIJSKI MODEL Slogovi koji se sastoje od polja Skup slogova povezani vezama – čvorovi Hijerarhijski odnos među slogovima 1: M, 1: 1 veze XML ga koristi Koncept hijerarhijskih baza podataka danas je napušten
UKRATKO – MREŽNI MODEL Proširenje hijerarhijskog modela Sastoji se od niza slogova međusobno povezanih vezama Veze 1: M, M: M, 1: 1 Nedostatak: zahtijev da se unaprijed predvide veze među podacima “svrgnuo” ga je relacijski model Z A K L J U Č A K
UKRATKO – OBJEKTNI MODEL Prednost: nije ograničen unaprijed danim tipovima podataka Osnovni koncepti objektno orijentiranog modela: Apstrakcija Enkapsulacija Modularnost Hijerarhija Osnove objektnog modela: Objekt Struktura Atribut Subjekt Servis
ZAKLJUČAK RELACIJSKI
LITERATURA Branimir Dukić: Baze podataka i poslovni procesi, Osijek, 2010. M. Varga: Baze podataka; Konceptualno, logičko i fizičko modeliranje podataka, Zagreb, 1994. http: //hr. wikipedia. org/wiki/XML - 02. 01. 2011. u 15: 56 http: //oliver. efos. hr/~bdukic/pdf/Hijerarhijski. pdf - 02. 01. 2011. u 16: 08 www. mathos. hr/~valeksic/mrezni%20 model%20 podataka. ppt - 02. 01. 2011. u 16: 09 http: //hr. wikipedia. org/wiki/Auto. CAD - 02. 01. 2011. u 16: 17 http: //hr. wikipedia. org/wiki/Corel. DRAW - 02. 01. u 16: 29 L I T E R A T U R A
GRAFOVI I SLIKE preuzete iz knjige: M. Varga: Baze podataka; Konceptualno, logičko i fizičko modeliranje podataka, Zagreb, 1994. L I T E R A T U R A
- Slides: 67