You are on page 1of 66

Baze podataka

ER model
(model objekti veze)
1
Ciljevi vebi iz Baza podataka
Savladavanje sledeih tema:
E-R model (projektovanje, itanje)
Relacioni model (definicija, referencijalni
integriteti)
Prevoenje iz E-R u relacioni model
Projektovanje baze podataka IS-a
Izrada E-R modela
Prevoenje iz E-R u relacioni model
Implementacija BP 2
Ciljevi vebi iz Baza podataka
Generisanje SQL koda za opis BP
pomou izabranog Case alata
SQL - jezik za pristup BP
Kreiranje BP
Odravanje BP
Pretraivanje BP

Zavrni projekat

3
Plan vebi iz predmeta BP
1. Uvod u baze podataka i modeliranje
2. E-R model: osnovni pojmovi,
dijagrami, kardinaliteti
3. E-R model: primeri
4. E-R model: primeri
5. Relacioni model: osnovni pojmovi
6. Relacioni model:
prevoenje iz E-R u relacioni model
4
Plan vebi iz predmeta BP
7. Case alat:
osnove, crtanje dijagrama lab5
8. Case alat:
primeri (razliiti tipovi veza) lab5
9. Case alat:
generisanje SQL koda za opis BP u okruenju MySql
lab5
10. SQL: osnovne instrukcije lab5
5
Plan vebi iz predmeta BP

11. SQL:
punjenje BP
uitavanje BP iz Net Beans-a lab5
12. SQL:
pretraivanje BP - lab5
13. Projekat (uputstva) lab5

6
Modeliranje konceptualne eme
baze podataka
Cilj:
prikazati to vie relevatnih podataka;
razumeti korisnike zahteve;
ispravno predstaviti organizacioni model podataka;
o Nije dovoljno poznavati osnovna teorijska pravila
(referencijalnih integriteta, stranih kljueva,
normalizacije.)
Rezultat:
dizajn podataka koji e olakati odravanje BP.

7
Entity-Relationship (ER) model ili
model objekti-veze (MOV)

Detaljan logiki prikaz podataka preko skupa


entiteta, njihovih atributa i meusobnih veza.
Osnovni elementi modela su:
entiteti (objekti),
veze,
atributi.
ER dijagram - grafiki prikaz osnovnih elemenata
ER modela.
8
ER model osnovni pojmovi

Entitet
Osoba, objekat, dogaaj ili koncept u korisnikom okruenju o
kome je potrebno uvati i pratiti podatke.
Tip entiteta
Kolekcija entiteta sa zajednikim osobinama (karakteristikama).
Veza
Odnos izmeu dva ili vie entiteta koji je od znaaja za
informacioni sistem.
Atribut
Imenovana osobina entiteta ili veze koja je od znaaja za
informacioni sistem.
9
Osnovni elementi ER dijagrama

entitet
(objekat) atribut

veza gerund
(poveznik)

povezivanje
slabi elemenata
objekat na dijagramu 10
Entitet
Opti pojam (lice, objekat, dogaaj, pojava) koji se
moe jednoznano odrediti, a o kome u bazi
podataka uvamo podatke.
Entitet zajedno sa svojim atributima ini tip entiteta
za koji moe postojati vie instanci (pojava) entiteta.
Oznaavaju se imenicama.
Na dijagramu su pravougaonici.

11
Grafiki prikaz entiteta
Pravougaonik unutar koga je upisan naziv tipa entiteta.
Primer:

Automobil Kua

Osoba Projekat

12
Atribut
Karakteristika (svojstvo) koje blie opisuje entitet ili
vezu.
Moe primiti vrednost iz odreenog skupa vrednosti
koji predstavlja domen tog atributa (tip vrednosti).
Atribut ili skup atributa koji jednoznano odreuje
svaku pojavu entiteta naziva se klju entiteta.
Moe biti vie takvih kljueva. Jedan se proglaava
za primarni klju.

13
Grafiki prikaz atributa
Elipsa unutar koje je upisan naziv atributa.
Kljuni atibuti se podvlae!

Naziv Veliina

Ime Cena

JMBG
14
Veza (poveznik)

