predavanje 02 - e-studente-student.fpz.hr/predmeti/b/baze_podataka/materijali/predavanje_02.pdf ·...

33
Baze podataka:: Predavanje 02 © 2012 Carić, Buntić BAZE PODATAKA Predavanje 02 Prof. dr. sc. Tonči Carić Mario Buntić, mag. ing. traff. Juraj Fosin, mag. ing. traff.

Upload: others

Post on 11-Sep-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

BAZE PODATAKA Predavanje 02

Prof. dr. sc. Tonči Carić Mario Buntić, mag. ing. traff. Juraj Fosin, mag. ing. traff.

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

Sadržaj današnjeg predavanja

• Definiranje osnovnih pojmova – entitet, instanca entiteta ili n-torka – atribut

• opisni, viševrijednosni, obvezni i identifikacijski

• Veze – klasifikacija odnosa među entitetima

• 1:N, N:1, N:M

• Složeniji odnosi među entitetima – podtip, Involuirana i ternarni

• Oblikovanje baze podataka (ER model) – ER dijagram – dijagram Entiteta

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Veza između baze podatka i realnog svijeta. – Baza podataka uvijek predstavlja sliku stvarnog procesa iz

okoline • baza podataka sastoji se od podataka koji su međusobno

povezani • podaci u bazi predstavljaju dio realnog svijeta

• Objekate iz realnog svijeta možemo gledati kroz tri različita pojma – Entiteti - objekti, događaji koji nas zanimaju

• Atributi – svojstva ili obilježja entiteta

– Veze - odnosi među entitetima

Baza podataka Veza sa realnim svijetom

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Za opis procesa studiranja

– osnovni element skupa entiteta je STUDENT – skup svih studenata sa nekim zajedničkim svojstvima.

• Svaki student - pojedinac – predstavlja

• jedan element skupa entiteta STUDENT

Osnovni pojmovi Atribut i entitet - primjer

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Entitet STUDENT je skup svih studenata

• Mogući zajednički atributi (svojstva) studenata: – ime – prezime – adresa – JMBG – broj indeksa – datum rođenja – itd.

Osnovni pojmovi Atribut i entitet - primjer

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Definicije – Entitet je skup objekata iz realnog svijeta koji

imaju naglašena zajednička svojstva • Entitet je definiran kao skup

– E={e1 , e2 , e3 , e4 ... en} – gdje su e1,...,en elementi entiteta

– Atribut je svojstvo entiteta • elementi entiteta imaju

– zajednička svojstva koja ih opisuju tj. definiraju

Osnovni pojmovi Entitet

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Atribut je svojstvo, obilježje entiteta

• Da bi neki entitet iz realnog svijeta prikazali kao skup objekata potrebno je utvrditi sljedeće: – Selekciju atributa – podrazumjeva utvrđivanje koji

atributi opisuju entitet iz našeg kuta gledanja

– Integritet atributa – predstavlja ograničenja i pravila vezana za pojedini atribut

– Kardinalitet atributa – je podataka o zastupljenosti atributa

Osnovni pojmovi Atribut

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

Osnovni pojmovi Kardinalitet

• Kardinalitet atributa je broj koji govori koliko vrijednosti pojedini atribut daje za opis jednog elementa entiteta

• Primjer – Promatra se entitet STUDENT i njegov atribut Ime – Kardinalitet atributa Ime u entitetu STUDENT

kazuje koliko imena može imati student pojedinac – Pri utvrđivanju kardinaliteta određuje se donja i

gornja granica

card(A,E)=(min card(A,E), max card(A,E))

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

Osnovni pojmovi Kardinalitet

• card(A,E)=(min card(A,E), max card(A,E)) – A- atribut, E-entitet

• min card(A,E) – minimalni kardinalitet atributa A u entitetu E,

• max card(A,E) – maksimalni kardinalitet atributa A u entitetu E

• Za entitet STUDENT i atribut IME vrijedi: – min card(IME, STUDENT)=1

• jer svaki student ima najmanje i obavezno jedno ime.

– max card(IME, STUDENT)=1 • jer svaki student ima samo jedno ime

card(IME,STUDENT)=(1,1)

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Primjer 2: – Atribut ZAVRŠENA ŠKOLA u entitetu STUDENT – Ovim atributom prikazujemo naziv srednje škole koju su završili

studenti prije upisa na fakultet

