BAZE PODATAKA - vggs.rsvggs.rs/geodetski_odsek/predmeti_ispiti/informati... · MODELI BAZE PODATAKA...
Transcript of BAZE PODATAKA - vggs.rsvggs.rs/geodetski_odsek/predmeti_ispiti/informati... · MODELI BAZE PODATAKA...
BAZE PODATAKAMODELOVANJE
PROSTOR PROBLEMA(IZ REALNOG SVETA)
PROSTOR PROBLEMA(IZ REALNOG SVETA)
Ulaz
PROSTOR PROBLEMA(IZ REALNOG SVETA)
Ulaz
PROGRAMI
ZA
ODRŽAVANJE
PROSTOR PROBLEMA(IZ REALNOG SVETA)
Ulaz
PROGRAMI
ZA
ODRŽAVANJE
PROSTOR PROBLEMA(IZ REALNOG SVETA)
Ulaz
PROGRAMI
ZA
ODRŽAVANJE
BAZA
PODATAKA
PROSTOR PROBLEMA(IZ REALNOG SVETA)
Ulaz
PROGRAMI
ZA
ODRŽAVANJE
BAZA
PODATAKA
PROSTOR PROBLEMA(IZ REALNOG SVETA)
Ulaz
PROGRAMI
ZA
ODRŽAVANJE
PROGRAMI
ZA
IZVEŠTAVANJE
BAZA
PODATAKA
PROSTOR PROBLEMA(IZ REALNOG SVETA)
Ulaz
PROGRAMI
ZA
ODRŽAVANJE
PROGRAMI
ZA
IZVEŠTAVANJE
BAZA
PODATAKA
PROSTOR PROBLEMA(IZ REALNOG SVETA)
Ulaz
Informacioni sistem
PROGRAMI
ZA
ODRŽAVANJE
PROGRAMI
ZA
IZVEŠTAVANJE
BAZA
PODATAKA
PROSTOR PROBLEMA(IZ REALNOG SVETA)
Izlaz 1
Izlaz 2
Ulaz
Informacioni sistem
Cilj svakog modela je da učini da je: Izlaz1 ~ Izlaz2
PROGRAMI
ZA
ODRŽAVANJE
PROGRAMI
ZA
IZVEŠTAVANJE
BAZA
PODATAKA
PROSTOR PROBLEMA(IZ REALNOG SVETA)
Izlaz 1
Izlaz 2
Ulaz
Informacioni sistem
Konceptualno modelovanje
Modelovane je postupak kojim se prostor problemma iz realnog
sveta svodi na određeni broj podataka
Podaci su apstrakcija realnosti - sredstva za kodiranje osobina
objekata iz realnog sveta
Izbor (selekcija) – izdvajanje bitnih objekata
Dodeljivanje imena (za svaki ojekat, vezu, atribut)
Klasifikacija – nehomogenih objekata u homogene klase i tipove
entita
Konceptualni model sadrži:
– Strukturu podataka – statički opis stanja realnog sveta
(podaci i odnosi između podataka)
– Operacije – izražavaju dinamiku iz realnog sveta
– Ograničenja (constraints) – Ograničenja u modelu koja su
posledica ograničenja iz realnog sveta
Model ne propisuje fizički oblik u kome se podaci čuvaju
Šema je opis nekog skupa podataka, korišćenjem datog
modela podataka
Entiteti
Pod entitetom se podrazumeva sve što se može jednoznačno
odrediti, identifikovati i razlikovati
Svaki entitet ima svoje osobine – atribute
Domen atributa je skup svih mogućih vrednosti koje atribut
može poprimiti (slično tipu promenljive u programiranju)
Primarni ključ je jedan ili više atributa čija vrednost
jednoznačno određuje primerak entiteta
Instance
Primer entiteta:
STUDENT, FAKULTET, RADNIK, PROIZVOD, RAČUNAR, ISPIT, UPIS, itd.
Instance su pojedinačna pojavljivanja entiteta
– Instanca – Zapis u tabeli
– Npr. u entitetu STUDENT instanca je konkretan student
• Pešić Marina, Beograd, Jurija Gagarina 68, 11070 Novi Beograd
• Jeftić Darko, Mitra Rakića 19, 11050 Beograd
• ....
Atributi
Atribut je zajednička osobina koju poseduju svi entiteti jedne klase
Svojstva objekta se opisuju preko atributa
Primer:
– Mogući atributi entiteta STUDENT:
• BrInd, Ime, Prezime, Visoka škola, Smer, Adresa, Status, ...
Broj atributa nije fiksan
Relevantne atribute definiše kompetentna osoba
– U skladu sa željenim zahtevima (informacijama)
– Od toga zavisi upotrebljivost dobijenih informacija
Atributi svih entiteta poprimaju određene vrednosti
Primer: Vrednosti atributa entiteta STUDENT (jedan entitet iz klase
studenata):
– BrInd: 2/07
– Ime: Marina
– Prezime: Pešić
– Visoka škola: Građevinsko-geodetska
– Smer: geodezija-geomatika
– Adresa: Jurija Gagarina 68, 11070 Novi Beograd
Domen – skup dozvoljenih vrednosti koje može da poprimi jedan
atribut
Obeležavanje domena:
– Dom(Nastavnik)={saradnik, predavač, viši predavač, profesor}
Premalo atributa:
– verodostojnost mala,
– model jednostavan za predstavljanje i analizu,
– ograničen je broj upotrebljivih informacija
Previše atributa:
– verodostojnost odlična,
– kompleksnost velika,
– manipulacija podacima teško izvodljiva,
– dobijaju se konfuzne informacije.
Zadatak projektanta: prepoznavanje prave mere pri modelovanju (izbor
relevantnih atributa)
Prosti i složeni atributi
– Prosti atributi:
• Visina (cm),
• Ocena,
• Smer itd.
– Složeni atributi:
• Adresa (Ulica, Broj, Mesto, ...)
• DatumRođenja (Dan, Mesec, Godina)
Entiteti i atributi
Nekada je teško razlikovati entitete od atributa
Npr: Adresa može biti entitet i atribut
Ako je adresa entitet:
– Prednost – višestruka upotreba istog koda
– Mana – Različite su potrebe za adresama (kupci,
zaposleni, dobavljači itd.)
• Može se desiti da se neprikladne forme za unos
primenjuju na svim mestima – npr. nisu iste potrebe
kod kupaca i zaposlenih
Domen
Domen je uži pojam od tipa podataka
Ulica i Prezime su tipa Text,
– ali su im domeni potpuno različiti
Npr: Naučno zvanje Text,
– ali taj tekst može biti iz skupa {docent, vanredni profesor, redovni profesor}
Za definiciju domena nisu dovoljna ograničenja
– Npr: Poštanski broj je petocifren, ali nisu svi petocifreni brojevi poštanski
brojevi
Domeni mogu biti kompatibilni po tipu
– Moguće je porediti atribute definisane u tim domenima
• Npr: Relacije: Zaposleni i Prodavci
– Iz uslova: Id_Zaposleni=Id_Prodavci može se dobiti
nova informacija
Ne može se vršiti kombinovanja relacija po atributima koji
nemaju iste domene – dobija se besmislena informacija
– Većina DBMS-ova to omogućava
Veze između entiteta
Veze, odnosi - relationship
U realnom sistemu objekti nisu međusobno izolovani
– objekti se nalaze u međusobnoj interakciji
Npr. veza “studenti polažu predmet”
– Između entiteta Student i Predmet postoji veza
Student_Polaže_Predmet koja se može nazvati Ispit
Entiteti između kojih postoji veza zovu se učesnici veze
(participants)
Internet i Web:
– Entiteti: reči, dokumenta, datoteke, hostovi, serveri itd.
– Veze:
• reči se nalaze u dokumentima,
• dokument hyperveza dokument
• Reči u datoteci, datoteke raspoložive na hostovima, serverima
Učestvovanje nekog entiteta u vezi može biti
potpuno i delimično
– Potpuno – zapisi takvog entiteta mogu da postoje samo ako
postoje i u drugom (slab entitet)
– Delimično – zapisi takvog entiteta mogu da postoje bez obzira
na drugi entitet (jak entitet)
Npr. Za IS fakulteta:
– Zaposleni – jak (nezavisan) entitet
– Profesor – slab (zavisni) entitet
Npr. Za IS prodavnice:
– Dobavljač – jak entitet
– Artikal – slab entitet
Zbog toga što Artikal učestvuje potpuno u ovoj vezi:
– Nije moguće promeniti dobavljača jednog artikla, sve dok se
ne izbrišu i svi artikli koje on dostavlja
Npr. Za IS prodavnice:
– Kupac – jak entitet
– Porudžbina – slab entitet
Kupac učestvuje delimično, a porudžbina potpuno.
Posledica je:
– Podaci o kupcu se mogu uneti i pre nego što taj kupac pošalje
prvu porudžbinu
Veze između entiteta
Odnosi između objekata posmatranja prikazuju se najčešće
primenom logike skupova i preslikavanja njihovih elemenata.
Odnosi između entiteta:
• JEDAN – prema – JEDAN (1:1)
• JEDAN – prema – VIŠE (1:N)
• VIŠE – prema – VIŠE (N:M)
– Drugi način prikazivanja:
1:1;1:*; *:*
1:1, 1:∞, ∞:∞
Veza JEDAN – prema – JEDAN (1:1)
Veza JEDAN – prema – JEDAN (1:1)
VŠ1
VŠ2
VŠ3
...
VŠN
VISOKA ŠKOLA
Veza JEDAN – prema – JEDAN (1:1)
VŠ1
VŠ2
VŠ3
...
VŠN
D1
D2
D3
...
DN
VISOKA ŠKOLA DIREKTOR
Veza JEDAN – prema – JEDAN (1:1)
VŠ1
VŠ2
VŠ3
...
VŠN
D1
D2
D3
...
DN
VISOKA ŠKOLA DIREKTOR
Veza JEDAN – prema – JEDAN (1:1)
VŠ1
VŠ2
VŠ3
...
VŠN
D1
D2
D3
...
DN
VISOKA ŠKOLA DIREKTOR
Veza JEDAN – prema – JEDAN (1:1)
VŠ1
VŠ2
VŠ3
...
VŠN
D1
D2
D3
...
DN
VISOKA ŠKOLA DIREKTOR
Veza JEDAN – prema – JEDAN (1:1)
VŠ1
VŠ2
VŠ3
...
VŠN
D1
D2
D3
...
DN
VISOKA ŠKOLA DIREKTOR
Veza JEDAN – prema – JEDAN (1:1)
VŠ1
VŠ2
VŠ3
...
VŠN
D1
D2
D3
...
DN
VISOKA ŠKOLA DIREKTOR
Odnos između entiteta VISOKA ŠKOLA i DIREKTOR
Veza JEDAN – prema – VIŠE (1:N)
Odnos između entiteta STUDENT i ADRESA
Veza JEDAN – prema – VIŠE (1:N)
STUDENT
Odnos između entiteta STUDENT i ADRESA
S2
S3
S4
S5
...
SN-1
SN
S1
Veza JEDAN – prema – VIŠE (1:N)
A1
A2
A3
...
AN
STUDENT ADRESA
Odnos između entiteta STUDENT i ADRESA
S2
S3
S4
S5
...
SN-1
SN
S1
Veza JEDAN – prema – VIŠE (1:N)
A1
A2
A3
...
AN
STUDENT ADRESA
Odnos između entiteta STUDENT i ADRESA
S2
S3
S4
S5
...
SN-1
SN
S1
Veza JEDAN – prema – VIŠE (1:N)
A1
A2
A3
...
AN
STUDENT ADRESA
Odnos između entiteta STUDENT i ADRESA
S2
S3
S4
S5
...
SN-1
SN
S1
Veza JEDAN – prema – VIŠE (1:N)
A1
A2
A3
...
AN
STUDENT ADRESA
Odnos između entiteta STUDENT i ADRESA
S2
S3
S4
S5
...
SN-1
SN
S1
Veza JEDAN – prema – VIŠE (1:N)
A1
A2
A3
...
AN
STUDENT ADRESA
Odnos između entiteta STUDENT i ADRESA
S2
S3
S4
S5
...
SN-1
SN
S1
Veza JEDAN – prema – VIŠE (1:N)
A1
A2
A3
...
AN
STUDENT ADRESA
Odnos između entiteta STUDENT i ADRESA
S2
S3
S4
S5
...
SN-1
SN
S1
Veza JEDAN – prema – VIŠE (1:N)
A1
A2
A3
...
AN
STUDENT ADRESA
Odnos između entiteta STUDENT i ADRESA
S2
S3
S4
S5
...
SN-1
SN
S1
Veza JEDAN – prema – VIŠE (1:N)
A1
A2
A3
...
AN
STUDENT ADRESA
Odnos između entiteta STUDENT i ADRESA
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
Veza VIŠE – prema – VIŠE (N:M)
STUDENT
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
Veza VIŠE – prema – VIŠE (N:M)
P1
P2
P3
...
PM
STUDENT PROFESOR
Odnos između entiteta STUDENT i PROFESOR
S2
S3
S4
S5
...
SN-1
SN
S1
MODELI BAZE PODATAKA
Različiti modeli BP:
– Tabele (flat file, spreadsheet)
– Hijerarhijski model
– Mrežni model
– Relacioni model
– Objektni model
Zajednički cilj različitih modela:
– Olakšati smeštanje podataka i dobijanje informacija
Osnovne razlike kod modela:
– Načini uspostavljanja veza između relacija
– Ograničenja nad podacima i vezama
Tabele Tabele - svi podaci u jednoj tabeli
– Prednost:
• Jednostavno, za mali broj zapisa i atributa
– Mane:
• Redudansa
• Teškoće kod promena
• Anomalije ažuriranja
• Višak podataka u jednoj tabeli
Tabele Tabele - svi podaci u jednoj tabeli
– Prednost:
• Jednostavno, za mali broj zapisa i atributa
– Mane:
• Redudansa
• Teškoće kod promena
• Anomalije ažuriranja
• Višak podataka u jednoj tabeli
BrIndeksa Prezime Ime Status NazivUl KcBroj Grad Opstina PostKod Drzava
1/07 Ivanković Slavica student je na budžetu Karađorđeva 20 Obrenovac Obrenovac 11500 Srbija
2/07 Pešić Marina student je na budžetu Jurija Gagarina 68 Beograd Novi Beograd 11070 Srbija
3/07 Mašulović Marija student je na budžetu Radoja Krstića 12 Trsteniki Trstenik 37240 Srbija
Hijerarhijski model
Najstariji model
Kao nasleđe i danas se koristi
Podaci su smešteni u seriju slogova (zapisa)
Da bi se uspostavila veza između slogova, hijerarhijski model
uspostavlja relaciju: roditelj – naslednik (preslikavanje 1:N)
Roditelji i naslednici su povezani vezama koje se nazivaju
pokazivači
Roditelj ima listu pokazivača za svakog od svojih naslednika
Hijerarhijski model
Najstariji model
Kao nasleđe i danas se koristi
Podaci su smešteni u seriju slogova (zapisa)
Da bi se uspostavila veza između slogova, hijerarhijski model
uspostavlja relaciju: roditelj – naslednik (preslikavanje 1:N)
Roditelji i naslednici su povezani vezama koje se nazivaju
pokazivači
Roditelj ima listu pokazivača za svakog od svojih naslednika
DIREKTOR
ZAMENIK ZAMENIK ZAMENIK
Od Od Od Od Od Od Od Od
R
R R
R
R
R R
R
R R
R R
R
R
R
R
R
R
Hijerarhijski model:
– Nedovoljan za kompleksnije veze
– Lako se transformiše u linearnu listu
Direktor (ime=Petar,tel=011/234567, itd.)
Zamenik (ime=Marko,...)
Odeljenje (naziv=Plan, ...)
Radnik (ime=Milan,...)
Radnik (ime=Zoran,...)
Radnik (ime=Pavle,...)
Odeljenje (naziv=Analiza, ...)
Radnik (ime=Marija, ...)
Radnik (ime=Jovan, ...)
Odeljenje ...........
Zamenik ..........
............
Nedostaci:
– Ne može se dodati slog u tabelu naslednika dok se ne uključi
u roditeljsku tabelu
– Ne podržava veze tipa N:M
– Za kompleksnije veze moraju se pojaviti duplikati
(komplikovano održavanje)
Hijerarhijski modelPrimer
Mrežni model
Omogućava da se višestruki skupovi podataka koriste
zajedno putem pokazivača (ili pointera)
Neke kolone sadrže pokazivače na druge tabele umesto
samih podataka.
Tabele su povezane pokazivačima i mogu se posmatrati
kao mrežna struktura.
Omogućava veze tipa N:M
Mane: kompleksanost i težina upotrebe
Mrežni model
Omogućava da se višestruki skupovi podataka koriste
zajedno putem pokazivača (ili pointera)
Neke kolone sadrže pokazivače na druge tabele umesto
samih podataka.
Tabele su povezane pokazivačima i mogu se posmatrati
kao mrežna struktura.
Omogućava veze tipa N:M
Mane: kompleksanost i težina upotrebe
DIREKTOR
ZAMENIK ZAMENIK ZAMENIK
Od Od Od Od Od Od Od Od
R
R R
R
R
R R
R
R R
R R
R
R
R
R
R
R
Mrežni modelPrimer
Relacioni model
Osnovne karakteristike:
– Sve se predstavlja relacijama (tabelama)
– Zasniva se na strogoj matematičkoj teoriji
– Minimalna redudansa podataka
– Jednostavno ažuriranje podataka
– Izbegnute su anomalije ažuriranja
– Redosled kolona i redova ne utiče na informacioni sadržaj tabele
– Ne mogu da egzistiraju dva identična reda (rekorda) u jednoj tabeli
– Svaki red se može jednoznačno odrediti (postoji primarni ključ)
Relacioni modelPrimer
BrIndeksa Prezime Ime
1/07 Ivanković Slavica
2/07 Pešić Marina
3/07 Mašulović Marija
4/07 Rasković Marko
5/07 Ašćerić Mirijana
ID Predmet
1 Praktična geodezija 1
2 Matematika 1
3 Fizika
4 Geodetsko snimanje detalja
5 Matematika 2
6 Informatika za inženjere
7 Tehnički engleski
8 Praktična geodezija 2
9 Merna nesigurnost
Tabela, sa svojim atributima, je osnovni objekat
relacione baze podataka
Veze između objekata realnog sveta – formira se klasa veza
Student
Predmet
BrIndeksa Prezime Ime
1/07 Ivanković Slavica
2/07 Pešić Marina
3/07 Mašulović Marija
4/07 Rasković Marko
5/07 Ašćerić Mirijana
ID Predmet
1 Praktična geodezija 1
2 Matematika 1
3 Fizika
4 Geodetsko snimanje detalja
5 Matematika 2
6 Informatika za inženjere
7 Tehnički engleski
8 Praktična geodezija 2
9 Merna nesigurnost
Tabela, sa svojim atributima, je osnovni objekat
relacione baze podataka
Veze između objekata realnog sveta – formira se klasa veza
Student
Predmet
BrIndeksa Prezime Ime
1/07 Ivanković Slavica
2/07 Pešić Marina
3/07 Mašulović Marija
4/07 Rasković Marko
5/07 Ašćerić Mirijana
ID Predmet
1 Praktična geodezija 1
2 Matematika 1
3 Fizika
4 Geodetsko snimanje detalja
5 Matematika 2
6 Informatika za inženjere
7 Tehnički engleski
8 Praktična geodezija 2
9 Merna nesigurnost
Tabela, sa svojim atributima, je osnovni objekat
relacione baze podataka
Veze između objekata realnog sveta – formira se klasa veza
Student
Predmet
BrIndeksa Prezime Ime
1/07 Ivanković Slavica
2/07 Pešić Marina
3/07 Mašulović Marija
4/07 Rasković Marko
5/07 Ašćerić Mirijana
ID Predmet
1 Praktična geodezija 1
2 Matematika 1
3 Fizika
4 Geodetsko snimanje detalja
5 Matematika 2
6 Informatika za inženjere
7 Tehnički engleski
8 Praktična geodezija 2
9 Merna nesigurnost
Tabela, sa svojim atributima, je osnovni objekat
relacione baze podataka
Veze između objekata realnog sveta – formira se klasa veza
Student
Predmet
BrIndeksa Prezime Ime
1/07 Ivanković Slavica
2/07 Pešić Marina
3/07 Mašulović Marija
4/07 Rasković Marko
5/07 Ašćerić Mirijana
ID Predmet
1 Praktična geodezija 1
2 Matematika 1
3 Fizika
4 Geodetsko snimanje detalja
5 Matematika 2
6 Informatika za inženjere
7 Tehnički engleski
8 Praktična geodezija 2
9 Merna nesigurnost
Tabela, sa svojim atributima, je osnovni objekat
relacione baze podataka
Veze između objekata realnog sveta – formira se klasa veza
Student
Predmet
Klasa veza može da ima svoje atribute
BrIndeksa Prezime Ime
1/07 Ivanković Slavica
2/07 Pešić Marina
3/07 Mašulović Marija
4/07 Rasković Marko
5/07 Ašćerić Mirijana
ID Predmet
1 Praktična geodezija 1
2 Matematika 1
3 Fizika
4 Geodetsko snimanje detalja
5 Matematika 2
6 Informatika za inženjere
7 Tehnički engleski
8 Praktična geodezija 2
9 Merna nesigurnost
10
6
8
7
10
10
9
86
67
10
Ocena
Student
Predmet
Student (BrIndeksa, Prezime, Ime)
Student (BrIndeksa, Prezime, Ime) Predmet (ID, Predmet)
Student (BrIndeksa, Prezime, Ime) Predmet (ID, Predmet)
Ocena (BrIndeksa, ID, Ocena)
Student (BrIndeksa, Prezime, Ime) Predmet (ID, Predmet)
Ocena (BrIndeksa, ID, Ocena)
Primarni ključ
relacije Student
Student (BrIndeksa, Prezime, Ime) Predmet (ID, Predmet)
Ocena (BrIndeksa, ID, Ocena)
Primarni ključ
relacije Student
Primarni ključ
relacije Predmet
Student (BrIndeksa, Prezime, Ime) Predmet (ID, Predmet)
Ocena (BrIndeksa, ID, Ocena)
Primarni ključ
relacije Student
Primarni ključ
relacije Predmet
Spoljni ključ
relacije Ocena
koji pokazuje na
primarni ključ
relacije Student
Student (BrIndeksa, Prezime, Ime) Predmet (ID, Predmet)
Ocena (BrIndeksa, ID, Ocena)
Primarni ključ
relacije Student
Primarni ključ
relacije Predmet
Spoljni ključ
relacije Ocena
koji pokazuje na
primarni ključ
relacije Student
Student (BrIndeksa, Prezime, Ime) Predmet (ID, Predmet)
Ocena (BrIndeksa, ID, Ocena)
Primarni ključ
relacije Student
Primarni ključ
relacije Predmet
Spoljni ključ
relacije Ocena
koji pokazuje na
primarni ključ
relacije Student
Spoljni ključ
relacije Ocena
koji pokazuje na
primarni ključ
relacije Predmet
Student (BrIndeksa, Prezime, Ime) Predmet (ID, Predmet)
Ocena (BrIndeksa, ID, Ocena)
Primarni ključ
relacije Student
Primarni ključ
relacije Predmet
Spoljni ključ
relacije Ocena
koji pokazuje na
primarni ključ
relacije Student
Spoljni ključ
relacije Ocena
koji pokazuje na
primarni ključ
relacije Predmet
Relacioni model
Suština relacionog modela je da se i klase objekata i klase veza
između objekata predstavljaju na jedinstven način, tj. preko
tabela.
Nije od značaja gde i kako su smeštene tabele
RBP se sastoji iz više tabela. Tabele su povezane ključevima
Informacija iz RBP se dobija postavljanjem upita
Objektni model
Zahtevi nove generacije aplikacija
–česta upotreba kompleksnih podataka
•tradicionalno smeštenih izvan baze podataka
–datoteke operativnog sistema
–specijalizovane strukture podataka
–zahtev za proširenjem SUBP-ova konceptom
kompleksnog tipa
–novi domeni primene
•CAM/CAD sistemi
•geoinformacioni sistemi
•multimedijalni sistemi
Rešenje
–upotreba objektno-orijentisanih koncepata u bazama
podataka
Baze podataka sa OO konceptima podržavaju
–laku integraciju sa OO programskim jezicima
–kompleksne tipove
•za smeštanje velikih podataka
–slike, video, veliki tekstualni podaci itd.
–duge transakcije
–specifikaciju strukture i operacija nad podacima
Baze podataka sa OO konceptima
–Objektno-orijentisane baze podataka
•nastale pod uticajem objektno-orijentisanih programskih
jezika
–jezici prošireni funkcionalnostima SUBP-ova
•alternativa relacionim bazama
•kompleksni tipovi igraju glavnu ulogu
–Objektno-relacione baze podataka
•proširenje relacionih baza
•predstavljaju objedinjenje relacione i objektne paradigme
Osnovna OO pravila
–svaki entitet iz realnog sveta modeluje se objektom
•svaki objekat poseduje jedinstveni identifikator
–svaki objekat je instanca i okarakterisan je atributima i
metodama
•skup atributa je osnova strukture objekta
–vrednost atributa može predstavljati objekat ili skup
objekata
•skup metoda definiše ponašanje
–vrednosti atributa definišu stanje objekta
•promena ili pristup stanju vrši se slanjem poruka
–pozivanjem metoda nad objektom
Osnovna OO pravila
–objekti koji zadovoljavaju istu osobinu (predikat) grupišu
se u jednu klasu
•svaki objekat je instanca klase kojoj pripada
•svi objekti klase zadovoljavaju istu strukturu i
ponašanje, definisano klasom
–klasa se može definisati specijalizacijom jedne ili više
postojećih klasa
•potklasa nasleđuje atribute i metode natklase
Objektni modelPrimer
RDBMS db4o
Konceptualnao modelovanje
Hijerarhijska BP Mrežna BP
Relaciona BP
Konceptualno modelovanje ER model
ER modelovanje ER modelovanje je logičko modelovanje (logical data modeling)
– Razlikuje se od fizičke realizacije baze podataka (physical
database design)
U logičkom modelovanju ne moraju se poznavati atributi entiteta,
primarni niti spoljašnji ključevi
– Jednostavno se linijama spajaju entiteti
– Npr. STUDENTI su u vezi sa PREDMETOM, a još uvek ne znamo
atribute ova dva entiteta
ER modelovanje ima sledeći koncept:
– Od generalnog ka pojedinačnom
Pogodno je u ranim fazama modelovanja
– Mnogo toga se menja
Spisak studenata ER dijagram
Student
Spisak studenata ER dijagram
Student
Spisak studenata ER dijagram
Adresa
Student
Status
Spisak studenata ER dijagram
Adresa
Student
Predmet
Status
Spisak studenata ER dijagram
Adresa
Student zivi na
Predmet
Status
Spisak studenata ER dijagram
Adresa
Student zivi na
Predmet
Status
1
Spisak studenata ER dijagram
Adresa
Student zivi na
Predmet
Status
N 1
Spisak studenata ER dijagram
Adresa
Student zivi na
ima
Predmet
Status
N 1
Spisak studenata ER dijagram
Adresa
Student zivi na
ima
Predmet
Status
N 1
1
Spisak studenata ER dijagram
Adresa
Student zivi na
ima
Predmet
Status
N 1
N
1
Spisak studenata ER dijagram
Adresa
Student zivi na
slusa ima
Predmet
Status
N 1
N
1
Spisak studenata ER dijagram
Adresa
Student zivi na
slusa ima
Predmet
Status
N 1
N
M
1
Spisak studenata ER dijagram
Adresa
Student zivi na
slusa ima
Predmet
Status
N 1
N N
M
1
Spisak studenata ER dijagram
Adresa
Student
ID
zivi na
slusa ima
Predmet
Status
N 1
N N
M
1
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
zivi na
slusa ima
Predmet
Status
N 1
N N
M
1
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
Prezime
zivi na
slusa ima
Predmet
Status
N 1
N N
M
1
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
zivi na
slusa ima
Predmet
Status
N 1
N N
M
1
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
zivi na
slusa ima
Predmet
Status
N 1
N N
M
1
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
zivi na
slusa ima
Predmet
Status
N 1
N N
M
1
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
zivi na
slusa ima
Predmet
Status
N 1
N N
M
1
Status
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
slusa ima
Predmet
Status
N 1
N N
M
1
Status
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
slusa ima
Predmet
Status
N 1
N N
M
1
Grupa
Status
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
ID
slusa ima
Predmet
Status
N 1
N N
M
1
Grupa
Status
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
ID
NazivUl
slusa ima
Predmet
Status
N 1
N N
M
1
Grupa
Status
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
ID
NazivUl
slusa ima
Predmet
Status
N 1
N N
M
1
Grupa
Status
KcBroj
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
ID
NazivUl
slusa ima
Predmet
Status
N 1
N N
M
1
Grupa
Status
Sufiks
KcBroj
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
ID
NazivUl
Grad
slusa ima
Predmet
Status
N 1
N N
M
1
Grupa
Status
Sufiks
KcBroj
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
ID
NazivUl
Grad
slusa ima
Predmet
Status
N 1
N N
M
1
Grupa
Status
Sufiks
KcBroj
Opstina
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
ID
NazivUl
Grad
slusa ima
Predmet
Status
N 1
N N
M
1
Grupa
Status
Sufiks
KcBroj
Opstina
PostKod
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
ID
NazivUl
Grad
slusa ima
Predmet
Status
N 1
N N
M
1
Grupa
Status
Sufiks
KcBroj
Opstina
PostKod
Drzava
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
ID
NazivUl
Grad
slusa ima
Predmet
Status
ID
N 1
N N
M
1
Grupa
Status
Sufiks
KcBroj
Opstina
PostKod
Drzava
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
ID
NazivUl
Grad
slusa ima
Predmet
Status
ID
Status
N 1
N N
M
1
Grupa
Status
Sufiks
KcBroj
Opstina
PostKod
Drzava
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
ID
NazivUl
Grad
slusa ima
Predmet
Status
ID
Status
StOpis
N 1
N N
M
1
Grupa
Status
Sufiks
KcBroj
Opstina
PostKod
Drzava
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
ID
NazivUl
Grad
slusa ima
Predmet
Status
ID ID
Status
StOpis
N 1
N N
M
1
Grupa
Status
Sufiks
KcBroj
Opstina
PostKod
Drzava
Spisak studenata ER dijagram
Adresa
Student
ID
BrIndeksa
PrezimeSrIme
Ime
Pol
Adresa
zivi na
ID
NazivUl
Grad
slusa ima
Predmet
Status
ID
Predmet
ID
Status
StOpis
N 1
N N
M
1
Grupa
Status
Sufiks
KcBroj
Opstina
PostKod
Drzava
Spisak studenata ER dijagram
Adresa
Fizička realizacija relacionog modela u nekom
od CASE softvera
(Computer Aided Software Design)