Odnos ili veza izmeu pojava jednog ili vie tipova


entiteta koji je od znaaja za informacioni sistem.

Veza ukazuje da postoji dogaaj ili prirodna veza


izmeu dva ili vie tipova entiteta.

Tip veze je skup veza iste vrste.

15
Veza (poveznik)
Naziv veze je najee glagol.
naziv treba da ukazuje na prirodu veze.
Grafiki prikaz veze na ER dijagramu je romb unutar koga
pie naziv veze.
Stepen veze je broj entiteta koje promatrana veza
povezuje:
binarna, ternarna...
rekurzivna - kada jedan entitet u vezi ima dve razliite
uloge.

16
Stepen veze
binarna veza:

ternarna veza:

rekurzivna veza:

17
Veza (poveznik)

Kardinalitet veze - opisuje ogranienja preslikavanja


pojedinanih entiteta koji uestvuju u posmatranoj
vezi:
1:1, 1:N, M:N
mogue je da u nekoj vezi pojedine instance nekog
entiteta ne uestvuju (1:0, 0:N).

18
Paralelna veza

Vie razliitih veza izmeu dva entiteta obrazuju


paralelne veze.
Paralelna veza moe biti dvostruka, trostruka, itd.

19
Klju entiteta

Klju (jedinstveni identifikator)


Svaki tip entiteta mora imati jedan atribut ili skup
atributa koji pravi razliku izmeu pojedinanih pojava
istog tipa entiteta.

Klju je atribut (ili skup atributa) koji jedinstveno


identifikuje svaku pojedinanu pojavu tipa entiteta.

Pravila za izbor kljua:


1.atribut koji ne menja svoju vrednost
2.atribut koji nikada nee imati null vrednost
20
Klju entiteta - vrste
Moe biti vie jedinstvenih identifikatora entiteta.
Kandidati za klju svi jedinstveni identifikatori zovu se
ekvivalentni kljuevi.
Primarni klju jedan od kandidata za klju koji je proglaen
za primarni.
Alternativni klju preostali ekvivalentni kljuevi
Sekundarni klju
klju po kome se vri pretraivanje BP. On ne mora biti
jedinstveni identifikator pojave entiteta. To moe biti bilo
koji atribut entiteta.
21
Kardinalitet veze

A B
Broj pojava entiteta B koji mogu biti povezani sa svakom pojavom
entiteta A
Minimalni kardinalitet
Minimalni broj pojava entiteta B koji mogu biti povezani sa
svakom pojavom entiteta A

Maksimalni kardinalitet
Maksimalni broj pojava pojava entiteta B koji mogu biti povezani sa
svakom pojavom entiteta A
Oznaka: (min, max)
22
Primer
Strukture sa kardinalitetima grupe 1:1

(1,1) (1,1)
Radnik Ima Polisa_Osiguranja

Ivo (Ivo,Polisa2) Polisa1


Ana (Ana,Polisa1) Polisa2
Eva (Eva,Polisa3) Polisa3
Aco (Aco,polisa4) Polisa4 23
Primer
Strukture sa kardinalitetima grupe 1:1

(1,1) (0,1)
Radnik Ima Polisa_Osiguranja

Ivo (Ivo,Polisa2) Polisa1


Ana (Ana,Polisa1) Polisa2
Eva (Eva,Polisa3) Polisa3
Polisa4 24
Primer
Strukture sa kardinalitetima grupe 1:1

(0,1) (0,1)
Radnik Ima Polisa_Osiguranja

Ivo (Ivo,Polisa2) Polisa1


Ana (Ana,Polisa1) Polisa2
Eva (Eva,Polisa3) Polisa3
Aca Polisa4 25
Primer
Strukture sa kardinalitetima grupe N:1
(1,1) (1,N)
Radnik Rasporeen Radno mesto

Ivo (Ivo,programer) Projektant


Ana (Ana,projektant) Programer
Eva (Eva,Sekretarica) Sekretarica
Aca (Aco,Projektant) Direktor
Pera (Pera,Direktor) 26

Mira (Mira,Direktor)
Primer
Strukture sa kardinalitetima grupe N:1

