of 31/31
BAZE PODATAKA Vježba 1

BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ... nego su organizirani u jedinstvenu strukturu baze podataka. Koraci u projektiranju

  • View
    31

  • Download
    0

Embed Size (px)

Text of BAZE PODATAKA - racunarstvo550.xyz. semestar/Baze podataka... · Seminarski rad: Grupe po 2 ......

  • BAZE PODATAKAVježba 1

  • mag. ing. Denis Štajduhar

    [email protected]

    @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

  • 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?