Transcript
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