Baze podataka Modelovanje 1 Modelovanje Modeli su ovekovo
Baze podataka Modelovanje 1
Modelovanje Modeli su čovekovo sredstvo pojednostavljivanja problema i njegovo posmatranje samo sa stanovišta bitnih za ciljeve analize. q Čovek, obdaren sposobnostima apstraktnog načina mišljenja, stvara jedan apstraktni model realnog sveta. q Takav model realnog sveta (objekta posmatranja) zasniva se na simbolima i zove se konceptualni model podataka. q 2
Modelovanje q q q Modelovanje podataka se radi paralelno sa analizom potreba. Kako se informacije prikupljaju, objekti se identifikuju, dodeljuju im se imena koristeći termine bliske krajnjim korisnicima. Objekti se modeluju i analiziraju korišćenjem dijagrama objekti-veze (ER dijagrami). Ako model nije tačan, 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. 3
Modelovanje Izlaz 1 Relan svet Ulaz Cilj svakog modela je da učini da je: Izlaz 1~Izlaz 2 Programi za održavanje Baza podataka Programi za izveštavanje Izlaz 2 Informacioni sistem 4
Konceptualno modelovanje q q q Modelovane je postupak kojim se realni svet svodi na određeni broj podataka Podaci su apstrakcija realnosti - sredstva za kodiranje osobina objekata iz realnog sveta Izbor (selekcija) – izdvajanje bitnih objekata Imenovanje (za svaki objekat, vezu, atribut) Klasifikacija – nehomogenih objekata u homogene klase i tipove objekata 5
Konceptualno modelovanje q Konceptualni model sadrži: Ø Strukturu podataka – statički opis stanja realnog sveta Ø Operacije – izražavaju dinamiku iz realnog sveta Ø Ograničenja (constraints) – ograničenja u modelu koja su posledica ograničenja iz realnog sveta 6
Entiteti q q 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 (tip promenljive u programiranju) Primarni ključ je jedan ili više atributa čija vrednost jednoznačno određuje primerak entiteta 7
Entiteti Entitet je objekat, pojam, stanje i sl. o kome se prikupljaju, memorišu, obrađuju i prezentuju informacije q Entitet po svojoj prirodi može biti različit q Ø Deo okruženja (član kolektiva, aparat, zgrada, artikal, vozilo . . . ) Ø Apstraktni pojam (neka mera, nečije zvanje, boja, . . . ) Ø Događaj (udes, postupak upisa studenata, . . . ) Ø Asocija (student-predmet, predmet-profesor, . . . , fakultetprofesor) 8
Entiteti Primer entiteta: STUDENT, FAKULTET, RADNIK, PROIZVOD, RAČUNAR, ISPIT, UPIS, itd. q Klasa entiteta: Skup sličnih entiteta: Ø Studenti određenog fakulteta, Ø Proizvodi jednog preduzeća, Ø Štedni računi građana u banci, Ø Polaganje ispita na fakultetu, . . . q 9
Atribut je zajednička osobina koju poseduju svi entiteti jedne klase q Svojstva objekta se opisuju preko atributa q Primer: q Ø Atributi entiteta STUDENT: • Br. Ind, Ime, Prezime, Fakultet, Smer, Adresa q q Broj atributa nije fiksan Relevantne atribute definiše kompetentna osoba Ø Od toga zavisi upotrebljivost dobijenih informacija q Atributi svih entiteta poprimaju određene vrednosti 10
Atribut q Primer: Vrednosti atributa entiteta STUDENT (jedan entitet iz klase studenata): Ø Ø Ø Br. Ind: 123/03 Ime: Marko Prezime: Marković Fakultet: VPS Smer: Informatika Adresa: Kneza Miloša 156, 21000 Novi Sad Domen – skup dozvoljenih vrednosti koje može da poprimi jedan atribut q Obeležavanje domena: q Ø Fakultet(smer)={PPS, INF, FIN, TUR, TRG} 11
Atribut q Premalo atributa: Ø model jednostavan za predstavljanje i analizu, Ø verodostojnost mala, Ø ograničen je broj upotrebljivih informacija q Previše atributa: Ø Ø q verodostojnost odlična, kompleksnost velika, manipulacija podacima teško izvodljiva, dobijaju se konfuzne informacije. Zadatak projektanta: prepoznavanje prave mere pri modelovanju (izbor relevantnih atributa) 12
Atribut q Primer 1: Ø Sa aspekta zarada, atribut “broj cipela” nije relevantan Ø Sa aspekta nabavke opreme, to jeste relevantan atribut q Primer 2: Ø Sa aspekta odeljenja za plate atribut “vrsta bolesti” nije relevantan Ø Sa aspekta zdravstvenog odeljenja istog preduzeća to je relevantan atribut 13
Atribut q Prosti i složeni atributi Ø Prosti atributi: • Visina (cm), • Ocena, • Smer itd. Ø Složeni atributi: • Adresa (Ulica, Broj, Mesto, . . . ) • Datum. Rođenja (Dan, Mesec, Godina) 14
Veze između entiteta q q q U realnom sistemu objekti nisu međusobno izolovani, nego se nalaze u međusobnoj interakciji Odnosi između objekata posmatranja prikazuju se najčešće primenom logike skupova i preslikavanja njihovih elemenata. Odnosi između entiteta: Ø 1: 1; 1: N; N: M 15
Veza 1: 1 16
Veza 1: N ili N: 1 17
Veza N: M 18
Modeli BP q Različiti modeli BP: Ø Ø Ø q 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 q Osnovne razlike kod modela: Ø Načini uspostavljanja veza između relacija Ø Ograničenja nad podacima i vezama 19
Modeli BP - tabele q Tabele - svi podaci u jednoj tabeli Ø Dobro: • Jednostavno, za mali broj rekorda i atributa Ø Loše: • Redudansa (višestruko ponavljanje) • Teškoće kod promena • Anomalije ažuriranja • Višak podataka u jednoj tabeli Šifra Ime Prezime Telefon 111 -222 -333 Milan Marković 011/123 -456 123 -333 -321 Petar Petrović 011/543 -211 123 -333 -321 Petar Popović 063/8234 -567 222 -333 -444 Vera Petrović 035/25 -666 20
Hijerarhijski model q q q 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 21
Hijerarhijski model Direktor Zamenik Od Od R R R R R 22
Hijerarhijski model Nedovoljan za kompleksnije veze q Lako se transformiše u linearnu listu q 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. . . . . 23
Hijerarhijski model q 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) 24
Mrežni model q q q 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 Slabost: kompleksanost i težina upotrebe 25
Mrežni model Direktor Zamenik Od Od R R R R R 26
Relacioni model q 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č) 27
Relacioni model Student Knjiga Br. Ind Ime Sif. K Naziv 75/01 Marko 001 Računovodstvo 22/02 Petar 002 Baze podataka 156/03 Milan 003 Osnove finansija 112/02 Dragan 004 Poslovna informatika 005 Marketing Tabela, sa svojim atributima, je osnovni objekat relacione baze podataka 28
Relacioni model Br. Ind Sif. K Student Knjiga Ime Naziv Grafički prikaz objekata i njihovih atributa 29
Relacioni model Student Knjiga Br. Ind Ime Sif. K Naziv 75/01 Marko 001 Računovodstvo 22/02 Petar 002 Baze podataka 156/03 Milan 003 Osnove finansija 112/02 Dragan 004 Poslovna informatika 005 Marketing Veze između objekata realnog sveta – formira se klasa veza 30
Relacioni model Student Br. Ind Ime 75/01 Marko 22/02 Petar Uzeo 12. 09. 2007 12. 09. 2005 13. 10. 2007 12. 09. 2005 12. 09. 2007 Knjiga Sif. K Naziv 001 Računovodstvo 002 Baze podataka 003 Osnove finansija 004 Poslovna informatika 005 Marketing 22. 09. 2007 12. 09. 2005 156/03 Milan 112/02 Dragan 12. 09. 2005 12. 09. 2007 23. 09. 2007 12. 09. 2005 Klasa veza može da ima svoje atribute 31
Relacioni model Datum Br. Ind Sif. K Student Uzeo Knjiga Ime Naziv ER dijagram relacionog modela 32
Relacioni model q q 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 33
Relacioni model STUDENT (Br. Ind, Ime) KNJIGA (Sif. K, Naziv) DRŽI (Br. Ind, Sif. K, Datum) Strani ključ relacije Drži koji pokazuje na primarni ključ relacije Student Strani ključ relacije Drži koji pokazuje na primarni ključ relacije Knjiga 34
Relacioni model q Svaka tabela mora da ima: Ø Ime ili naziv tabele, Ø Spisak atributa i Ø Vrednosti atributa (podaci upisani u polja) STUDENT Br. Ind Ime Prezime Fakultet Smer Adresa 123/03 Marković PMF bio Temerinska 2 224/02 Jovanović VPS inf Radnicka 22 5/04 Ivana Ivanović FTN tel Futoski put 145 ----- ------ 35
Relacioni model fields Naziv tabele Atribut 1 records Atribut 2 Atribut 3 Atribut 4 Atribut 5 Podatak u polju. . . . . Slog ili zapis ili n-torka. . . . . 36
Objektni model q q q SUBP – sistem za upravljanje bazama podataka Objektno orjentisani SUBP-ovi omogućavaju čuvanje objekata direktno, bez mapiranja za različite strukture podataka. Relacioni SUBP zahteva mapiranje iz objekata u tabele. Informacija je sačuvana kao stalni objekat, a ne kao red u tabeli Postiže se efikasnost u smislu prostora potrebnog za smeštanje i čuvanje podataka 37
Objektni model Ø Entitet se predstavlja klasom Ø Klasa obuhvata i atribute i ponašanje entiteta (moguće operacije nad podacima) Ø Npr. Klasa: student • Atributi: Br. Ind, Ime, Prezime, Fakultet • Procedura: polaganje. Ispita() Ø Instance klase – objekti Ø Bogatstvo tipova podataka • Tip može biti i drugi objekat Ø Direktna veza između objekata u aplikaciji i objekata u BP – bolje performanse 38
Objektni model Student Br. Ind Ime Prezime Fakultet Automobil 123/05 Marković FPI Golf ------ ----- Automobil Naziv Reg. Br Boja Godište Vlasnik Golf BG 123456 Belo 1993 Marko ------ ----- 39
- Slides: 39