(1,1) (0,N)
Radnik Rasporeen Radno mesto

Ivo (Ivo,projektant) Projektant


Ana (Ana,projektant) Programer
Eva (Eva,Sekretarica) Sekretarica
Aca (Aco,Projektant) Direktor 27
Primer
Strukture sa kardinalitetima grupe N:1

(0,1) (1,N)
Radnik Rasporeen Radno mesto

Ivo (Ivo,projektant) Projektant


Ana (Ana,projektant) Programer
Eva (Eva,Sekretarica) Sekretarica
Aca (Aco,Programer) Direktor
Pera (Pera,Direktor) 28

Mira
Primer
Strukture sa kardinalitetima grupe N:1

(0,1) (0,N)
Radnik Rasporeen Radno mesto

Ivo (Ivo,projektant) Projektant


Ana (Ana,projektant) Programer
Eva (Eva,Sekretarica) Sekretarica
Aca Direktor 29
Primer
Strukture sa kardinalitetima grupe M:N
(1,M) (1,N)
Radnik Radi Projekat

Ivo (Ivo,Lido) Lido


Ana (Ivo,Faktura) Faktura
Eva (Ana,Skladitenje) Skladitenje
Aca (Ana,Lido) Nabavka
(Eva,Nabavka) 30

(Aco,Nabavka)
Primer
Strukture sa kardinalitetima grupe M:N

(0,M) (1,N)
Radnik Radi Projekat

Ivo (Ivo,Lido) Lido


Ana (Ivo,Faktura) Faktura
Eva (Ana,Skladitenje) Skladitenje
Aca (Ana,Lido) Nabavka
31
(Eva,Nabavka)
Primer
Strukture sa kardinalitetima grupe M:N
(0,M) (0,N)
Radnik Radi Projekat

Ivo (Ivo,Lido) Lido


Ana (Ivo,Faktura) Faktura
Eva (Ana,Skladitenje) Skladitenje
Aca (Ana,Lido) Nabavka 32
Primer 1.
Preduzee je podeljeno na sektore.
Prate se podaci o radnicima (mat.broj, ime i
prezime) i sektorima (id, naziv).
Vae sledea pravila:
Svaki sektor mora da ima jednog rukovodioca.
Neki od radnika su rukovodioci u sektorima.
Nacrtati deo ER dijagrama koji opisuje vezu
rukovodjenje sektorom.
33
Primer 1.

ime
idS naziv
jmbg prezime

(0,1) (1,1)
Radnik Rukovodi Sektor

34
Primer 2.
Na univerzitetu u toku upisnog roka prate se
podaci o prijavljenim kandidatima (mat.broj, ime
i prezime) po fakultetima (id, naziv). Vae sledea
pravila:
Svaki kandidat moe da se prijavi na vie razliitih
fakulteta.
Na svakom od fakulteta moe biti vie prijavljenih
kandidata, ali takoe je mogue da se niko nije
prijavio.
35
Primer 2.

ime
idF naziv
jmbg prezime

(1,N) (0,N)
Kandidat Prijavljuje Fakultet

36
Primer 3.
Na fakultetu se za potrebe izrade nastavnog plana
vode podaci o predmetima (ifra, naziv,
broj_bodova) po katedrama (id, naziv).
Vae sledea pravila:
Svaki predmet moe pripadati jednoj i samo jednoj
katedri.
U okviru svake katedre moe biti vie predmeta, ali je
mogue da jo nema definisanih predmeta na katedri.

37
Primer 3.

naziv
brojBodova idK naziv
sifP

(1,1) (0,N)
Predmet Pripada Katedra

38
Primer 4.

Prate se optine (id, naziv, brojStanovnika) i njihova


podela po okruzima (ifra, naziv). Vae sledea
pravila:
Svaka optina pripada jednom i samo jednom okrugu.
U okviru svakog okruga moe biti jedna ili vie optina.

39
Primer 4.

naziv
sifO naziv
idOpst brStan

(1,1) (1,N)
Opstina Pripada Okrug

