You are on page 1of 37

0

Računarstvo i informatika
Katedra za računarstvo
Elektronski fakultet u Nišu

Baze podataka (Računske vežbe)


ER dijagrami
Letnji semestar 2011/2012

1
0
Sadržaj
 Baze podataka – osnovni koncepti
 Faze projektovanja baze podataka
 Model entiteta i veza (ER model)
 ER dijagram - notacija
 ER dijagram – Crow’s foot notacija
 ER dijagram – UML notacija

2
Baze podataka
0
Baze podataka – osnovni koncepti
 Baza podataka je kolekcija povezanih podataka.
 Model podataka je centralni deo tehnologije baza
podataka.
 Model podataka predstavlja alat za opis strukture
baze podataka odnosno apstrakciju konkretnog
domena.
 Model podataka se sastoji od:
◦ skupa tipova objekata
◦ skupa operatora
◦ skupa ograničenja
 Tipovi modela podataka:
◦ konceptualni (EER, OO,...)
◦ implementacioni (relacioni, hijerarhijski, ...)
◦ fizički modeli

3
Baze podataka
0
Faze projektovanja baze podataka

4
Baze podataka
0
Model entiteta i veza
 Tvorac modela je Peter Chen (1976)
 Osnovna ideja
◦ Realan savet (ili njegov deo) može se opisati pomoću
dva primitivna koncepta: entitet i veza.
◦ Entitet je bilo koji objekat koji se može jednoznačno
identifikovati.
◦ Veza je relacija između dva ili više entiteta.
 Namena modela
◦ Za formiranje konceptualnog (logičkog) modela
podataka.
◦ Pogodno sredstvo za komunikaciju između korisnika i
analitičara i projektanta softvera.

5
Baze podataka
0
Model entiteta i veza
 Osnovni koncepti ER model su:
◦ entiteti i tip entiteta; jaki i slabi tip entiteta
◦ atributi i vrednost atributa; ključni atribut; domen
atributa
◦ veze i tip veze; specijalni tipovi veza
◦ ER dijagram (grafička reprezentacija ER modela)
 Entitet je subjekat, objekat, pojam, događaj ili
stanje o kojima se prikupljaju, obrađuju i
prezentiraju podaci u automatizovanim
informacionim sistemima a koji se može
jednoznačno identifikovati.

6
Baze podataka
0
ER dijagram - notacija
 Entitet se može identifikovati imenom i listom
svojstava.
 U ER dijagramu tip eniteta se crta kao
pravougaonik sa upisanim imenom. Ime se
upisuje velikim slovima.

RADNIK RUKOVODILAC SEKTOR

PROJEKAT FAKTURA

7
Baze podataka
0
ER dijagram – notacija
 Atributi predstavljaju zajedničke osobine koje
poseduju svi entiteti jednog skupa entiteta.
 Domen atributa predstavlja skup vrednosti koje
neki atribut može da ima.
 Domen atributa se definiše tipom podataka,
dužinom podataka i opsegom vrednosti.

8
Baze podataka
0
ER dijagram – notacija
 U ER dijagramu atributi se prikazuju kao elipse
sa upisanim nazivom i povezuju se neusmernim
potegom sa tipom entiteta ili tipom veze na koji
se odnose.
Matbr

Ime
Radnik
Prezime

Adresa

9
Baze podataka
0
ER dijagram - notacija
 Neki atributi mogu biti bez vrednosti za neki
entitet ili mogu biti neprimenjivi za konkretne
entitete. (Primer: Adresa).
 Tada se za taj entitet kreira NULL vrednost tog
atributa. Ukoliko je adresa radnika
nepoznata, atributi Adresa,
Matbr Broj_zgrade, Broj_stana uzimaju
NULL vrednost.
Adresa
Radnik Adresa radnika je poznata ali on
Broj_zgrade živi u kući, pa je atribut
Broj_stana neprimenljiv i on
uzima NULL vrednost.
Broj_stana

10
Baze podataka
0
ER dijagram - notacija
 Jednovrednosni atribut je atribut koji za pojavu
određenog entiteta može uzeti samo jednu vrednost
(Primer: Matbr – samo jedan matični broj, ime – osoba
ima samo jedno ime)
 Viševrednosni atribut je atribut za pojavu određenog
eniteta može uzeti više vrednosti (Primer: Br_telefona
– radnik može imati više brojeva).
Matbr

Ime
Radnik
Prezime

Br_telefona
11
Baze podataka
0
ER dijagram - notacija
 Prost atribut je atribut koji se dalje ne može
dekomponovati odnosno ne može doći do razdvojene
primene komponenti atributa. (Primer: Plata, Visina,
MBR.)
 Vrednost prostog atributa je prost podatak.

Matbr

Ime
Radnik
Prezime

Plata

12
Baze podataka
0
ER dijagram - notacija
 Složeni atribut je atribut koji se sastoji od niza prostih
