You are on page 1of 38

Baze podataka

Model podataka

12/25/2009

Baze podataka

12/25/2009

Baze podataka

Postoji vie modela za modelovanje baza podataka. Najpoznatiji


model je model P. Chena koji se koristi pod nazivom

ER (ERA) model

12/25/2009

MOV

Entity

Model

Relationship

Objekti

Atribute

Veze

Baze podataka

System Development Method


System Design Method
Objektni model
Relacioni model
XML

12/25/2009

Baze podataka
Razlozi:
jednostavan
pregledan
lak za primenu i komuniciranje
ima dobru semantiku
ne zavisi ni od jednog konkretnog sistema
za upravljanje bazom podataka
moe se relativno lako prevesti u bilo koji model baze
podataka (hijerarhijski, mreni i relacioni)
Osnovni elementi ER modela su ...
12/25/2009

Baze podataka
Entiteti
Objekti modela koji su jednoznano odreeni nazivaju se
jedinstveno entitetima.
Entiteti se grafiki prikazuju pravougaonikom u okviru koga se
upisuje naziv tipa entiteta u jednini.

12/25/2009

Baze podataka

Primer: Entiteti Student i Nastavnik.

12/25/2009

Baze podataka
Atributi
Entiteti poseduju osobine (svojstva, obeleja). Opis jedne
osobine se sastoji od atributa (primer: visina, teina, boja ...)
kojim je jednoznano odreena vrsta osobine i vrednost
artibuta (primer: 188cm, 76 kg, zelena ...). Zajedno, atribut i
vrednost atributa jesu opis odreene osobine entiteta.
Grafiki prikaz atributa:

12/25/2009

Baze podataka

Primer entiteta Student sa odgovarajuim atributima


PREZIME

IME

BR. INDEKSA

STUDENT

JMBG

Treba razlikovati pojave entiteta (entity instance, entity


occurrence) koji predstavljaju konkretne objekte (primer:
student Dragan Novakovi, br. ind. 80/90, JMBG
1108971720025) i tipove entiteta (entity class, entity set) koji
predstavljaju skup svih entiteta (pojava entiteta) sa zajednikim
atributima (primer: skup svih studenata odnosno apstraktni tip
entiteta STUDENT sa optim atributima: Broj indeksa, Ime,
Prezime, JMBG). esto se i jedan i drugi nazivaju entitetom a iz
samog primera se vidi da li je re o konkretnom ili apstraktnom
objektu.

12/25/2009

Baze podataka

to se atributa tie, definiimo jo i vrednost atributa (atribute


value) pojedinana pojava nekog atributa (npr. 80/90 za
atribut Broj indeksa); i domen atributa (atribute domain)
skup ili interval svih moguih vrednosti nekog atributa
(primer: skup svih brojeva indeksa studenata upisanih na
Mainski fakutet u Kragujevcu, ili skup svih smerova (PMAU,
Inf. u in., MKM, EPT, MVM, PM, Drum. sao., Ind. in.) ako
se kao novi atribut entiteta Student uvede i Smer koji studira).

12/25/2009

10

Baze podataka
Kljuevi
Klju je atribut ili kombinacija atributa koji jednoznano
odreuju entitet iz skupa. Obino je to jedan (prost ili
elementaran klju) ili kombinacija dva ili vie atributa (sloen
klju).
U jednom entitetu moe postojati vie kombinacija atributa
koji zadovoljavaju definiciju kljua (Primer: za jedno vozilo
mogui atributi-kandidati za klju koji jednoznano definiu
svako vozilo su: registarski broj, broj saobraajne dozvole,
broj motora, broj asije, itd. Svi ovi atributi pojedinano
odreuju jednistveni primerak entiteta Vozilo). Jedan od
kandidata koji se izabere da praktino slui za jednoznanu
identifikaciju entiteta se naziva primarni klju (primary key),
a svi ostali, neizabrani kandidati se tada nazivaju alternativni
kljuevi.

12/25/2009

11

Baze podataka

Grafiki, primarni klju se od ostalih atributa razlikuje


po tome to je podvuen.
PREZIME

IME

BR. INDEKSA

STUDENT

JMBG

Osobine primarnog kljua su:

12/25/2009

jednoznanost - dve pojave entiteta u skupu ne


