Model podataka
Osnovu IS čini dobro projektovana BP, jer ona predstavlja fundamentalne, stabilne, karakteristike sistema, objekte u sistemu, njihove atribute i njihove međusobne veze. Tehnologija BP je znatno izmenila i unapredila metodologiju razvoja IS. IS treba da reflektuje ponašanje realnog sistema, da omogući da se preko njega sagleda stanje realnog sistema i na osnovu toga donesu neke odluke koje će taj sistem voditi ka ostvarivanju postavljenih ciljeva. IS treba da bude model realnog sistema, a razvoj IS se u velikoj meri svodi na nalaženje odgovarajućeg modela realnog sistema. Sistem se najopširnije definiše kao skup objekata (entiteta) i njihovih megusobnih veza. Objekti u sustemu mogu da budu neki fizički objekti, koncepti, događaji i drugo, sve što neko ko modeluje realni sistem proglasi za objekat. Kod definisanja sistema najvažnije je definisati granice sistema, odnosno skup objekata koji predstavlaju posmatrani sistem. Sve izvan granica sistema naziva se okolina sistema.
Dejstvo okoline opisuje se preko ulaza u sistem, a odgovarajući odziv sistema, odnosno dejstvo sistema na okolinu preko njegovih izlaza. Stanje sistema se definiše kao skup informacija o prošlosti i sadašnjosti sistema koji je potreban da bi se, pod dejstvom bdućih poznatih ulaza, mogli odrediti budući izlazi. Stanje sistema opisuje fundamentalne karakteristike sistema, u jednom trenutku vremena ono predstavlja skup njihovih međusobnih veza i skup vrednosti njihovih atributa u tom trenutku vremena. Pošto je IS model realnog sistema u kome deluje, postupak projektovanja IS se svodi na neku vrstu modelovanja realnog sistema. Intelektualni alati pomoću kojih se opisuje (modeluje) sistem kao skup objekata, njihovih atributa i njihovih međusobnih veza, se nazivaju modeli podataka. Model podataka je osnov za izgradnju SUBP.
Ako se podsetimo da je podatak nosilac informacije, a da je informacija protumačeni podatak možemo sa sigurnošću tvrditi da krajnju interpretaciju podataka iz BP daje korisnik IS koristeći odgovarajuće programe ili upite. Interpretacija podataka se vrši na osnovu strukture podataka, semantičkih ograničenja na njihove vrednosti i preko operacija koje se nad podacima mogu izvršiti. Prema ovim definicijama svaki model podataka treba da čine sledeće komponente: Struktura modela, odnosno skup koncepata za opis objekata sistema, njihovih atributa i njihovih međusobnih veza; Ograničenja na vrednost podataka u modelu koja u svakom trenutku posmatranja moraju biti zadovoljena. Ova ograničenja se obično nazivaju statisčkim pravilima integriteta baze; Operacije nad konceptima strukture preko kojih je moguće prikazati i menjati vrednosti podataka u bazi; Dinamička pravila integriteta kojim se definiše osnovno dinamičko ponašanje modela. Dinamičko pravilo integriteta se može predstaviti kao <OPERACIJA, Akcija Ograničenje,>.
Savremeni modeli podataka
Osnovni problem u modelovanju realnih sistema je složenost sistema. U realnom sistemu postoje milioni objekata, njihovih složenih veza i njihovih atributa. Opšti metodološki postupak za savlađivanje složenosti u opisu sistema je apstrakcija.
Apstrakcija je kontrolisano i postepeno uključivanje detalja u opis sistema, odnosno “sakrivanje” detalja u opisivanju sistema.
U modelima podataka koriste se sledeće apstrakcije:
· Tipizacija (klasifikacija) objekata, odnosno podataka. Objekti koji imaju isti skup osobina (atributa i veza) i isto dinamičko ponašanje mogu se predstaviti tipom ili klasom.
· Generalizacija je apstrakcija u kojoj se skup sličnih tipova objekata predstalja opštijim generičkim tipom odnosno nadtipom. Slični su oni tipovi objekata koji imaju neke zajedničke osobine i ponašanje.
· Agregacija je apstrakcija u kojoj se skup objekata i njihovih međusobnih veza tretira kao novi, jedinstveni, agregirani tip.
Savremeni modeli podataka-MOV, RM, OM
Modele podataka čine sledeći modeli:
· Model objekti-veze (MOV);
· Relacioni model (RM) i
· Objektni model (OM)
O ovim modelima će detaljno, kasnije biti još reči.
Model Objekti i Veze -MOV
Osnovni koncepti za modeliranje po metodologiji Model Objekti i Veze su preuzeti iz opšte definicije sistema. Sistem se posmatra kao skup objekata, njihovih međusobnih veza i njihovih atributa.
Objekti imaju svoja svojstva koja se iskazuju preko atributa i veza prema drugim objektima.
Da objasnimo: Predmet ima svoje atribute Naziv i BrojCas i veze Predaje sa Objektom Nastavnik i Slusa sa objektom Student. Pored toga veza Prijava ovog objekta i objekta Student apstrahovana je u agregaciju Prijava. Svaku vezu čine dva preslikavanja: Vezu Slusa čine preslikavanja A:Student à Predmet i B:Predmet à Student. Kardinalnost ovih preslikavanja detaljnije opisuje vezu: jedan Student sluša najmanje 0 a najviše M (više) predmeta, a 1 Predmet sluša najmanje 0 a najviše M studenata.
Naravno sada se samo upoznajemo u načelu sa ovom metodologijom a detaljna razmatranja će doći u narednim nastavnim jedinicama.
Model Relacioni model -RM
U Relacionom modelu (RM) sistem se predstavlja preko skupa tabela (relacija).
Tabele predstavljaju prvenstveno tipove objekata, a zatim i neke veze u modelu. Kolone predstavljaju atribute objekata. Vrste predstavljaju pojavljivanje objekta, odnosno veza. Jedan ili više atributa jedinstveno identifikuju jednu vrstu tabele i taj atribut se naziva ključ relacije. U opisu strukture modela naziv tabele se piše ispred zagrade, atributi tabele u zagradi a primarni ključ tabele se podvlači.
Objektni model OM
U Objektnom modelu objekat se definiše kao entitet koji je sposoban da čuva svoja stanja i koji okolini stavlja na raspolaganje skup operacija preko kojih se tim stanjem pristupa.
Stanje objekta predstavlja se vrednostima svojih osobina: atributa objekata, i njegovih veza sa drugim objektima u sistemu. U Modelu Objekti i Veze, u Relacionom Modelu i njihovim prethodnicima Baza Podataka je u osnovi statički koncept koji predstavlja stanje celokupnog sistema u jednom trenutku vremena.
U Objektnom Modelu stanje je karakteristika pojedinih objekata. Stanje se “učauruje” u objekte koji drugim objektima u sistemu i okolini stavlja na raspolaganje tzv. “interfejs”, odnosno podskup svojih operacija koja ta stanja menjaju i transformišu u odziv objekta.
Osnovni koncepti OM prikazuju se na već poznatom primeru sa prethodnih slajdova.
Deo za specifikaciju naziva klase (class Student, na primer), naziva se skup pojavljivanja objekata klase koji će se čuvati u bazi (extend studenti) i ključa preko koga se identifikuje jedno pojavljivanje.
Deo za specifikaciju naziva klase (class Student, na primer), naziva se skup pojavljivanja objekata klase koji će se čuvati u bazi (extend studenti) i ključa preko koga se identifikuje jedno pojavljivanje u posmatranom skupu pojavljivanja (key BrojInd).
U ovom delu šematskog prikaza klase definiše se i nadtip date klase, ako postoji.
Specifikaciju atributa čine ključna reč attribute, tip atributa (short, string, enum, date...) i naziv atributa (BrojInd, Ime,...).
Veze se specifikuju preko preslikavanja koja ih čine.
Operacije se specifikuju preko tipa rezultata koje daju i naziva operacije (na primer boolean izostavljen) i argumenata koji mogu biti ulazni (in), izlazni (out) ili ulazno-izlazni (inout) i za koje se zadaje tip i naziv (in short ŠifPred). Pored toga, uz operaciju se (preko ključne reči raises) mogu zadati i “izuzeci” koji se okidaju kada u izvršenju operacije dođe do neke greške.
Model podataka-umesto zaključka
Model objekti-veze je semantički bogat model, prvenstveno namenjen za specifikovanje statičke strukture baze podataka i osnovnih (strukturnih) dinamičkih ograničenja. Za njega nepostoje komercijalno raspoloživi SUBP. Koristi se za projektovanje baze podataka.
Relacioni model je, zbog svoje strukture i jednostavnog jezika BP (SQL), još uvek najpopularniji model podataka. Jednostavna struktura modela i jednostavne operacije nad njom pogodni su samo za sisteme sa jednostavnim objektima. Na relacionom modelu je zasnovan najveći broj komercijalnih sistema.
Objektni modeli podržavaju modelovanje bilo kakvih, pa i veoma složenih struktura. Apstrakcije koje podržava čine ga veoma pogodnim za modelovanje realnih sistema. Apstrakcije učaurenja, potpuno odvajaju specifikaciju od implementacije objekata i omogućavaju znatno jednostavnije održavanje softvera i ponovno korišćenje već izrađenih softverskih komponenti.