predavanje 02 - e-studente-student.fpz.hr/predmeti/b/baze_podataka/materijali/predavanje_02.pdf ·...
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ć
• 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ć
• 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ć
• 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