Professional Documents
Culture Documents
Modeli Podataka
Modeli Podataka
ProgramiranjeI_sylabus.doc emina@fit.ba
Datum: 19.10.2016.
Uvod
Od samog početka razvoja informacionih tehnologija upravljanje podacima ili
manipulacija podataka je jedan od njenih najzanimljivijih i najznačajnijih segmenata.
Potrebe za što sveobuhvatnijom obradom podataka, jednostavnom manipulacijom, te što
bržim i sigurnijim pristupom podacima, dovele su do razvoja nekoliko modela podataka i
čitavog niza programskih paketa za upravljanje podacima (sistemi za upravljanje bazama
podataka). Namjera ovog kursa je da korisniku pruži uvid u teoretske postavke danas
najdominantnijeg, relacionog modela podataka, te da ga upozna s bitnim pojmovima s
kojima se susreću svi korisnici savremenih sistema za upravljanje bazama podataka.
1. MODELI PODATAKA2
Model podataka je matematička apstrakcija, koja se koristi za projektiranje
modela realnog sistema. Model podataka (MP) treba da omogući izgradnju odgovarajućeg
informacijskog sistema i njegove baze podataka. Također, MP treba da osigura
informacije o statičkim osobinama, ugrađenim ograničenjima i dinamičkim osobinama.
Klasa
Klasa je skup sličnih entiteta. Kriterij sličnosti imaju značajnu ulogu u definiranju
klase entiteta. Na primjer, u zavisnosti od usvojenog kriterija sličnosti, dva entiteta se
mogu nalaziti u istoj ili u dvije različite klase. Isto tako, isti entitet može pripadati
različitim klasama.
Primjer 1.1.:
Studenti različitih fakulteta istog univerziteta mogu pripadati klasama entiteta studenata
odgovarajućih fakulteta ili klasi entiteta studenata univerziteta.
2
Pavle Mogin, Uvod u baze podataka, FTN-Institut za industrijske sisteme,1989
1
Baze podataka I:::Predavanje
http://student.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc emina@fit.ba
Svakom od obilježja odgovara jedan skup svih mogućih vrijednosti koje to obilježje u
konkretnim slučajevima može imati. Taj skup vrijednosti se naziva domena obilježja.
Primjer 1.2.:
Obilježje (atribut) boje automobila:
Dom (Ocjena)={5,6,7,8,9,10}
Također, obilježja mogu biti i izvedena ili derivirana ukoliko se vrijednosti obilježja
dobiju primjenom nekog algoritma ili operatora na vrijednosti drugih obilježja. Od
obilježja bitnih za realizaciju zadataka informacionog sistema gradi se model realne klase
entiteta. Model klase entiteta naziva se tipom entiteta.
Primjer 1.3.:
Tip entiteta Student (broj indeksa, ime, prezime, naziv fakulteta) predstavlja sve
studente na univerzitetu.
Ključ
(A1,...,An) (e1)(A1,...,An)(e2).
Znači, mora postojati x {A1,...,An} takav da je x(e1) x(e2). Obilježje x naziva se ključ
entiteta.
Jedan tip entiteta može imati više ključeva. Nazivaju se ekvivalentnim. Jedan od
ekvivalentnih ključeva se bira za primarni. Sekundarni ključ tipa entiteta predstavlja
bilo koji neprazan podskup njegovih obilježja koji ne predstavlja primarni ključ.
Primjer 1.4.:
Tip entiteta Student (broj indexa, ime, prezime, JMBG) ima dva kandidata za ključ: index
i matični broj. Ukoliko se radi o informacionom sistemu fakulteta onda je logično izabrati
broj indexa za primarni ključ, a ako se radi o informacionom sistemu stanovništva bit će 2
Baze podataka I:::Predavanje
http://student.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc emina@fit.ba
izabran matični broj. Pretraživanja se rade na osnovu zadane vrijednosti nekog obilježja i
ta zadana vrijednost se naziva argument pretraživanja.
Primjer 1.5.:
Kao model relacije između skupa studenata, pri čemu je student (BRIX, IME, PRZ, BPIS),
gdje BRIX je broj indexa, IME predstavlja ime studenta, PRZ je prezime studenta, a BPIS
je broj položenih ispita, i skupa predmeta OZP (oznaka predmeta) i NAP (naziv
predmeta) može poslužiti slijedeća imenovana dvojka:
Sluša(student, predmet)
Pojam intenzije se koristi za definicioni opis nekog skupa. Intenzija definira skup
navođenjem uvjeta koje njegovi elementi treba da zadovolje.
3
Baze podataka I:::Predavanje
http://student.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc emina@fit.ba
Primjer 1.6.:
Na fakultetu pravila ponašanja mogu diktirati sljedeća ograničenja:
3. jedan student može imati najviše jednu ocjenu iz jednog predmeta (ovo je
ograničenje veze između tri činioca – student, ocjena, predmet),
4. jedan nastavnik može predavati više predmeta, a jedan predmet može izvoditi više
nastavnika.
4
Baze podataka I:::Predavanje
http://student.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc emina@fit.ba
Ovi sistemi za upravljanje bazama podataka nisu dali očekivane rezultate jer nisu bili
dovoljno razdvojeni logički i fizički aspekti baze podataka, strukture podataka su bile
suviše kompleksne, korištenje proceduralnog i navigacionog jezika nije bilo
zadovoljavajuće.
Mrežni model i hijerarhijski model su se pojavili 60.-tih godina prošlog vijeka, dok
se relacioni model pojavio 1970. godine i počeo se masovno koristiti zbog svojih
prednosti, kao što su: formalna osnova, homogenost, definirani skup algebarskih
operacija i jezik zasnovan na relacionoj algebri i kalkulusu. Nedostaci relacionog modela i
nizak semantički nivo, su uzrokovali pojavu semantičkih modela podataka, ER (entitet -
relacija) modela krajem sedamdesetih godina.
Danas su osnovne tendencije usmjerene objektno orijentiranom modelu podataka
(OOMP) i sistemima za upravljanje bazama podataka objektno orijentiranim. OO modeli 5
Baze podataka I:::Predavanje
http://student.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc emina@fit.ba
3. Fizički model podataka: koristi se jako malo, jedan od njih je memorija elemenata.
Neki autori definiraju ove modele kao „primitivni modeli podataka“.
4. Složeni objekti: novi definirani objekti baze podataka putem agregacije i asocijacije,
koji za osnovu uzimaju postojeće objekte.
5. Generalizacija: radi se o relacijama podklasa među objektima, dio karakteristika
različitih entiteta mogu biti zajedničke jednom entitetu.
U ovom modelu jedan registar se može ponoviti na više mjesta što uzrokuje slijedeće
probleme:
Inkonzistenciju3
Ovi dijagrami su slični strukturi mrežnog modela podataka. Razlika je u tome što su
registri u mrežnom modelu organizirani u strukturu grafa dok su u hijerarhijskom modelu
organizirani u strukturu stabla (nema petlji i relacije su tipa nadređeni - podređeni).
Primjer 1:
KLIJENT
RAČUN
INSTANCA
STABLO
Slika 1: Primjer 1
8
Baze podataka I:::Predavanje
http://student.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc emina@fit.ba
PREDUVJET(PREDUVJET_ID)
KURS
KURS_ID NASLOV
PREDUVJET TERMIN
NASTAVNIK POLAZNIK
Slika 2: Primjer 2
Baza podataka ima osnovni slog KURS koji ima dva podstabla TERMIN i PREDUVJET. Slog
podstablo PREDUVJET je root-only tj. nema svoje podslogove, a slog TERMIN ima dva
child-sloga NASTAVNIK i POLAZNIK. Za svaku pojavu parent sloga postoji n child
slogova, gdje vrijedi (n≥0).
9
Baze podataka I:::Predavanje
http://student.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc emina@fit.ba
Ovdje se može uočiti razlika u odnosu na relacijski model: podaci koji su u relacijskoj
bazi podataka povezani pomoću eksternih (stranih) ključeva, u hijerarhijskoj bazi
podataka su povezani preko veze roditelj-dijete (parent-child). Dakle veza između
slogova KURS i TERMIN nije definirana posebnim poljem KURS_ID (koje bi predstavljalo
strani ključ), već vezom KURS-TERMIN.
- operator za lociranje pojedinog stabla u bazi, tj. operator za lociranje osnovnog root
sloga za pojedino stablo,
- operator za pomicanje s tekućeg stabla na slijedeće,
- operator za pomicanje sa sloga na slog unutar stabla, hijerarhijski prema gore ili
prema dolje,
- operator unosa podataka na točno specificirano mjesto u strukturi stabla,
- operator brisanja pojedinog sloga u stablu.
Indeks
10
Baze podataka I:::Predavanje
http://student.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc emina@fit.ba
Konfiguracije
cliente-server
11
Baze podataka I:::Predavanje
http://student.fit.ba/