– Za atribut ZAVRŠENA ŠKOLA u entitetu STUDENT vrijedi: • min card(ZAVRŠENA ŠKOLA, STUDENT) = 0

kazuje da kod prikaza pojedinog studenta ne moramo obavezno imati podatak o njegovoj završenoj srednjoj školi • max card(ZAVRŠENA ŠKOLA, STUDENT)=1

znači da je pojedini student završio jednu srednju školu • card(ZAVRŠENA ŠKOLA,STUDENT)=(0,1)

– Atributi sa minimalnim kardinalitetom jednakim 0 nisu obvezni

Osnovni pojmovi Kardinalitet - primjer

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Viševrijednosni atributi su atributi (svojstva), koja mogu imati više vrijednosti za pojedini element entiteta.

• Primjer: – Promatrano atribut SPORT u entitetu STUDENT

• on može imati više različitih vrijednosti, jer se pojedini student može baviti sa više sportova, a neki drugi student se možda uopće ne bavi sportom.

• Vrijedi: • min card(SPORT, STUDENT) = 0

– jer je moguće da se pojedini student ne bavi sportom

• max card(SPORT, STUDENT) = n – jer se student može baviti sa više sportova

• card(SPORT, STUDENT) = (0, n).

• Atributi koji imaju ovako definirani kardinalitet nazivaju se viševrijednosni atributi.

Osnovni pojmovi Viševrijednosni atributi

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

Indetifikator (identifikacijski atribut)

je atribut koji jedinstveno

određuje pojedine elemente entiteta.

U entitetu (skupu) ne mogu postojati

dva elementa sa istom vrijednošću identifikatora

Osnovni pojmovi Opisni atributi i indetifikatori

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Indetifikator (identifikacijski atribut) je atribut koji jedinstveno određuje pojedine elemente entiteta.

• U entitetu (skupu) ne mogu postojati dva elementa sa istom vrijednošću identifikatora.

• Primjer: – Entitet STUDENT sa atributima: Ime, Prezime, Mjesto rođenja, Datum

rođenja, JMBG, Završena škola i Sport

– Atributa JMBG je jedinstven za svaki element entiteta, tj. ne postoje dva studenta sa istim JMBG brojem.

– Atribut JMBG je identifikator, za razliku od ostalih atributa, koji se smatraju opisnim atributima

– Za svaki identifikator vrijedi da je njegov maksimalni kardinalitet jednak 1

Osnovni pojmovi Opisni atributi i indetifikatori

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

VEZE

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Svaki entitet je u nekakvom odnosu/vezi s entitetom iz svog okruženja – Veza je nešto što veže dva ili više entiteta – Postoji iznimka kada je entitet u vezi sa samim sobom

• Veze se mogu podjeliti na – jednostavne

• su binarne veze tj. veze izmeđ�u dva entiteta. • ove veze se još zovu funkcionalnost veze

– složene • u stvarnosti se pojavljuju složenije veze od binarnih • primjer takvih veza su: involuirane , podtip i ternarne

veze

Osnovni pojmovi Veze

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Svaki element skupa R može biti povezan samo sa jednim elementom skupa S

• Isto vrijedi za elemente skupa S.

• Primjer – Veza između entiteta DRŽAVA i HIMNA – Svaka država može imati samo jednu himnu, dok svaka himna

pripada samo jednoj državi

Jednostavne veze 1 : 1

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Svaki element skupa R može biti povezan sa više elemenata skupa S, ali ne nužno.

• Dok svaki element skupa S može biti povezan sa samo jednim elementom skupa R.

• Primjer – Veza između entiteta DRŽAVA i GRAD – Svaka država može imati više gradova dok svaki grad pripada samo

jednoj državi

Jednostavne veze 1 : N

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Svaki element skupa R može biti povezan sa više elemenata skupa S, ali i ne mora

• Isto vrijedi za elemente skupa S.

• Primjer – Veza između entiteta STUDENT i KOLEGIJ – Svaki student može biti upisan na više kolegija – Svaki kolegij može pohađati više studenata

Jednostavne veze M : N

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Involuirana veza povezuje neki entitet sa samim sobom.

• Dakle riječ je o binarnoj vezi izmeđ�u entiteta istog tipa • Involuirana veza može biti 1 : 1, 1 : N i M : N

Složene veze Involvuirane

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Podtip veze su veze u kojima je entitet E1 podtip entiteta E2.

• E1 ima sve atribute od E2 i svoje dodatne