40
Primer 5.
U okviru kolskog informacionog sistema prate se
nastavni predmeti(ifra, naziv, brojBodova) i njihovi
udbenici (id, autor, naslov).
Vae sledea pravila:
predmet moe i ne mora da ima izdat udbenik;
za jedan predmet moe postojati i vie predvienih
udbenika;
udbenik se koristi u nastavi za jedan ili vie predmeta.

41
Primer 5.

autor
naziv
brojBodova idU naslov
sifP

(O,N) (1,N)
Predmet Koristi Udbenik

42
Primer 6.
U okviru kolskog informacionog sistema prate se
nastavni predmeti(ifra, naziv, brojBodova) i
nastavnici(id,ime, prezime) koji ih predaju.
Vae sledea pravila:
svaki predmet moe predavati jedan ili vie nastavnika,
svaki nastavnik predaje jedan ili vie predmeta.

43
Primer 6.

ime

naziv
idN prezime
brojBodova
sifP

(1,N) (1,N)
Predmet Predaje Nastavnik

44
Primer 7.
U okviru kolskog informacionog sistema prate se
nastavni predmeti(ifra, naziv, brojBodova) i
studenti(mat.broj, ime, prezime) koji ih polau.
Vae sledea pravila:
svaki predmet poloi ni jedan ili vie studenata,
svaki student moe poloiti ni jedan ili vie predmeta.

45
Primer 7.

ime
naziv
jmbg prez
brojBodova
sifP

(0,N) (0,N)
Predmet Poloio Student

46
Rekurzivna veza

Veza u kojoj uestvuje samo jedan tip


entiteta
Unarna veza
Razliite pojave jednog istog tipa entiteta
imaju razliite uloge u ovoj vezi.

47
Primer - Rekurzivna veza

rukovodi
(0,N)
(0,1)
Radnik rukovodi
slui
rukovodi slui
Ana (Ana,Eva) Ana
Eva (Ana,Aco) Eva
Aco (Eva,Ivo) Aco
Ivo Ivo 48
Primer - Rekurzivna veza

Je deo
(0,N)
(0,M)
Proizvod Sastavnica
Sastoji se od

sastoji se od je deo
101 (101,Motor) 101
Y45 (101,Karoserija) Y45
Motor (Motor,Klip) Motor
Karoserija (Y45, Motor) Karoserija
49

Klip (Y45, Karoserija) Klip


Slabi entiteti
Slabi entiteti ne mogu da egzistiraju bez drugog
entiteta.

Slabi entiteti nemaju atribut koji bi mogao biti


primarni klju - identifikaciono su zavisni.

Kod slabih entiteta klju je sloen:


prvi deo kljua potie od drugog entiteta u relaciji;
ostatak kljua potie od slabog entiteta.

50
Slabi tip entiteta

Grafiki prikaz

Primer:
Tip entiteta Dete je identifikaciono zavistan od tipa entiteta
Roditelj
ID

N 1
Roditelj R_D Dete

51
Apstrakcija podataka
Specijalizacija i generalizacija
Meusobno suprotne logike operacije
Specijalizacija
Proces kreiranje vie specijaliziranih podklasa od nekog
entiteta.
Generalizacija
Proces kreiranje generalne superklase od nekoliko srodnih
entiteta.

Specijalizacija u ER modelu - IS_A hijerarhija


52
Apstrakcija podataka
Specijalizacija i generalizacija
Generalizacija je apstrakcija u kojoj se skup slinih tipova
objekata predstavlja optijim generikim tipom (nadtipom).
Slini tipovi objekata tipovi objekata koji imaju odreeni
broj istih (zajednikih) atributa, tipova veza sa drugim
objektima i operacija.
Primer - Generalizacija
Studenti, Nastavnici, Slubenici, Politiari
su
Osobe
53
Primer
Generalizacija (IS_A hijerarhija)

Vozilo

IS_A

Autobus Kamion Limuzina

54
Primeri

IS_A hijerarhija

Stanovnik

IS_A

Zaposlen Nezaposlen Penzioner