smeju imati istu vrednost primarnog kljua bez
obzira da li je klju prost ili sloen,
minimalnost- ako je klju sloen i ako se iz njega
izostavi bilo koji atribut, gubi se osobina
jednoznanost.

12

Baze podataka
Za klju se esto, u nedostatku jedinstvenog identifikatora,
uvodi novi ID broj koji se dodeljuje svakoj pojavi entiteta
vodei rauna da nema dupliranja.
Primer: Za entitet Predmet ne usvajamo atribut Naziv kao
klju, jer mogu postojati dva predmeta sa istim nazivom ali
razliitim programima i fondom asova. Zato se kao novi
identifikator (klju) uvodi ifra koja se jedinstveno
dodeljuje svakom predmetu. Slino, moemo uvesti ifru
ID kao atribut (i klju) entiteta Nastavnik.
Naziv

ifra

Predmet

12/25/2009

Ime

ifra ID

Nastavnik

Prezime

JMBG

13

Baze podataka
Veze (odnosi) izmeu entiteta
Entiteti koji su elementi istog skupa, kao i entiteti iz razliitih
skupova mogu meusobno stajati u razliitim odnosima, tj.
povezani razliitim vezama.
Grafiki se veza prikazuje rombom u kome se upisuje naziv
veze.

12/25/2009

14

Baze podataka

Predstavljanje veze entintetom (dobija se meovita klasa


entitet - veza) uvodi se da bi se reio upravo problem
predstavljanja veze izmeu veza. Vrsta veze se tada
predstavlja kao klasa entiteta to omoguava da se moe
uspostaviti veza izmeu relacija. Grafiki se ovakva klasa
predstavlja na sledei nain:

12/25/2009

15

Baze podataka

Stepen relacije, kardinalnost, odnosno stepen veze


izmeu dva entiteta je veoma vana osobina veze.
Postoje tri razliita stepena veza koje mogu postojati
izmeu dva entiteta:

1:1

12/25/2009

(a)

1:N

(b)

N:1

(c)

M:N

(d)

16

Baze podataka
1:1 veza (jedan prema jedan), oznaava da se jedan
entitet jednog tipa pridruuje jednom entitetu drugog tipa.

Veza 1:1 oznaava da jedna maina obrauje samo jedan


deo, a jedan deo se obrauje samo na jednoj maini.
Primer: Izmeu entiteta Nastavnik i Katedra se moe
uspostaviti veza Nastavnik je ef Katedre. Jasno je da je
ova veza 1:1 jer jedan nastavnik moe biti ef samo jedne
katedre, i obrnuto, katedra moe imati samo jednog efa.
Nastavnik
12/25/2009

je ef

Katedra
17

Baze podataka
1:N veza (jedan - prema - vie), oznaava da se jedan
entitet prvog tipa pridruuje veem broju entiteta drugog
tipa, a jedan entitet drugog tipa samo jednom entitetu
prvog tipa (potpuno je isto i N:1).

Veza 1:N oznaava da jedna maina obrauje vie


delova, a jedan deo se obrauje na jednoj maini.

12/25/2009

18

Baze podataka

Primer: Posmatrajmo i sada dva entiteta: Nastavnik i


Katedra. Ako posmatramo vezu Nastavnik je lan Katedre
onda je jasno da je to veza N:1 (vie prema jedan) jer
jedan nastavnik moe biti lan samo jedne katedre, ali
jedna katedra moe imati vie lanova (radi jednostavnosti
prikaza su izostavljeni tj. nisu prikazani atributi entiteta).

Nastavnik

12/25/2009

je lan

Katedra

19

Baze podataka

M:N veza (vie - prema - vie), oznaava da se jednom


entitetu jednog tipa pridruuje vie entiteta drugog tipa i
obrnuto.

Veza M:N oznaava da jedna maina obrauje vie


delova a jedan deo se obrauje na vie maina.

12/25/2009

20

Baze podataka
Primer: Posmatrajmo entitete Student i Predmet.
Oigledno je da je posmatrana veza M:N (vie prema
vie) jer jedan student moe da slua vie predmeta, ali i
jedan predmet moe da slua vie studenata.

Broj indeksa

Student

Naziv

ifra

Prezime

Ime

Slua

Predmet

JMBG

12/25/2009

21

