BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ......
Transcript of BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ......
![Page 1: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/1.jpg)
BAZE PODATAKAVježba 1
![Page 2: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/2.jpg)
mag. ing. Denis Štajduhar
@B414
Vježbe:
@B525
10 vježbi: 5 - teorija
5 – PostgreSQL
1 izostanak – dodatna teorijska pitanja na
obrani seminarskog rada
2 izostanka – dodatni projekt
3,4,... izostanka – javiti se prof. Papiću
Seminarski rad:
Grupe po 2 studenta
Popis tema za seminarske radove na
portalu
Do 22.10. dogovoriti grupe i teme
Do 15.01. predati gotov seminarski
rad (dokumentaciju i bazu poslati
na mail [email protected])
21.01. prezentacije seminarskih
radova
![Page 3: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/3.jpg)
SUSTAVI ZA UPRAVLJANJE
BAZAMA PODATAKA
![Page 4: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/4.jpg)
Baza podataka
Skup međusobno povezanih podataka, pohranjenih
u vanjskoj memoriji računala.
Podaci su istovremeno dostupni raznim korisnicima
i aplikacijskim programima.
Podaci nisu razbacani po nezavisnim datotekama
nego su organizirani u jedinstvenu strukturu baze
podataka.
![Page 5: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/5.jpg)
![Page 6: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/6.jpg)
Koraci u projektiranju baze
podataka
Analiza podataka
Modeliranje podataka
Pretvaranje modela podataka u relacije
Baza podataka
![Page 7: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/7.jpg)
Model baze podataka
Sredstvo za prikazivanje objekata sustava, njihovih
atributa i njihovih međusobnih veza.
Hijerarhijski model
Mrežni model
RELACIJSKI MODEL
Objektni model
...
![Page 8: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/8.jpg)
Entity-Relationship diagram
![Page 9: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/9.jpg)
Ono o čemu želimo spremati podatke.
Skup objekata koji imaju neka zajednička svojstva.
Entitet može biti objekt ili biće (npr. kuća,
student,...) odnosno događaj ili pojava (npr.
nogometna utakmica, praznik, ...).
Entitet
ENTITET
![Page 10: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/10.jpg)
Atribut
• Entitet je opisan nizom atributa.
• Ukoliko neki atribut i sam zahtjeva svoje atribute,
tada ga se treba smatrati novim entitetom.
• Izborom atributa izražava se ono što nas u
realnom svijetu zanima.
ATRIBUT
![Page 11: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/11.jpg)
Primarni ključ
• Za svaki entitet moramo izabrati primarni ključ.
• Primarni ključ je minimalni set atributa koji
jednoznačno određuje jedan entitet.
• Npr. za tip entiteta AUTOMOBIL, kandidat za
primarni ključ je atribut REGISTRACIJSKI_BROJ.
ATRIBUT
![Page 12: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/12.jpg)
![Page 13: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/13.jpg)
Veza
• Veza predstavlja odnos između dva ili više entiteta.
• Veza može sadržavati opisne atribute koji opisuju
odnos između entiteta.
VEZA
![Page 14: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/14.jpg)
![Page 15: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/15.jpg)
Funkcionalnost veza
• Načini na koji veza može povezati primjerke
entiteta određeni su svojstvima funkcionalnosti,
obaveznosti članstva, odnosno kardinalnosti.
• Funkcionalnost je svojstvo koje kaže može li se
veza interpretirati kao preslikavanje (funkcija) iz
skupa primjeraka entiteta jednog tipa u skup
primjeraka entiteta drugog tipa.
• Funkcionalnost veze može biti:
• 1:1
• 1:N
• N:M
![Page 16: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/16.jpg)
Funkcionalnost veza
Jedan-naprama-jedan ( 1 : 1 )
• Jedan primjerak prvog tipa
entiteta može biti u vezi s
najviše jednim primjerkom
drugog tipa entiteta.
• Također, jedan primjerak drugog
tipa entiteta može biti u vezi s
najviše jednim primjerkom
prvog tipa entiteta.
STUDENT
INDEKS
DODJELJENO
1
1
![Page 17: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/17.jpg)
Funkcionalnost veza
Jedan-naprama-mnogo ( 1 : N )
• Jedan primjerak prvog tipa
entiteta može biti u vezi s 0,1 ili
više primjeraka drugog tipa
entiteta.
• No, jedan primjerak drugog tipa
entiteta može biti u vezi s
najviše jednim primjerkom
prvog tipa entiteta.
NASTAVNIK
KOLEGIJ
PREDAJE
1
N
![Page 18: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/18.jpg)
Funkcionalnost veza
Mnogo-naprama-mnogo ( M : N )
• Jedan primjerak prvog tipa
entiteta može biti u vezi s 0,1 ili
više primjeraka drugog tipa
entiteta.
• Također, jedan primjerak drugog
tipa entiteta može biti u vezi s
0,1 ili više primjeraka prvog tipa
entiteta.
STUDENT
KOLEGIJ
UPISAO
M
N
![Page 19: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/19.jpg)
Potrebno je napraviti bazu podataka za fakultet u
kojoj će se voditi evidencija o studentima koji su
upisali pojedini kolegij, o nastavnicima koji predaju
na pojedinom kolegiju, te o zavodu na kojem se
nalazi pojedini kolegij.
![Page 20: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/20.jpg)
Zadatak 1Cilj nam je napraviti bazu podataka za vođenje evidencija o osobnoj
kolekciji filmskih naslova koje posjedujemo. Za svaki filmski naslov željeli
bismo moći pohraniti osnovne informacije o filmu, poput naziva filma,
kratkog sadržaja, trajanja, žanra kojem pripada i sl. Kao i informacije o
osobi koja je film režirala te glumcima koji se u njemu pojavljuju, odnosno
ulogama koje su ostvarili.
Neka od pitanja na koja bismo pomoću spomenute baze trebali moći
odgovoriti su:
• Tko je sve glumio u određenom filmu?
• Tko je režirao određeni filmski naslov?
• Kojem žanru pripada određeni filmski naslov?
• Koja je duljina trajanja određenog filma?
• Kako glasi izvorni naslov određenog filma?
• U kojim je sve filmovima glumio određeni glumac?
• Koje sve filmove određenog žanra posjedujemo?
![Page 21: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/21.jpg)
Zadatak 1
![Page 22: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/22.jpg)
Složeni oblici u ER-modelima
• Slabi entiteti
• Involuirane veze
• Pod-tipovi
• Ternarne veze
• Agregacija
![Page 23: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/23.jpg)
Slabi entitet
SLABI ENTITET
• Entiteti koji ovise o nekim drugim entitetima.
![Page 24: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/24.jpg)
Slabi entitet
• Jednoznačnost slabog entiteta postiže se
kombiniranjem nekog od njegovih atributa sa
ključem nekog drugog atributa
• Skup entiteta iz kojeg uzimamo primarni ključ
naziva se identificirajući vlasnik slabog entiteta
(eng. identifying owner)
• Identificirajući vlasnik slabog identiteta vezuje se sa
slabim entitetom vezom tipa 1:N
• Svi elementi slabog entiteta imaju obavezno
članstvo u identificirajućem skupu veza
![Page 25: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/25.jpg)
Involuirane veze
• Povezuje jedan tip entiteta sa tim istim tipom
• Binarni odnos
![Page 26: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/26.jpg)
Pod-tipovi
• Tip entiteta E1 je
podtip tipa entiteta
E2 ako je svaki
primjerak od E1
također i primjerak od
E2
• E1 nasljeđuje sve
atribute od E2, no E1
može imati i dodatne
atribute
![Page 27: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/27.jpg)
Ternarne veze
• Uspostavljaju se između tri tipa entiteta
• Ternarni odnos
![Page 28: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/28.jpg)
Agregacija
• Veza između skupa entiteta i skupa veza
• Agregaciju koristiti kada imamo potrebu
uspostaviti vezu sa nekom drugom postojećom
vezom
• Agregacijom veze tretiramo kao entitete višeg
reda (apstraktni entitet)
![Page 29: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/29.jpg)
Agregacija
![Page 30: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/30.jpg)
Zadatak 2
(Nastavak prvog zadatka) … No, što ako u svojoj kućnoj kolekciji, osim
filmskih naslova, posjedujemo i različite televizijske serije te bismo
također željeli moći doći do odgovora na pitanja poput:
• Koliko sezona određene televizijske sezone posjedujemo?
• Koliko epizoda određene sezone određene televizijske serije
posjedujemo?
• Tko sve glumi u pojedinoj sezoni određene televizijske serije?
• Tko sve glumi u određenoj epizodi određene sezone određene
televizijske serije?
• Tko je sve režirao epizode u pojedinoj sezoni određene televizijske
serije?
• Koliko traje određena epizoda određene sezone određene televizijske
serije?
![Page 31: BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju](https://reader031.fdocuments.net/reader031/viewer/2022021603/5e1921e182c2cd356067d958/html5/thumbnails/31.jpg)