baze podataka - racunarstvo550.xyz. semestar/baze podatak… · model baze podataka sredstvo za...

Post on 20-Jul-2018

278 Views

Category:

Documents

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

BAZE PODATAKAVježba 1

mag. ing. Denis Štajduhar

dstajduh@fesb.hr

@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 dstajduh@fesb.hr)

21.01. prezentacije seminarskih

radova

SUSTAVI ZA UPRAVLJANJE

BAZAMA PODATAKA

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.

Koraci u projektiranju baze

podataka

Analiza podataka

Modeliranje podataka

Pretvaranje modela podataka u relacije

Baza podataka

Model baze podataka

Sredstvo za prikazivanje objekata sustava, njihovih

atributa i njihovih međusobnih veza.

Hijerarhijski model

Mrežni model

RELACIJSKI MODEL

Objektni model

...

Entity-Relationship diagram

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

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

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

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

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

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

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

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

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.

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?

Zadatak 1

Složeni oblici u ER-modelima

• Slabi entiteti

• Involuirane veze

• Pod-tipovi

• Ternarne veze

• Agregacija

Slabi entitet

SLABI ENTITET

• Entiteti koji ovise o nekim drugim entitetima.

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

Involuirane veze

• Povezuje jedan tip entiteta sa tim istim tipom

• Binarni odnos

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

Ternarne veze

• Uspostavljaju se između tri tipa entiteta

• Ternarni odnos

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)

Agregacija

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?

top related