Baze podataka
Entiteti mogu biti i u vezi sami sa sobom i takva veza se
naziva unarna. Ako npr. entitet Nastavnik predstavlja u
irem smislu sve zaposlene radnike fakulteta koji
uestvuju u nastavi (i nastavnike (profesori i docenti) i
saradnike (asistenti i asistenti-pripravnici)) onda je moe
uspostaviti unarna veza Sarauje koja povezuje profesora
sa njegovim asistentom, sa kojim sarauje u izvoenju
nastave.
profesor
Nastavnik

sarauje
asistent

12/25/2009

22

Baze podataka
Retko, ali ipak mogue, javljaju se trojne i viestruke
veze, koje povezuju vie entiteta. Primer: Definiimo relaciju
Predavanje kao vezu izmeu tri entiteta: Predmeta koji se
predaje, Nastavnika koji dri predavanje i Uionice u kojoj je
predavanje vri.
Termin

Prezime

Ime

ifra ID

Predmet

predaje

Nastavnik

Naziv

ifra

JMBG

Uionica
Broj uion.

Broj mesta

Relacije mogu imati i svoje atribute i u prethodnom primeru


to je Termin u kome se predavanje odrava.
12/25/2009

23

Baze podataka

Najee se viestruke veze prevode u binarne


uvoenjem novog entiteta umesto posmatrane veze, kao
u primeru.
Nastavnik

dri

Predavanje

iz

Predmet

Uionica

12/25/2009

24

Baze podataka
Veza moe biti totalna (obavezna, mandatorna) i
parcijalna (opciona). Jedan tip entiteta ima totalnu vezu,
ako svaki entitet toga tipa uestvuje u bar jednoj vezi,
inae, veza je parcijalna. (Primer: student obavezno slua
bar neki predmet (obavezna veza), ali ne mora da znai
da svaki predmet slua bar neki student (npr. izborni
predmeti opciona veza)). Totalna veza se grafiki
oznaava takom (zvezdicom) na temenu veze prema
objektu koji ima totalnu vezu.

12/25/2009

25

Baze podataka

Pored do sada definisanih tipova veza postoje i specijalne


veze kojima se definie:
1 - Egzistencijalna zavisnost gde je veza fizika (primer
veze entiteta RADNIK i DETE. Ova veza se oznaava sa E).
RADNIK

Process
DETE

12/25/2009

26

Baze podataka
2 - Identifikaciona zavisnost gde je klju jednog entiteta
deo kljua slabog entiteta. Primer veze entiteta
FAKULTET i KATEDRA. Ova veza se oznaava sa I.
FAKULTET

KATEDRA
Process

12/25/2009

27

Baze podataka
3 - Identifikaciono - egzistencijalna zavisnost. Primer veze
izmeu entiteta RAUN i STAVKA, oznaava se sa E&I.

RAUN

E&I

STAVKA
Process

12/25/2009

28

Baze podataka

U okviru definisanja specijalnih veza definie se i pojam


slabog entiteta (weak entity) koji se grafiki predstavlja
dvostrukim pravougaonikom. (U napred navedenim
primerima to su: DETE, KATEDRA, STAVKA). Klasa slabog
entiteta je vrsta entiteta koji je na neki nain zavistan od
drugog entiteta.

To su entiteti koji za jednoznano definisanje tj. klju


zahtevaju i atribute (primarne kljueve) drugih entiteta sa
kojima su u vezi (foreign keys). Grafiki, ovi entiteti se
predstavljaju pravougaonicima sa duplim linijama a njihove
veze (identifikujue veze) se u literaturi oznaavaju i
rombom sa duplim linijama. Primer: Svaka katedra odrava
svoje sastanke tj. sednice koje se mogu opisati atributima
kao to su: Datum i Dnevni red, kao na slici.
12/25/2009

29

Baze podataka

Naziv

Katedra

ima

Sednica

Datum

Dnevni red

Nije dovoljno da se za klju usvojiti Datum, jer je mogue


(i verovatno) da dve katedre odre sednice istog dana.
Takoe, ni kombinacija {Datum, Dnevni red} nije dovoljna
jer je mogue da dve katedre odre svoje sastanke istog
dana sa istim dnevnim redom. Najbolje bi bilo da se
primarni klju formira od Naziva katedre i datuma
sastanka jer je malo verovatno da e jedna katedra dva
puta u toku jednog dana da odri sastanak. Znai, u
primarni klju entiteta Sednica ulazi i atribut Naziv drugog
entiteta Katedra, pa je tako entitet Sednica slab entitet.
12/25/2009

