Baze podataka• ovek, obdaren sposobnostima apstraktnog naina
mišljenja, stvara jedan apstraktni model realnog sveta.
• Takav model realnog sveta (objekta posmatranja) zasniva se na
simbolima i zove se konceptualni model.
Model
• Modelovanje se radi paralelno sa analizom potreba • Kako se
informacije prikupljaju, objekti se identifikuju,
dodeljuju im se imena koristei termine bliske krajnjim
korisnicima.
• Objekti se modeluju i analiziraju korišenjem dijagrama
objekti-veze (ER dijagrami).
• Ako model nije taan, modifikuje se, što ponekad zahteva da se
prikupe dodatne informacije.
• Ciklus pregledanja i modifikovanja se nastavlja sve dok se ne
dobije potvrda da je model korektan.
Model
Modelovanje
Cilj svakog modela je da uini da je: Izlaz1~Izlaz2
Informacioni sistem
• Modelovane je postupak kojim se realni svet svodi na odreeni broj
podataka
• Podaci su apstrakcija realnosti - sredstva za kodiranje osobina
objekata iz realnog sveta
• Izbor (selekcija) – izdvajanje bitnih objekata • Dodeljivanje
imena (za svaki objekat, vezu,
atribut) • Klasifikacija – nehomogenih objekata u
homogene klase i tipove objekata
Konceptualno modelovanje
• Konceptualni model sadri: – Strukturu podataka – statiki opis
stanja realnog
sveta (podaci i odnosi izmeu podataka) – Operacije – izraavaju
dinamiku iz realnog sveta – Ogranienja (constraints) – Ogranienja u
modelu
koja su posledica ogranienja iz realnog sveta
• Model ne propisuje fiziki oblik u kome se podaci uvaju
• Šema je opis nekog skupa podataka, korišenjem datog modela
podataka
Konceptualno modelovanje
• Pod entitetom se podrazumeva sve što se moe jednoznano odrediti,
identifikovati i razlikovati
• Svaki entitet ima svoje osobine – atribute • Domen atributa je
skup svih moguih vrednosti
koje atribut moe poprimiti (slino tipu promenljive u
programiranju)
• Primarni klju je jedan ili više atributa ija vrednost jednoznano
odreuje primerak entiteta
Entiteti
• Entitet je objekat, pojam, stanje i sl. o kome se prikupljaju,
memorišu, obrauju i prezentuju informacije
• Entitet po svojoj prirodi moe biti razliit – Deo okruenja (lan
kolektiva, aparat, zgrada, artikal,
vozilo ...) – Apstraktni pojam (neka mera, neije zvanje, boja, ...)
– Dogaaj (udes, postupak upisa studenata,...) – Asocijacija
(student-predmet, predmet-profesor, ...,
fakultet-profesor)
Entiteti
• Primer entiteta: STUDENT, FAKULTET, RADNIK, PROIZVOD, RAUNAR,
ISPIT, UPIS, itd.
• Instance su pojedinana pojavljivanja entiteta – Instanca – Zapis
u tabeli – Npr. U entitetu STUDENT instanca je konkretan
student • Marko Markovi, Beograd, Njegoševa 13, 011/234567 • Petar
Petrovi, Novi Sad, Drapšinova 2, 021/123456 • ....
Instance
• Atribut je zajednika osobina koju poseduju svi entiteti jedne
klase
• Svojstva objekta se opisuju preko atributa • Primer:
– Mogui atributi entiteta STUDENT: • BrInd, Ime, Prezime, Fakultet,
Smer, Adresa, Telefon
• 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 odreene vrednosti
Atributi
• Primer: Vrednosti atributa entiteta STUDENT (jedan entitet iz
klase studenata): – BrInd: 123/08 – Ime: Marko – Prezime: Markovi –
Fakultet: DIR – Smer: Osiguranje – Adresa: Kneza Miloša 156, 11000
Beograd
• Domen – skup dozvoljenih vrednosti koje moe da poprimi jedan
atribut
• Obeleavanje domena: – Dom(Fakultet)={FPE, FTHM, DIR, DM}
Atributi
• Previše atributa: – verodostojnost odlina, – kompleksnost velika,
– manipulacija podacima teško izvodljiva, – dobijaju se konfuzne
informacije.
• Zadatak projektanta: prepoznavanje prave mere pri modelovanju
(izbor relevantnih atributa)
Atributi
• Primer 1: – Sa aspekta zarada, atribut “adresa” nije relevantan –
Sa aspekta organizovanja prevoza, to jeste
relevantan atribut • Primer 2:
– Sa aspekta odeljenja za plate atribut “vrsta bolesti” nije
relevantan
– Sa aspekta zdravstvenog odeljenja istog preduzea to je relevantan
atribut
Atributi
• Visina (cm), • Ocena, • Smer itd.
– Sloeni atributi: • Adresa (Ulica, Broj, Mesto, ...) • DatumRoenja
(Dan, Mesec, Godina)
Atributi
• Nekada je teško razlikovati entitete od atributa • Npr: Adresa
moe biti entitet i atribut • Ako je adresa entitet:
– Prednost – višestruka upotreba istog koda – Mana – Razliite su
potrebe za adresama (kupci,
zaposleni, dobavljai itd.) • Moe se desiti da se neprikladne forme
za unos primenjuju
na svim mestima – npr. nisu iste potrebe kod kupaca i
zaposlenih
Entiteti i atributi
• Domen je ui pojam od tipa podataka • Ulica i Prezime su tipa
Text,
– ali su im domeni potpuno razliiti • Npr: Nauno zvanje →
Text,
– ali taj tekst moe biti iz skupa {docent, vanredni profesor,
redovni profesor}
• Za definiciju domena nisu dovoljna ogranienja – Npr: Poštanski
broj je petocifren, ali nisu svi
petocifreni brojevi u igri
Domen
• Domeni mogu biti kompatibilni po tipu – Mogue je porediti
atribute definisane u tim
domenima • Npr: Relacije: Zaposleni i Prodavci
– Iz uslova: Id_Zaposleni=Id_Prodavci moe se dobiti nova
informacija
• Ne moe se vršiti kombinovanja relacija po atributima koji nemaju
iste domene – dobija se besmislena informacija – Veina DBMS-ova to
omoguava
Domen
izolovani – objekti se nalaze u meusobnoj interakciji
• Npr. veza “studenti polau predmet” – Izmeu entiteta Student i
Predmet postoji
veza Student_Polae_Predmet koja se moe nazvati Ispit
• Entiteti izmeu kojih postoji veza zovu se uesnici veze
(participants)
Veze izmeu entiteta
• Internet i Web: – Entiteti: rei, dokumenta, datoteke, hostovi,
serveri itd. – Veze:
• rei se nalaze u dokumentima, • dokument hyperveza dokument • Rei
u datoteci, datoteke raspoloive na hostovima, serverima
Veze izmeu entiteta
• Uestvovanje nekog entiteta u vezi moe biti potpuno i delimino –
Potpuno – zapisi takvog entiteta mogu da postoje
samo ako postoje i u drugom (slab entitet) – Delimino – 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
Veze izmeu entiteta
• Npr. Za IS prodavnice: – Dobavlja – jak entitet – Artikal – slab
entitet
• Zbog toga što Artikal uestvuje potpuno u ovoj vezi: – Nije mogue
promeniti dobavljaa jednog artikla, sve
dok se ne izbrišu i svi artikli koje on dostavlja
Veze izmeu entiteta
• Npr. Za IS prodavnice: – Kupac – jak entitet – Porudbina – slab
entitet
• Kupac uestvuje delimino, a porudbina potpuno. Posledica je: –
Podaci o kupcu se mogu uneti i pre nego što taj
kupac pošalje prvu porudbinu
• Odnosi izmeu objekata posmatranja prikazuju se naješe primenom
logike skupova i preslikavanja njihovih elemenata.
• Odnosi izmeu entiteta: – 1:1; 1: N; N:M – Drugi nain prikazivanja
(1:1; 1:*; *:*)
Veze izmeu entiteta
FAKULTET DEKAN
STUDENT DEKAN
Veza N:M
STUDENT PROFESOR
• Razliiti modeli BP: – Tabele (flat file, spreadsheet) –
Hijerarhijski model – Mreni model – Relacioni model – Objektni
model
• Zajedniki cilj razliitih modela: – Olakšati smeštanje podataka i
dobijanje informacija
• Osnovne razlike kod modela: – Naini uspostavljanja veza izmeu
relacija – Ogranienja nad podacima i vezama
Modeli BP
• Jednostavno, za mali broj rekorda i atributa – Loše:
• Redudansa • Teškoe kod promena • Anomalije auriranja • Višak
podataka u jednoj tabeli
Modeli BP - tabele -
Šifra Ime Prezime Telefon 111-222-333 Milan Markovi 011/123-456
123-333-321 Petar Petrovi 011/543-211 123-333-321 Petar Petrovi
063/8234-567 222-333-444 Vera Petrovi 035/25-666
• Najstariji model • Kao naslee i danas se koristi • Podaci su
smešteni u seriju slogova (zapisa) • Da bi se uspostavila veza
izmeu slogova, hijerarhijski
model uspostavlja relaciju: roditelj – naslednik (preslikavanje
1:N)
• Roditelji i naslednici su povezani vezama koje se nazivaju
pokazivai
• Roditelj ima listu pokazivaa za svakog od svojih naslednika
Hijerarhijski model
Hijerarhijski model
R
R
R
R
R
R
R
R
• Hijerarhijski model: – Nedovoljan za kompleksnije veze – Lako se
transformiše u linearnu listu
Hijerarhijski model
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 moe se dodati slog u tabelu naslednika
dok se ne ukljui u roditeljsku tabelu – Ne podrava veze tipa N:M –
Za kompleksnije veze moraju se pojaviti
duplikati (komplikovano odravanje)
• Omoguava da se višestruki skupovi podataka koriste zajedno putem
pokazivaa (ili pointera)
• Neke kolone sadre pokazivae na druge tabele umesto samih
podataka.
• Tabele su povezane pokazivaima i mogu se posmatrati kao mrena
struktura.
• Omoguava veze tipa N:M • Slabost: kompleksanost i teina
upotrebe
Mreni model
Mreni model
R
R
R
R
R
R
R
R
• Osnovne karakteristike: – Sve se predstavlja relacijama
(tabelama) – Zasniva se na strogoj matematikoj teoriji – Minimalna
redudansa podataka – Jednostavno auriranje podataka – Izbegnute su
anomalije auriranja – Redosled kolona i redova ne utie na
informacioni
sadraj tabele – Ne mogu da egzistiraju dva identina reda (rekorda)
u
jednoj tabeli – Svaki red se moe jednoznano odrediti (postoji
primarni klju)
Relacioni model
BrInd Ime
75/01 Marko
22/02 Petar
156/03 Milan
112/02 Dragan
Tabela, sa svojim atributima, je osnovni objekat relacione baze
podataka
Relacioni model
Grafiki prikaz objekata i njihovih atributa (posmatra se model, a
ne konkretni podaci)
Student
BrInd
Ime
Knjiga
SifK
Naziv
BrInd Ime
75/01 Marko
22/02 Petar
156/03 Milan
112/02 Dragan
BrInd Ime
75/04 Marko
22/06 Petar
156/04 Milan
112/05 Dragan
Relacioni model
• Suština relacionog modela je da se i klase objekata i klase veza
izmeu objekata predstavljaju na jedinstven nain, tj. preko
tabela.
• Nije od znaaja gde i kako su smeštene tabele • RBP se sastoji iz
više tabela. Tabele su
povezane kljuevima • Informacija iz RBP se dobija postavljanjem
upita
Relacioni model
DRI (BrInd, SifK, Datum)
Spoljašnji klju relacije Dri koji pokazuje na primarni klju
relacije Student
Spoljašnji klju relacije Dri koji pokazuje na primarni klju
relacije Knjiga
Primarni klju relacije Student
Primarni klju relacije Knjiga
Relacioni model
• Svaka tabela mora da ima: – Ime ili naziv tabele, – Spisak
atributa i – Vrednosti atributa (podaci upisani u polja)
BrInd Ime Prezime Fakultet Smer Adresa
123/03 Marko Markovi PF PP Poeška 2
224/02 Jovan Jovanovi PF GD Danijelova 22
III-5/04 Ivana Ivanovi PF GD Kumodraška 145
----- ----- ----- ----- ------ -----
Atribut 1 Atribut 2 Atribut 3 Atribut 4 Atribut 5
Podatak u polju
Naziv tabele
• Objektno orjentisani DBMS-ovi omoguavaju uvanje objekata
direktno, bez mapiranja za razliite strukture podataka.
• Relacioni DBMS zahteva mapiranje iz objekata u tabele.
• Informacija je sauvana kao stalni objekat, a ne kao red u
tabeli
• Postie se efikasnost u smislu prostora potrebnog za smeštanje i
uvanje podataka
Objektni model
• atribute i • ponašanje entiteta (mogue operacije nad
podacima)
– Npr. Klasa: student • Atributi: BrInd, Ime, Prezime, Fakultet •
Procedure (operacije): upisNaFakultet(), polaganjeIspita()
– Instance klase – objekti – Bogatstvo tipova podataka
• Tip moe biti i drugi objekat – Direktna veza izmeu objekata u
aplikaciji i objekata
u BP – bolje performanse
3. Kreiranje ulaznih formi i izveštaja
4. Kreiranje aplikacija za krajnje korisnike
Poslovna pravila, zahtevi korisnika Konceptualni
Model podataka Implementacija (relacioni model podataka
Fiziki podaci
Razvoj BP
Razvoj BP