atributa (Primer: Ime,Adresa).
 Vrednost složenog atributa je strukturni podatak.

Lično ime Prezime Plata

Ime Radnik Visina

Matbr
Adresa

Ulica Broj

13
Baze podataka
0
ER dijagram - notacija
 Izvedeni atributi su atributi čija se vrednost može dobiti
iz vrednosti drugih atributa. (Primer: Starost =
Tekući_datum – Datum_rođ)
 Vrednost izvedenog atributa je izvedeni podatak.
 Obično se ne čuvaju u bazi podataka.
Matbr

Radnik Datum_rođ

Starost

14
Baze podataka
0
ER dijagram - notacija
 Ključ entiteta predstavlja atribut ili skup atributa
čije vrednosti jednoznačno identifikuju svaku pojavu
entiteta (Primer: Matbr).
 Uklanjanjem bilo koje komponente (atributa) ključa,
on gubi svoje svojstvo identifikacije.
 Surogat ključ - Uvodi se tamo gde ne možemo
odrediti prirodan podskup atributa koji bi činili ključ
(Id, Redni broj, Broj indeksa i sl.).

15
Baze podataka
0
ER dijagram - notacija
 Kod ključnih atributa naziv atributa je podvučen
(Primer: MBR, Ime i Prezime).

Matbr Ime

Ime Prezime
Radnik Radnik
Prezime Adresa

Plata Plata

16
Baze podataka
0
ER dijagram notacija
 Tip veze modelira relacije između entiteta u istom ili
različitim skupovima.
 Veza uvek funkcioniše u oba smera (Ako je
RADNIK u vezi sa SEKTOROM važi i obratno).
 U ER dijagrami veza se predstavlja kao romb u koji se
upisuje ime te veze.

RADNIK RADI_U SEKTOR

17
Baze podataka
0
ER dijagram - notacija
 Kardinalnost veze definiše broj entiteta jedne vrste koji
su u vezi sa određenim brojem entiteta druge vrste.
◦ Jedan-prema-jedan (1:1)
◦ Jedan-prema-više (1:N) i Više-prema-jedan (N:1)
◦ Više-prema-više (M:N)

1 1
RADNIK RADI_U SEKTOR

Radnik radi u jednom sektoru. Sektor ima jednog radnika.

18
Baze podataka
0
ER dijagram - notacija
1 N
RADNIK RADI_U SEKTOR

Radnik radi u više sektora. Sektor ima jednog radnika.

N 1
RADNIK RADI_U SEKTOR

Radnik radi u jednom sektoru. Sektor ima više radnika.

M N
RADNIK RADI_U SEKTOR

Radnik radi u više sektora. Sektor ima više radnika.


19
Baze podataka
0
ER dijagram - notacija
 Participacija entiteta u vezi definiše da li svi entiteti
određenog tipa učestvuju u vezi ili ne.
◦ Totalna (egzistencijalna) participacija
◦ Parcijalna participacija

N 1
RADNIK RADI_U SEKTOR

parcijalna participacija totalna participacija

20
Baze podataka
0
ER dijagram - notacija
N 1
RADNIK RADI_U SEKTOR

Radnik ne mora da radi ni u jednom sektoru a može da radi najviše u


jednom sektoru.
Sektor ne mora da ima ni jednog radnik a može da ima više radnika.

N 1
RADNIK RADI_U SEKTOR

Radnik mora da radi u jednom sektoru i može da radi najviše u


jednom sektoru.
Sektor ne mora da ima ni jednog radnik a može da ima više radnika.

21
Baze podataka
0
ER dijagram - notacija
N 1
RADNIK RADI_U SEKTOR

Radnik ne mora da radi ni u jednom sektoru a može da radi najviše u


jednom sektoru.
Sektor mora da ima bar jednog radnik a može da ima više radnika.

N 1
RADNIK RADI_U SEKTOR

Radnik mora da radi u jednom sektoru i može da radi najviše u


jednom sektoru.
Sektor mora da ima bar jednog radnik a može da ima više radnika.

22
Baze podataka
0
ER dijagram - notacija
 Strukturna ograničenja – kardinalnost i participacija se predstavljaju
uređenim parom (min, max) što ima sledeće značenje:
◦ (min, max) – minimalan odnosno maksimalan broj entiteta
određenog tipa koji učestvuje u vezi
◦ min = 0 – parcijalna participacija
◦ min > 0 – totalna participacija

N 1
RADNIK RADI_U SEKTOR

(0, 1) (1, N)
RADNIK RADI_U SEKTOR

23
Baze podataka
0
ER dijagram - notacija
 Atributi veze predstavljaju zajedničku osobinu koju
imaju sve veze određenog tipa.

N 1
RADNIK ANGAŽOVAN PROJEKAT

Broj_sati