30

Baze podataka
Drugi izvor slabih entiteta su entiteti nastali zamenom
viestrukih veza binarnim, jer obino tako formiran entitet
zahteva atribute drugih entiteta sa kojima je u vezi za svoj
primarni klju.
Primer: entitet Predavanje je slab jer ne moe biti
jednoznano definisan samo svojim atributom Termin, ve
su neophodni i atributi ostalih entiteta (Sifra ID-da bi
identifikovali nastavnika koji dri predavanje, Broj
uionice-kako bi znali gde se dri predavanje, i ifra
predmeta koji se predaje). Ne moraju da se usvoje sva tri
atributa ve su dovoljna dva jer ako npr. znamo ko, kada i
gde dri predavanje znamo i iz kog predmeta se
predavanje dri (treba voditi rauna o minimalnosti kljua).
12/25/2009

31

Baze podataka

ifra ID

Nastavnik
Ime

ifra

Termin

JMBG

dri

Predavanje

Prezime

iz

Naziv

Predmet

Uionica
Broj uion.

12/25/2009

Broj mesta

32

Baze podataka
Zavisnost podtipa i zavisnost prethoenja su jo dva tipa
veze izmeu entiteta.
Generalizaciona zavisnost ili zavisnost podtipa je
zavisnost izmeu entiteta podtipa i njemu nadreenog
entiteta. Ova veza (zavisnost) se oznaava sa S.

12/25/2009

33

Baze podataka

U literaturi se ovakva zavisnost naziva i is (ili is a) veza


i grafiki se prikazuje trouglom.
Primer: Neki studenti se takmie na Mainijadi kao lanovi
ekipe fakulteta za odreenu oblast. Dakle, svi takmiari na
Mainijadi su studenti, ali svi studenti nisu i takmiari na
Mainijadi. Podentitet moe imati svoje specifine osobine,
npr. oblast u kojoj se student takmii.
Prezime

Ime

Broj indeksa

Student

JMBG

is

Takmiar
12/25/2009

Oblast
34

Baze podataka
Zavisnost predhoenja (oznaava se sa P) se koristi za
modeliranje predhoenja izmeu dva tipa entiteta gde
jedan entitet mora da predhodi drugom.
NARUIVANJE

SLANJE
Process

12/25/2009

35

Baze podataka

Da bi se realno opisalo stanje sistema, modelom


podataka se definie :
struktura podataka,
skup ogranienja i
skup operatora.

12/25/2009

36

Baze podataka
Ogranienja modela podataka
Postoje, dakle svojstva objekata, atributa i veza koja se
moraju ukljuiti u opis baze podataka, a nisu sastavni deo
strukture modela podataka.
Zbog toga se definie skup ogranienja pomou koga se
iskazuju dozvoljena stanja sistema i dozvoljeni nain prelaska
iz stanja u stanje. Jedna vrsta ogranienja mogu biti pravila
kojima se specificiraju dopustiva stanja atributa.
(Ogranienja vrednosti atributa: starost radnika ne sme biti
vea od 65 godina ili koliina u skladitu ne sme biti
negativan broj i sl.)

12/25/2009

37

Baze podataka
Operatori modela podataka
Da bi se izvrila neka operacija nad podacima u bazi podataka najee
se mora prvo izdvojiti deo baze podataka nad kojim e se izvriti. Prema
nainu izdvajanja razlikujemo dve osnovne vrste operatora:
navigacione i
specifikacione.
Navigacionim operatorima se bira jedan objekat ili veza tako to se sledi
(prati) navigacija odnosno logiki put kroz strukturu podataka.
Specifikacionim operatorima se bira grupa objekata ili veza i od njih se
formira (specificira) nova struktura na osnovu postojee logike strukture
baze podataka.
Navigacionim i specifikacionim operatorima se izdvajaju pojedinani
podaci ili manji delovi baze podataka nad kojima se mogu izvriti i sloene
operacije (auriranje, izdvajanje vrednosti (min, max, sum), izvravanje
raznih procedura koje e se primenjivati za ouvanje integriteta baze
podataka).
12/25/2009

38

You might also like