• Podtip veza se ostvaruje relacijom

1 : 1 tj. sa JE

Složene veze Podtip

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Ternarna veza je ona veza koja u sebi sadrži tri različita tipa entiteta

• Ternarna veza se uvodi onda kada vezu nije moguće rastaviti na binarne veze

• Ternarna veza može se ostvariti na sljedeće načine N:M:P, 1:N:M, 1:1:M ili 1:1:1.

Složene veze Ternarne

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

Oblikovanje baza podataka

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Proces oblikovanja baze podataka nije formalno definiran • Zahtjeva kretivnost i razlikuje se od osobe do osobe • Oblikovanje postaje lakše sa iskustvom • Oblikovanja baza podataka izvodimo

– izradom modela entiteta i veza (engl. Entity‐Relationship Modelling)

• Rezultat ER modeliranja je:

– Dijagram entiteta – ER dijagram

Oblikovanje baza podataka

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• ER model je apstrakcija realnog svijeta • ER model se radi na osnovu korisničkih zahtjeva • Mnogo je precizniji od korisničkih zahtjeva • Elementi ER modela su

– Entiteti – Atributi – Odnosi među entitetima

• Prikazuje se s dvije vrste dijagrama – Dijagram entiteta

• Prikazuje samo entitete sa atributima – ER dijagram

• Prikazuje odnose među entitetima bez atributa

ER model

Baza podataka

Korisnički zahtjevi

ER model

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

ER model Elementi dijagrama

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Dijagram entiteta predstavlja grafički prikaz entiteta i njegovih atributa – entitet se prikazuje pravokutnikom i u njega se upisuje naziv entiteta – atributi se opisuju ovalnim znakovima – viševrijednosni atribut ima dvije ovalne linije i kardinalitet (0, n) – idetifikacijski atribut se podcrtava ili mu se podeblja naziv atributa

ER model Dijagram entiteta

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• ER dijagram prikazuje samo veze među entitetima

– Relacije se označavaju rombovima između entiteta koji sudjeluju u relaciji – Na poveznicu između entiteta i veza upisuje se funkcionalnost veze (1:1,

1:N, M:N)

• Najvažnija aktivnost kod oblikovanja baze podataka je prepoznati

veze među entitetima

• Na osnovu ER dijagrama transformacijskim pravilima se kreira relacijski model tj. sama baza podataka

ER model ER dijagram

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Primjer veze 1 : 1 – Veza između entiteta DRŽAVA i HIMNA

• Primjer veze 1 : N – Veza između entiteta DRŽAVA i GRAD

ER dijagram Primjer veza (1)

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Primjer veze M : N – Veza između entiteta STUDENT i KOLEGIJ

– Za veze M : N svojstveno je da sa sobom može donijeti određene atribute koji su posljedica relacijske veze

– U ovom primjeru, javljaju se atributi OCJENA i ŠKOLSKAGODINA – Ovi atributi nisu dio niti jednog od entiteta koji sudjeluju u vezi, već su

posljedica veze M:N, u ovom slučaju entiteta STUDENT i KOLEGIJ

ER dijagram Primjer veza (2)

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Primjer involuirane veze – Primjer na entitetu ZAPOSLENIK gdje se želi zapisati tko je

komu nadređeni

– Involurana veza se označava rombom kao i obična samo su linije dvostruke

ER dijagram Primjer veza (2)

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Primjer upotrebe slabog entiteta – Najbolji primjer slabog entiteta je veza izmeđ�u RAČUNA i

njegovih STAVAKA – STAVKE ne mogu postojati ako ne postoji entitet RAČUN

ER dijagram Primjer veza (3)

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić

• Korisnički zahtjevi: – Trgovina rabljenom robom MicroProdaja doo ima nekoliko prodajnih

mjesta od kojih je svako specijalizirano za samo jednu grupu proizvoda. Npr. rabljeni automobili se prodaju na samo jednom prodajnom mjestu, a rabljena računala na drugom itd. Svako prodajno mjesto ima nekoliko prodavača koji prodaju robu za njih. Svako prodajno mjesto ima svoga voditelja koji je samo jedan. Njegov je zadatak da upravlja prodajnim mjestom i prodavačima koji prodaju proizvode za to prodajno mjesto.

• Jedno od rješenja

ER dijagram Kompliciraniji primjer

Baze podataka:: Predavanje 02 © 2012 Carić, Buntić