55
Kardinaliteti IS_A hijerarhije
Preslikavanje moe biti:
Totalno (ako svakoj pojavi nadklase odgovara bar jedna pojava
podklase)
- Minimalni kardinalitet je 1
Parcijalno (ako bar jednoj pojavi nadklase ne odgovara nijedna
pojava podklase)
- Minimalni kardinalitet je 0
Disjunktno (ako je svakoj pojavi nadklase pridruena pojava iz
najvie jedne podklase)
- Maximalni kardinalitet je 1
Preseno (ako bar jednoj pojavi nadklase odgovaraju pojave iz vie
od jedne podklase)
- Maximalni kardinalitet je N 56
Primer
Kardinaliteti IS_A hijerarhije

Stanovnik

totalno (1,1)

disjunktno
IS_A

(1,1) (1,1) (1,1)

Zaposlen Nezaposlen Penzioner

57
Primer
Kardinaliteti IS_A hijerarhije

Nezaposlen
parcijalno (0,N)
preseno
IS_A

Dete Uenik Student penzioner

58
Gerund (glagolska imenica)
Kada treba povezati dve veze, one postaju gerund.
Kada veza ima atribute, ona postaje gerund.

X XY Y

XYVW

V VW W

59
Primer
Gerund (glagolska imenica)

Radnik Osposobljen Maina

Proizvodi Moe_
proizvesti

Potrebna nam je veza Proizvodi

Deo 60
Primer
Pogrean dijagram

Osposobljen

Radnik Proizvodi Maina

Moe_
Deo
proizvesti

61
Tip poveznika (veza) reda veeg od dva

je veza vie od dva tipa entiteta

Primer
(0,N) (0,1)
Izvodjenje_
Student Nastavnik
nastave

(0,N)

Predmet
62
Heuristike metode

Metode i tehnike reavanja problema, uenja i


otkrivanja znanja koje su bazirane na iskustvu.
Koriste se da ubrzaju proces pronalaenja dovoljno
dobrog rjeenja od strane ljudi i maina.
Primjeri: korienje raznih uoptenih pravila,
intuicije i zdravog razuma.

63
Heuristika uputstva za ER modeliranje

Imenice ukazuju na potrebu uvoenja tipova entiteta.


Glagolski oblici ukazuju na potrebu uvoenja tipova
poveznika ili gerunda.
Fraze oblika bar jedan, najmanje jedan, vie i sline,
ukazuju na kardinalitete tipova poveznika ili gerunda.
Postojanje razliitih uloga eniteta jednog skupa u vezama sa
entitetima drugih skupova, ukazuje na potrebu uvoenje
vie tipova poveznika izmeu odgovarajuih tipova entiteta.
Veze izmeu entiteta jednog skupa ukazuju na potrebu
uvoenja rekurzivnog tipa poveznika. Kod rekurzivnih veza
je preporuljivo da se uloge entiteta eksplicitno navedu.
64
Heuristika uputstva za ER modeliranje
Vremensko prethoenje entiteta jednog skupa u odnosu na
entitete nekog drugog skupa, ukazuje na egzistencijalnu
zavisnost entiteta drugog skupa od entiteta prvog skupa.
Potreba selektivnog povezivanja entiteta tri ili vie skupova,
kod kojeg u vezi mogu uestvovati samo entiteti koji su ve u
nekakvoj drugoj vezi sa entitetima jednog (ili vie) drugih
skupova, ukazuje na neophodnost korienja gerunda, kao
modela tih veza.
Postojanje entiteta, jednog skupa, sa specifinim osobinama ili
sa specifinim vezama sa entitetima drugih skupova, ukazuje
na potrebu uvoenja I_SA hijerarhije. 65
Heuristika uputstva za ER modeliranje
Tip entiteta ili poveznika treba da sadri samo bitna
obeleja za realizaciju ciljeva postavljenih pred
automatizovani informacioni sistem.
Svako obeleje moe pripadati samo jednom tipu entiteta
ili samo jednom tipu poveznika.
Prevoenjem u relacioni model:
pojave tipa poveznika nasleuju kljueve povezanih
pojava tipova entiteta,
pojave slabog tipa entiteta nasleuju klju pojave
regularnog tipa entiteta,
pojave podklase nasleuju klju i osobine superklase
66

You might also like