se koriste za projektovanje modela realnog sistema. Formalno, model podataka je matematič ka apstrakcija izražena uređenom trojkom (S,I,O): n S – strukturalna komponenta modela, obezbeđuje informacije o statič kim osobinama realnog sistema, tj. o njegovoj strukturi. n I – integritetna komponenta modela, pravila ponašanja (poslovanja) sistema. n O – operacijska komponenta modela. Ovde se opisuju dinamič ke osobine realnih sistema, i odslikavaju promene u realnom sistemu. Strukturalna komponenta MP
Ova komponenta obezbeđuje informacije o
strukturi, tj. o statič kim osobinama realnog sistema. Sastoji se od skupa primitivnih koncepata i skupa pravila za izgradnju složenijih koncepata. Koncept je apstraktna predstava jedne klase delova realnog sveta (subjekata, objekata, događaja...) U vezi sa strukturalnom komponentom č esto koristimo dva pojma – pojam intenzije i ekstenzije. Slič no kao i kod skupova: intenzija je definicioni opis skupa (uslovi koje elementi treba da ispune da se nađu u skupu), dok je ekstenzija jedna od mogućih pojava skupa datog nabrajanjem elemenata. Integritetna komponenta MP Pravila ponašanja (poslovanja) se iskazuju preko: n ogranič enja mogućih vrednosti zajednič kih osobina skupa č inilaca (ocena studenta je broj ne veći od 10 i ne manji od 5, ocena manja od 6 se ne evidentira); n ogranič enja veza između konkretnih č inilaca (jedan student može imati najviše jednu konač nu ocenu iz jednog predmeta, jedan nastavnik može vršiti nastavu na više predmeta i obrnuto); n ogranič enja odnosa između realnog č inioca i njemu pridružene vrednosti zajednič ke osobine (svaki student ima jedan broj indeksa, koji je jedinstven). Baza podataka mora biti usaglašena sa pravilima ponašanja u realnom sistemu, i zato ova ogranič enja ugrađujemo u bazu prilikom njene realizacije. Kada je ona usaglašena sa realnim ogranič enjima, kažemo da je konzistentna. Pregled razvoja MP Tokom poslednjih tridesetak godina razvijen je veliki broj modela podataka. Neki od njih su bili samo neuspeli pokušaji, drugi su zaživeli i teoretski i praktič no. Najbitniji MP (hronološki gledano): n mrežni model n hijerarhijski model n relacioni model n model entiteta i poveznika n funkcionalni model n model semantič kih hijerarhija n semantič ki model n objektno orijentisani model n logič ki model. Pregled razvoja MP Mrežni i hijerarhijski model osmišljeni su u drugoj polovini šezdesetih godina, a prvi SUBP na osnovu ovih modela nastali su poč etkom sedamdesetih. Doneli su niz loših osobina: mali porast produktivnosti, nedovljno razdvajanje logič kih od fizič kih aspekata BP, kompleksnost struktura podataka, korišćenje proceduralnih i navigacionih programskih jezika. Prvi model koji je ponudio dobre performanse SUBP i zaobišao loše osobine pomenutih implementacija jeste RELACIONI MODEL PODATAKA, koji je i danas u upotrebi, najvećim delom. Nedostatak relacionog modela je taj što se ipak ne poklanja dovoljna pažnja semantici (smislu, znač enju) podataka, zbog č ega je korisniku teško da ovakve modele poveže sa realnim sistemom. Taj nedostatak ispraviće semantič ki bogatiji MP, poput ER modela podataka. Pregled razvoja MP Konkretni SUBP zasnovan na ER (č esto nazivan i PMOV, prošireni model objekti-veze) modelu ne postoji, nego se vrši prevođenje iz ovog semantič ki bogatijeg u semantič ki siromašniji relacioni model. Za geometrijsku reprezentaciju koncepata modela koriste se grafovi (intenzija) i tabele (ekstenzija modela). Iako je ERM kompletan (postoje opisi sve tri komponente MP), sam model je pre svega namenjen projektovanju statič kog modela – zbog dijagramskog prikaza i bogate semantike. Model je smisaono (semantič ki) bogat ako se njegovim konceptima mogu modelirati praktič no svi realni sistemi. ER model podataka [ entity-relationship data model ] Strukturalna komponenta ERM Realni svet se u ERM prikazuje pomoću dva koncepta: ENTITET (lat. ens, entis – biće, bitnost) – nešto što se može jednoznač no identifikovati, jedinica posmatranja. Primer: student Maja Ristić sa brojem indeksa 0335 je entitet. Predmet Baze podataka je entitet. Polaganje ispita iz BP dana 07.06.2003. je takođe entitet. Dakle, svaki realni subjekat, objekat, pojava, događaj. POVEZNIK – veza između dva ili više entiteta. Primer: “student Jovan Božić sluša predmet BP”, “student Momir Aćin položio predmet BP”; poveznik može biti i između više entiteta (student NN položio predmet XX na ispitu održanom 07.06.2003) Tipovi entiteta i poveznika. Obelež ja Entiteti se mogu klasifikovati u skupove slič nih entiteta. Isti entitet može pripadati različ itim klasama entiteta. Na nivou intenzije, koncepti ERM su tip entiteta i tip poveznika. Oni su složeni koncepti, sa obeležjem kao osnovnim gradivnim elementom. Svi entiteti jedne klase poseduju barem jednu zajednič ku osobinu, na osnovu koje su i svrstani u datu klasu. U opštem sluč aju, taj broj zajednič kih osobina veći je od jedan. Ove osobine jesu obeležja (atributi). Označ avaju se velikim latinič nim slovima, ili mnemonikom. Tipovi entiteta i poveznika. Obelež ja Obeležje koje se dalje ne može (ili ne želi) dekomponovati zove se elementarno obeležje. Skup, niz ovakvih obeležja je složeno obeležje. Primer: n elementarno obeležje – nosivost, boja (kamiona) n složeno obeležje – ADRESA = {mesto, ul, broj}; DATUM = {dan, mesec, godina} Svakom obeležju odgovara jedan skup svih mogućih vrednosti koje to obeležje u konkretnom sluč aju može imati. Taj skup zovemo domen obeležja (dom(obelezje)) Domen može posedovati sopstveno ime, i možemo ga pridružiti većem broju obeležja. Tipovi entiteta i poveznika. Obelež ja Primer: n obeležje BOJA_AUTOMOBILA: dom(BOJA_AUTOMOBILA) = {crvena, žuta, plava...} Sa tač ke gledišta zadataka informacionog sistema, nisu sva obeležja klase entiteta podjednako važna. Od obeležja bitnih za realizaciju zadataka informacionog sistema gradi se MODEL realne klase entiteta – TIP ENTITETA. Kao i svaki model, i tip entiteta je samo približna slika klase entiteta realnog sistema. Primer: n STUDENT (BRI, IME, PREZIME, NAZFAKUL) Tipovi entiteta i poveznika. Obelež ja Skup poveznika je relacija između dva ili više skupova entiteta. Između dva ista skupa entiteta može postojati više različ itih skupova poveznika. Ako poveznik povezuje entitete jednog skupa, onda je rekurzivan. Dijagrami tipova entiteta i tipova poveznika Model statič ke strukture realnog sistema se po pravilu predstavlja tzv. ER dijagramima. Tip entiteta: pravougaonik sa upisanim nazivom tipa entiteta; Tip poveznika: romb sa upisanim nazivom tipa poveznika Veze se crtaju neusmerenim potezima. Skupovi vrednosti (domeni) se prikazuju kao ovali sa upisanim nazivom domena i povezuju orijentisanim potegom sa odgovarajućim tipom entiteta/ /poveznika. Orijentacija potega je prema ovalu. Naziv obeležja se upisuje na na potegu samo ako se ime obeležja razlikuje od imena domena. Dijagrami tipova entiteta i tipova poveznika Dijagrami se crtaju do dva nivoa detaljnosti: nivo detaljnosti naziva i nivo detaljnosti obeležja. Prvi su pregledniji, drugi informativniji. Ukoliko između dva tipa entiteta postoji više poveznika, moguće uloge pojedinih pojava tipa entiteta ispisujemo uz odgovarajuće potege. Ekstenzija ERM Ekstenzija se predstavlja putem tabela, slič no kao u relacionom modelu podataka. Svakom tipu entiteta ili poveznika odgovara jedna tabela sa svim obeležjima u zaglavlju i podacima o entitetima u vrstama tabele. Integritetna komponenta ERM U ogranič enja spadaju: n integritet domena n kardinalnost tipa poveznika n slabi tip entiteta Integritet domena je ogranič enje svojstveno svim modelima podataka. Obič no je trojka oblika: (tip podatka, dužina podatka, uslov) Primer: n dom(ocena) = (integer, (2), <11) n dom(ocena) = (integer, (2), >5 AND <11) Nula-vrednost je specijalno ogranič enje domena – specificira se da li obeležje može imati nedefinisanu vrednost. Nula- vrednost ima jedno od sledeća dva znač enja: n postojeća, ali nepoznata vrednost, n neprimereno svojstvo. Integritetna komponenta ERM Kardinalnost tipa poveznika nastala je iz razloga što se od modela realnog sistema č esto zahteva da pruži informaciju ne samo o vezama između klasa entiteta, već i o prirodi tih odnosa. Kardinalnost se obeležava na potezima, navođenjem gornje i donje granice. Postoji i nač in obeležavanja navođenjem samo gornje granice kardinaliteta, kada se restriktivnost donje granice kardinaliteta naglašava upotrebom slabog tipa entiteta.