24
Baze podataka
0
ER dijagram - notacija
 Slabi tip entiteta je tip entiteta za koji je nemoguće
odrediti ključ. (Primer: CLAN_PORODICE)
 Mora biti povezan sa tipom entiteta koji ima sposobnost
identifikacije – vlasnik identifikacije. (Primer: RADNIK)
 Identifikujuća veza je veza između slabog tipa entiteta i
vlasnika identifikacije. (Primer: ZAVISI_OD)
 Parcijalni ključ je skup atributa slabog tipa entiteta koji
zajedno sa primarnim ključem vlasnika identifikacije
omogućava jednoznačnu identifikaciju entiteta slabog
tipa. (Primer: Ime)

25
Baze podataka
0
ER dijagram - notacija
Identifikujuća Slabi tip
Vlasnik veza
identifikacije entiteta

1 N
RADNIK ZAVISI_OD CLAN_PORODICE

Matbr Prezime
Ime Srodstvo

Ime Parcijalni ključ

Identifikujuća veza sa strane slabog tipa entiteta mora biti totalna


(svaki instanca slabog tipa entiteta mora biti u vezi sa instancom vlasnika
identifikacije)
Kardinalost na vlasnika identifikacije mora biti 1 (slabi tip entiteta
može imati samo jednog vlasnika identifikacijne)
26
Baze podataka
0
ER dijagram - notacija
 Stepen tipa veze je broj entiteta koji učestvuju u vezi:
◦ unarna (rekurzivna veza)
◦ binarna (povezuje dva tipa entiteta)
◦ ternarna (povezuje tri tipa entiteta)
◦ n-arna (povezuje više od tri tipa entiteta)

27
Baze podataka
0
ER dijagram - notacija
N

Unarna veza RADNIK JE_SEF

N 1
Binarna veza RADNIK ANGAŽOVAN PROJEKAT

1
SEKTOR
N
Ternarna veza RADNIK ANGAŽOVAN

PROJEKAT
M

28
Baze podataka
0
Crow’s foot notacija
 Entitet
Matbr

Ime
Radnik
Prezime

Dat_rodj

Nema posebnih oznaka za izvedene, viševrednosne i složene atribute.

29
Baze podataka
0
Crow’s foot notacija
 Veza

N 1
RADNIK RADI_U SEKTOR

30
Baze podataka
0
Crow’s foot notacija
 Kardinalnost i participacija su određene (min, max)
parom.
Nula ili jedan
Samo jedan
Nula ili više
Jedan ili više

31
Baze podataka
0
UML notacija
 Unified Modeling Language
 Tvorci: James Rumbaugh, Grady Booch i Ivar
Jacobson (“Three Amigos”)
 UML je jezik za projektovanje opšte namene koji
uključuje standardizovanu grafičku notaciju koji se
koristi za kreiranje abstraktnih modela sistema.
 Osnovna namena je objektno-orijentisano projektovanje
softvera. Može se uspešno koristiti i za projektovanje
baza podataka.
 Dijagram klasa definiše statičku strukturu sistema.
Dijagram klasa opisuje kako je sistem definisan a ne
kako se ponaša.
 Dijagram klase sadrži klase koje čine jedan sistem,
njihove atribute i međusobne relacije.
32
Baze podataka
0
UML notacija
 Klasa = Tip entiteta
 Klasa je predstavljena pravougaonikom koji je podeljena
na tri regiona koji sadrže:
◦ Ime klase
◦ Atribute
◦ Operacije
Ime klase
Ime

Plata Atributi
Radnik
Dat_rodj

Starost Operacije
(izvedeni atributi) 33
Baze podataka
0
UML notacija
 Atribut klase = Atribut entiteta
 Atributi klasa:
◦ Domen atributa (ime domena ili opis – Primer: datum i pol)
◦ Strukturni domen (za složene i viševrednosne atribute, Primer: složeni atribut
Ime)
◦ Operacije (izvedeni atributi, Primer: getStarost)

Licno_ime Prezime

Ime

RADNIK Pol

Starost Datum_rodj

34
Baze podataka
0
UML notacija
 Asocijacija = Tip veze
 Asocijacija se predstavlja linijom koja povezuje dve klase.
Kardinalnost i participacija se predstavljaju (min, max)
parom.

N 1
RADNIK RADI_U SEKTOR

35
Baze podataka
0
UML notacija
N 1
RADI_U
RADNIK SEKTOR

N M
RUKOVODI
DatumOd

(1,1) (1, N)
RADI_U
RADNIK SEKTOR

(1, N)
(0, M)
RUKOVODI
DatumOd

36
Baze podataka
0
UML notacija
 Agregacija nema odgovarajući ekvivalent u EER
dijagramu.
 Koristi se za predstavljanje viševrednosnih atributa.

Component

+{ordered}
1..n
Part

37
Baze podataka

You might also like