SlideShare une entreprise Scribd logo
1  sur  39
 Definicija i osnovni pojmovi baza podataka
                Entitet, svojstvo

       Relacijski model baza podataka

 Programi za upravljanje s bazama podataka

            Veze među entitetima

            Modeliranje podataka



              Predavanje 01 - Baze podataka    1
   Baza podataka je organizirana zbirka
    podataka.
   Razlikujemo bazu podataka od programa
    za upravljanje bazom podataka!
   Program za upravljanje bazom podataka
    (Database Management System, DBMS)
    podrazumijeva da su podaci na neki
    organizirani način pohranjeni u obliku
    dostupnom programu.
              Predavanje 01 - Baze podataka   2
   Relacijski model – podaci su spremljeni u
    tablicama, koje su međusobno povezane. Za
    nas najvažniji model.
   Hijerarhijski model
   Mrežni model
   Objektni model




                  Predavanje 01 - Baze podataka   3
   Model podataka je prikaz
     Stvari (objekata, događaja) važnih za opis poslovnih
      procesa
     Kako su stvari međusobno povezane

   Model podataka se stvara i mijenja sve dok ne
    predstavlja poslovne procese dovoljno dobro
    da se na osnovu modela može napraviti baza
    podataka



                     Predavanje 01 - Baze podataka           4
   Podaci su organizirani u tablicama.
   Svaka tablica predstavlja (najčešće) neki
    objekt (proizvod, tvrtku, zaposlenika) ili
    događaj (transakciju, račun).
   Objekt/događaj koji je predstavljen u
    tablici zovemo entitet.
   Entitet ima svoja svojstva (atribute).
   Svako svojstvo treba biti nekog tipa
    podataka.
   Objekt opisuje neku pojavu, stvar, osobu.
   Događaj načelno opisuje vezu između
    dva ili više entiteta (uglavnom objekata). 5
               Predavanje 01 - Baze podataka
    Za slijedeće entitete odredite vrstu
     (objekt/događaj)

    Učenik

    Prijava ispita

    Predmet

    Profesor

    Škola
               Predavanje 01 - Baze podataka   6
   Text – niz bilo kakvih znakova, duljine do 255 znakova.
   Memo – isto kao Text, samo duljina do 65535 znakova
   Number – prikaz brojčanih vrijednosti potrebnih za razna
    računanja. Zbog načina prikaza broja u računalu,
    ponekad su potrebna dodatna podešavanja.
   Date/Time – služi za prikaz vremena i datuma
   Currency – služi za računanje i prikaz novčanih
    vrijednosti. Novčane vrijednosti se mogu računati točno
    do na 4 decimalna mjesta.
   AutoNumber – Access sam generira vrijednosti u polju
    ovog tipa i time osigurava da se te vrijednosti ne
    ponavljaju. Idealan tip za polje koje predstavlja primarni
    ključ.
   Yes/No – dvije vrijednosti, Da ili Ne (0 ili 1)
   OLE object – binarni objekt kojeg umećemo u našu bazu.
    Može biti neki Office dokument, slika ili nešto drugo.
   Hyperlink – veza prema nekom drugom dokumentu bilo
    na disku bilo na Internetu
                   Predavanje 01 - Baze podataka            7
   U prethodnom zadatku je spomenut
         entitet Učenik. Navedite neka svojstva tog
         entiteta i odredite im tip podataka!

•   Naziv učenika (T)                   •    Ime roditelja (T)
•   Datum rođenja (D/T)                 •    Adresa (T)
•   Matični broj(T)                     •    Broj telefona (T)
•   JMBG (T)                            •    Koju školu pohađa
•   OIB (T)                                  (T)



                  Predavanje 01 - Baze podataka                  8
   Želimo napraviti bazu podataka u kojoj će
        među ostalim entitetima biti i entitet Grad
        koji će sadržavati podatke o gradovima u
        Europi. Navedite neka svojstva tog entiteta i
        odredite im tip podataka!
•   Naziv (T)              •    Lučki grad (Y/N)
•   Broj stanovnika (N)    •    Proračun (C)
•   Država (T)             •    Pokrajina/županija/oblast (T)
•   Broj automobila (N)    •    Broj mostova (N)
                           •    itd.

                     Predavanje 01 - Baze podataka         9
   Želimo napraviti bazu podataka u kojoj će
             među ostalim entitetima biti i entitet Račun,
             koji će sadržavati podatke o računima koje
             neka tvrtka izdaje Pretpostavite da se račun
             izdaje samo za jednu vrstu proizvoda!

•   Naziv robe (T)       •      PDV (C)
•   Naziv kupca (T)      •      Broj računa (T ili N)
•   Količina (N)         •      Datum izdavanja računa (D/T)
•   Jedinična cijena (C) •      Tko izdaje račun (osoba) (T)
•   Ukupna cijena (C) •         Način plaćanja (T)
                         •      Račun plaćen (Y/N)
                         Predavanje 01 - Baze podataka       10
   U jednom retku tablice držimo sve podatke o
    konkretnoj realizaciji jedne instance entiteta.
   Stupac u tablici sadrži podatke o nekom
    svojstvu za sve entitete.
   Redak tablice zovemo zapis (record).
   Stupac tablice zovemo polje (field)
   Među poljima treba postojati jedno polje koje
    na jedinstven način određuje zapis. To polje
    zovemo primarni ključ

                   Predavanje 01 - Baze podataka      11
Redak koji opisuje “Zagreb”
  Stupac u kojem su
  navedni nazivi
  gradova (polje Naziv)
Koliko instanci entiteta Grad je predstavljeno u tablici?

                     Predavanje 01 - Baze podataka           12
   Između entiteta mogu postojati tri vrste veza
     Veza 1:1 (jedan-jedan)
     Veza 1:N (jedan-više, piše se i 1:∞)
     Veza M:N (više-više, piše se i ∞:∞)
   Ovisno o tipu veze, vezu realiziramo
     ili uklapanjem entiteta u drugi entitet
     ili umetanjem primarnog ključa jednog entiteta
      među svojstva drugog entiteta
     ili stvaranjem posebne tablice (entiteta)




                  Predavanje 01 - Baze podataka        13
   kreirati entitete grad i adresa i povezati ih!
   Promatramo entitete za koje znamo da su
    povezani (u stvarnom svijetu). Nazovimo
    ih A i B
   Pitamo se s koliko zapisa iz B možemo
    povezati neki zapis iz A. Odgovor je 1 ili
    više.
   Pitamo se s koliko zapisa iz A možemo
    povezati neki zapis iz B. Odgovor je
    ponovo 1 ili više.
   Spojimo odgovore i dobijemo vezu.

               Predavanje 01 - Baze podataka     15
   Zadani su entiteti Student, Kolegij, Predavač,
    Studij
   Utvrdite veze između onih entiteta između
    kojih postoji direktna veza!
      Učenik      - Predmet                   više-više
      Učenik      - Profesor                  ne postoji
      Učenik      - Škola                     više-više
      Predmet     - Profesor                  više-više
      Predmet     - Škola                     više-više
      Profesor    - Škola                     jedan - više
                    Predavanje 01 - Baze podataka            16
Zadani su entiteti
   Država   – države u Europi
   Grad – svi gradovi sa više od 100000 stanovnika u
    Europi
   Glavni grad – glavni gradovi europskih država
   Jezik – svi službeni jezici u europskim državama

Odredite veze među entitetima.




                     Predavanje 01 - Baze podataka      17
Država          - Grad                        jedan-više
         Država          - Glavni grad                 jedan-jedan
         Država          - Jezik                       više-više
         Grad            - Jezik                       ne postoji
         Grad            - Glavni grad                 ne postoji
         Glavni grad     - Jezik                       ne postoji

   Između entiteta Jezik i Grad, te Jezik i Glavni grad ne
    postoji direktna veza već se ona realizira preko Države!

                       Predavanje 01 - Baze podataka                 18
   Između entitet Država i Glavni grad
   Država ima točno jedan glavni grad, a glavni
    grad pripada točno jednoj državi
   Realizacija veze: sva tri načina su moguća, ovisi
    o konkretnoj situaciji u bazi
   Prikazat ćemo realizaciju uklapanjem.




                   Predavanje 01 - Baze podataka    19
Država                                       Država
   Naziv države                                   – Naziv države
   Stanovnika
                                                   – Stanovnika
   Veličina
                                                   – Veličina
   Uređenje
                                                   – Uređenje
                                                   – Naziv grada
Glavni grad                                        – Broj stanovnika
  – Naziv grada
  – Broj stanovnika            Realizacija veze uklapanjem Glavnog
                               grada u Državu (može i obrnuto)

                   Predavanje 01 - Baze podataka                   20
   Između entiteta Država i Grad
   Država ima više gradova, a grad pripada točno
    jednoj državi.
   Realizacija veze: ili umetanjem primarnog
    ključa ili novom tablicom
   Umetanje primarnog ključa: imamo entitete A
    i B. Neka jednom zapisu entiteta A može
    odgovarati više zapisa entiteta B, a jednom
    zapisu entiteta B odgovara točno jedan zapis
    entiteta A. Tada među svojstva eniteta B
    umećemo primarni ključ entiteta A!
                  Predavanje 01 - Baze podataka     21
Država                          Entitet Država se ne mijenja
   Naziv države
   Stanovnika
   Veličina                                 Grad
   Uređenje                                       – Naziv grada
                                                   – Broj stanovnika
                                                   – Naziv države
Grad
 – Naziv grada                      Umetnuti primarni ključ entiteta
 – Broj stanovnika                  Država

                   Predavanje 01 - Baze podataka                   22
   Između entiteta Država i Jezik
   U državi se može govoriti više jezika, a jedan
    jezik se može govoriti u više država.
   Realizacija veze: novom tablicom
   Nova tablica treba imati svoj primarni ključ,
    sadržavati primarne ključeve Države i Jezika, te
    eventualna dodatna svojstva




                   Predavanje 01 - Baze podataka       23
Država                        Država i Jezik se ne mijenjaju
– Naziv
  države                   Primarni ključ nove tablice
– Stanovnika                                         Umetnuti
                               Govori_se
– Veličina                                           primarni
                               – ID                  ključevi
– Uređenje
                               – Naziv jezika        entiteta
                                                     Jezik i
                               – Naziv države
Jezik                                                Država
                               – Broj stanovnika
– Naziv jezika
– Pismo                     Dodatno svojstvo

                 Predavanje 01 - Baze podataka             24
   Tablice trebaju imati značenje
     Svaki redak bi trebao predstavljati jedno
      pojavljivanje entiteta
     Jedna tablica ne bi trebala sadržavati podatke o
      nekoliko entiteta
         Izbjegava se ponavljanje podataka
         Olakšavaju se izmjene
   Različiti stupci za podatke kojima treba
    neovisno pristupati.
       Ako trebate pristupati samo dijelu podataka u
        nekom stupcu, razdvojite stupac!


                        Predavanje 01 - Baze podataka    25
   Svaka ćelija sadrži točno jednu vrijednost
        U prošlom primjeru ne bi bilo dobro da smo u
        entitetu Država imali svojstvo Jezik koje ima
        vrijednost talijanski, francuski
   Svaka tablica treba imati primarni ključ
   Izbjegavati nepotrebno ponavljanje podataka




                      Predavanje 01 - Baze podataka     26
Razdvojiti grad od adrese
           Više podataka u jednoj ćeliji




 U tablici imamo podatke o dva entiteta, Zaposlenik i Odjel,
  tablicu treba razbiti na dvije.
 Koja je veza između Zaposlenik i Odjel?



• Što je primarni ključ za Zaposlenik ?
• Treba dodati novo polje: ID ili JMBG

                           Predavanje 01 - Baze podataka                      27
   Mana: dosta praznog prostora u tablici
    Zaposlenik

                    Predavanje 01 - Baze podataka   28
Predavanje 01 - Baze podataka   29
 Pri
    oblikovanju modela podataka treba voditi
 računa o slijedećem:
  ◦   Koji su entiteti potrebni za funkcioniranje baze
  ◦   Koje upite želimo postavljati na bazi
  ◦   Kakva izvješća želimo imati u bazi
  ◦   Kakve su veze među entitetima
  ◦   Koja su svojstva svakog entiteta
  ◦   Trebaju li se neka svojstva entiteta izdvojiti u posebnu
      tablicu?


                       Predavanje 01 - Baze podataka             30
   Koji su entiteti?
   Postoje li veze između njih?
   Kakva je vrsta veze?
   Postoje li neki dodatni uvjeti?
   Kakve tablice trebamo za prikaz entiteta?
   Što je primarni ključ svake tablice?
   Koja su ostala polja u tablici?
   Koja polja/tablice trebamo za prikaz veze?
   Jesmo li nešto zaboravili???

                   Predavanje 01 - Baze podataka   31
   Želimo napraviti model podataka za
    videoteku. Potrebno je pratiti podatke o
    članovima, o filmovima te o posudbama koje
    članovi rade. Zbog jednostavnosti
    pretpostavljamo da članovi posuđuju jedan
    film. Također, treba znati koji je djelatnik
    posudio film. Za film se treba znati kojeg je
    žanra da bi filmove mogli složiti na police, te
    da li je vraćen ili ne. Pretpostavljamo da imamo
    točnu jednu kopiju filma.
   Napravite model!
                   Predavanje 01 - Baze podataka   32
Entiteti
             Član – podaci o članovima
             Film – podaci o filmovima
             Posudba – podaci o posudbi
             Djelatnik – podaci o djelatniku
Veze
 Član         - Posudba            1-∞
 Film         - Posudba            1-∞
 Djelatnik - Posudba               1-∞
                    Predavanje 01 - Baze podataka   33
Član                      Posudba                          Film
    Šifra člana (T)          Šifra posudbe (AN)            Šifra filma (AN)
    Ime i prezime
     (T)
                              Šifra člana (T)               Naziv filma (T)
    Adresa (T)               Šifra filma (N)               Žanr (T)
    Broj telefona            Id djelatnika (N)
     (T)                      Datum (D/T)
    Napomena (M)             Cijena (C)
                                                           Djelatnik
                              Film vraćen (Y/N)
                                                            Id djelatnika (AN)
                                                            Ime i prezime (T)
U raznim tablicama povezujemo polja koja imaju              Adresa (T)
isto značenje.                                              Broj telefona (T)
Ta polja trebaju biti istog tipa.                           Napomena (M)
Izuzetak je polje tipa Autonumber koji se
povezuje s poljem tipa Number u drugoj tablici!
                           Predavanje 01 - Baze podataka                   34
   Želimo omogućiti članovima videoteke da
    mogu dobiti popis filmova u kojima nastupa
    njihov omiljeni glumac. Koje preinake
    (dodavanje novih entiteta, dodavanje novih
    svojstava postojećim entitetima) treba
    napraviti?




                  Predavanje 01 - Baze podataka   35
Član                                                  Djelatnik
                                                        Id djelatnika (AN)
    Šifra člana (T)   Posudba
     Ime i prezime                                      Ime i prezime (T)
                         Šifra posudbe (AN)
     (T)                                                Adresa (T)
                          Šifra člana (T)
    Adresa (T)                                         Broj telefona (T)
                          Šifra filma (N)
    Broj telefona                                      Napomena (M)
     (T)                  Id djelatnika (N)
    Napomena (M)         Datum (D/T)
                          Cijena (C)
                          Film vraćen (Y/N)

                                                       Glumac
Film                                                      Id glumca (AN)
 Šifra filma (AN)     GlumacFilm                         Ime i prezime (T)
 Naziv filma (T)       Id (AN)
                                                          Godina rođ. (N)
 Žanr (T)              Šifra filma (N)
                                                          Nagrade (M)
                        Id glumca (N)
                       Predavanje 01 - Baze podataka                    36
   Prethodni model je napravljen uz pretpostavku
    da član posuđuje točno jedan film. Međutim, u
    praksi članovi mogu posuditi više filmova.
    Prepravite model tako da omogući i taj slučaj!




                  Predavanje 01 - Baze podataka   37
   Tablice Član, Djelatnik, Glumac, GlumacFilm
     ostaju iste kao u prethodnom modelu


                     Stavka                              Posudba
Film                                                        Šifra posudbe (AN)
                        Id stavka (AN)
 Šifra filma (AN)                                          Šifra člana (T)
                        Šifra filma (N)
 Naziv filma (T)                                           Id djelatnika (N)
                        Šifra posudbe (N)
 Žanr (T)                                                  Datum (D/T)
                        Film vraćen (Y/N)
                                                            Cijena (C)




                         Predavanje 01 - Baze podataka                      38
Član                                                Djelatnik
 Šifra člana       Posudba                          Id djelatnika
 Ime i prezime      Šifra posudbe                  Ime i prezime
   Adresa           Šifra člana                    Adresa
   Broj telefona    Id djelatnika                  Broj telefona
   Napomena         Datum                          Napomena
                     Cijena
Glumac
                                                    Stavka
 Id glumca          Film
                                                     Id Stavka
 Ime i prezime       Šifra filma
                                                     Šifra posudbe
 Godina rođ.         Naziv filma
                                                     Šifra filma
 Nagrade             Žanr
                                                     Film vraćen
                     GlumacFilm
                      Id
                      Šifra filma
                      Id glumca
                    Predavanje 01 - Baze podataka                 39

Contenu connexe

Tendances

ikt-u-svakodnevnom-okruzenju.pptx
ikt-u-svakodnevnom-okruzenju.pptxikt-u-svakodnevnom-okruzenju.pptx
ikt-u-svakodnevnom-okruzenju.pptxraven0241
 
Vrste i topologije računarskih mreža
Vrste  i topologije računarskih mrežaVrste  i topologije računarskih mreža
Vrste i topologije računarskih mrežaDragan Spiridonov
 
Uticaj racunara na zdravlje ljudi i zivotnu sredinu
Uticaj racunara na zdravlje ljudi i zivotnu sredinuUticaj racunara na zdravlje ljudi i zivotnu sredinu
Uticaj racunara na zdravlje ljudi i zivotnu sredinuSiniša Ćulafić
 
Kako napraviti dobru power point prezentaciju
Kako napraviti dobru power point  prezentacijuKako napraviti dobru power point  prezentaciju
Kako napraviti dobru power point prezentacijuSuperbubica
 
Microsoft office - prezentacija
Microsoft office - prezentacijaMicrosoft office - prezentacija
Microsoft office - prezentacijasime_visevic
 
Organizacija podataka
Organizacija podatakaOrganizacija podataka
Organizacija podatakamajapts
 
Zagadjivanje zemljista
Zagadjivanje zemljistaZagadjivanje zemljista
Zagadjivanje zemljistaDionisd
 
Softver i hardver
Softver i hardverSoftver i hardver
Softver i hardverNatashaBN
 
Kako napraviti dobru przentaciju
Kako napraviti dobru przentacijuKako napraviti dobru przentaciju
Kako napraviti dobru przentacijumajapts
 
šTa je algoritam i programiranje
šTa je algoritam i programiranješTa je algoritam i programiranje
šTa je algoritam i programiranjeSuzana Miljković
 
1. magnetno polje strujnih provodnika
1. magnetno polje strujnih provodnika1. magnetno polje strujnih provodnika
1. magnetno polje strujnih provodnikaZijadBegic1
 
Funkcionalni stilovi savic dusan -mirjana radojkovic
Funkcionalni stilovi  savic dusan -mirjana radojkovicFunkcionalni stilovi  savic dusan -mirjana radojkovic
Funkcionalni stilovi savic dusan -mirjana radojkovicnasaskolatakmicenja1
 
Zagađenje vode......
Zagađenje vode......Zagađenje vode......
Zagađenje vode......Mina Tanasić
 

Tendances (20)

ikt-u-svakodnevnom-okruzenju.pptx
ikt-u-svakodnevnom-okruzenju.pptxikt-u-svakodnevnom-okruzenju.pptx
ikt-u-svakodnevnom-okruzenju.pptx
 
Algoritmi
AlgoritmiAlgoritmi
Algoritmi
 
Vrste i topologije računarskih mreža
Vrste  i topologije računarskih mrežaVrste  i topologije računarskih mreža
Vrste i topologije računarskih mreža
 
Uticaj racunara na zdravlje ljudi i zivotnu sredinu
Uticaj racunara na zdravlje ljudi i zivotnu sredinuUticaj racunara na zdravlje ljudi i zivotnu sredinu
Uticaj racunara na zdravlje ljudi i zivotnu sredinu
 
Kako napraviti dobru power point prezentaciju
Kako napraviti dobru power point  prezentacijuKako napraviti dobru power point  prezentaciju
Kako napraviti dobru power point prezentaciju
 
Microsoft office - prezentacija
Microsoft office - prezentacijaMicrosoft office - prezentacija
Microsoft office - prezentacija
 
Organizacija podataka
Organizacija podatakaOrganizacija podataka
Organizacija podataka
 
Zagadjivanje zemljista
Zagadjivanje zemljistaZagadjivanje zemljista
Zagadjivanje zemljista
 
Softver i hardver
Softver i hardverSoftver i hardver
Softver i hardver
 
Računarska grafika
Računarska grafikaRačunarska grafika
Računarska grafika
 
Tastatura
TastaturaTastatura
Tastatura
 
Kako napraviti dobru przentaciju
Kako napraviti dobru przentacijuKako napraviti dobru przentaciju
Kako napraviti dobru przentaciju
 
Računarske mreže
Računarske mrežeRačunarske mreže
Računarske mreže
 
Uvod u programiranje
Uvod u programiranjeUvod u programiranje
Uvod u programiranje
 
šTa je algoritam i programiranje
šTa je algoritam i programiranješTa je algoritam i programiranje
šTa je algoritam i programiranje
 
Power point vezba 1
Power point vezba 1Power point vezba 1
Power point vezba 1
 
у туђим ципелама, чос
у туђим ципелама, чосу туђим ципелама, чос
у туђим ципелама, чос
 
1. magnetno polje strujnih provodnika
1. magnetno polje strujnih provodnika1. magnetno polje strujnih provodnika
1. magnetno polje strujnih provodnika
 
Funkcionalni stilovi savic dusan -mirjana radojkovic
Funkcionalni stilovi  savic dusan -mirjana radojkovicFunkcionalni stilovi  savic dusan -mirjana radojkovic
Funkcionalni stilovi savic dusan -mirjana radojkovic
 
Zagađenje vode......
Zagađenje vode......Zagađenje vode......
Zagađenje vode......
 

En vedette

Baze podataka besplatno (1)
Baze podataka besplatno (1)Baze podataka besplatno (1)
Baze podataka besplatno (1)ivankraljevic
 
Uvod u baze podataka singidunum
Uvod u baze podataka singidunumUvod u baze podataka singidunum
Uvod u baze podataka singidunumMarija Starcevic
 
Funkcije baze podataka u Excel u Micovic ljiljana
Funkcije baze podataka u Excel u Micovic ljiljanaFunkcije baze podataka u Excel u Micovic ljiljana
Funkcije baze podataka u Excel u Micovic ljiljanaDejan Pejčić
 
Funkcije baze podataka u Excel-u Micovic ljiljana
Funkcije baze podataka u Excel-u Micovic ljiljanaFunkcije baze podataka u Excel-u Micovic ljiljana
Funkcije baze podataka u Excel-u Micovic ljiljanaDejan Pejčić
 
Kreiranje baze podataka u Access-u
Kreiranje baze podataka u Access-uKreiranje baze podataka u Access-u
Kreiranje baze podataka u Access-uDejan Pejčić
 
Entitet, organizacija, baza i access
Entitet, organizacija, baza i accessEntitet, organizacija, baza i access
Entitet, organizacija, baza i accessSanja Jovanovic
 
Akcioni upiti u Access-u - Stevan Savic - Dejan Pejčić
Akcioni upiti u Access-u - Stevan Savic - Dejan PejčićAkcioni upiti u Access-u - Stevan Savic - Dejan Pejčić
Akcioni upiti u Access-u - Stevan Savic - Dejan Pejčićnasaskolatakmicenja
 
Funkcije baze podataka u Excel-u
Funkcije baze podataka u Excel-uFunkcije baze podataka u Excel-u
Funkcije baze podataka u Excel-uDejan Pejčić
 
Upiti u Microsoft Access-u
Upiti u Microsoft Access-uUpiti u Microsoft Access-u
Upiti u Microsoft Access-uDejan Pejčić
 
Data WareHose
Data WareHoseData WareHose
Data WareHoseKruno Ris
 

En vedette (18)

Baza podataka
Baza podatakaBaza podataka
Baza podataka
 
Baze podataka besplatno (1)
Baze podataka besplatno (1)Baze podataka besplatno (1)
Baze podataka besplatno (1)
 
I to je to a
I to je to aI to je to a
I to je to a
 
Baze podataka i SQL - Vlatko Vlahek
Baze podataka i SQL - Vlatko VlahekBaze podataka i SQL - Vlatko Vlahek
Baze podataka i SQL - Vlatko Vlahek
 
Uvod u baze podataka singidunum
Uvod u baze podataka singidunumUvod u baze podataka singidunum
Uvod u baze podataka singidunum
 
1. Osnove SQL-a
1. Osnove SQL-a1. Osnove SQL-a
1. Osnove SQL-a
 
Sql osnova
Sql   osnovaSql   osnova
Sql osnova
 
Funkcije baze podataka u Excel u Micovic ljiljana
Funkcije baze podataka u Excel u Micovic ljiljanaFunkcije baze podataka u Excel u Micovic ljiljana
Funkcije baze podataka u Excel u Micovic ljiljana
 
Funkcije baze podataka u Excel-u Micovic ljiljana
Funkcije baze podataka u Excel-u Micovic ljiljanaFunkcije baze podataka u Excel-u Micovic ljiljana
Funkcije baze podataka u Excel-u Micovic ljiljana
 
Kreiranje baze podataka u Access-u
Kreiranje baze podataka u Access-uKreiranje baze podataka u Access-u
Kreiranje baze podataka u Access-u
 
Zadatak iz access-a
Zadatak iz access-aZadatak iz access-a
Zadatak iz access-a
 
Entitet, organizacija, baza i access
Entitet, organizacija, baza i accessEntitet, organizacija, baza i access
Entitet, organizacija, baza i access
 
Akcioni upiti u Access-u - Stevan Savic - Dejan Pejčić
Akcioni upiti u Access-u - Stevan Savic - Dejan PejčićAkcioni upiti u Access-u - Stevan Savic - Dejan Pejčić
Akcioni upiti u Access-u - Stevan Savic - Dejan Pejčić
 
Upiti u Access-u
Upiti u Access-uUpiti u Access-u
Upiti u Access-u
 
Funkcije baze podataka u Excel-u
Funkcije baze podataka u Excel-uFunkcije baze podataka u Excel-u
Funkcije baze podataka u Excel-u
 
Upiti u Microsoft Access-u
Upiti u Microsoft Access-uUpiti u Microsoft Access-u
Upiti u Microsoft Access-u
 
Excel priprema-1112
Excel priprema-1112Excel priprema-1112
Excel priprema-1112
 
Data WareHose
Data WareHoseData WareHose
Data WareHose
 

Baza podataka

  • 1.  Definicija i osnovni pojmovi baza podataka  Entitet, svojstvo  Relacijski model baza podataka  Programi za upravljanje s bazama podataka  Veze među entitetima  Modeliranje podataka Predavanje 01 - Baze podataka 1
  • 2. Baza podataka je organizirana zbirka podataka.  Razlikujemo bazu podataka od programa za upravljanje bazom podataka!  Program za upravljanje bazom podataka (Database Management System, DBMS) podrazumijeva da su podaci na neki organizirani način pohranjeni u obliku dostupnom programu. Predavanje 01 - Baze podataka 2
  • 3. Relacijski model – podaci su spremljeni u tablicama, koje su međusobno povezane. Za nas najvažniji model.  Hijerarhijski model  Mrežni model  Objektni model Predavanje 01 - Baze podataka 3
  • 4. Model podataka je prikaz  Stvari (objekata, događaja) važnih za opis poslovnih procesa  Kako su stvari međusobno povezane  Model podataka se stvara i mijenja sve dok ne predstavlja poslovne procese dovoljno dobro da se na osnovu modela može napraviti baza podataka Predavanje 01 - Baze podataka 4
  • 5. Podaci su organizirani u tablicama.  Svaka tablica predstavlja (najčešće) neki objekt (proizvod, tvrtku, zaposlenika) ili događaj (transakciju, račun).  Objekt/događaj koji je predstavljen u tablici zovemo entitet.  Entitet ima svoja svojstva (atribute).  Svako svojstvo treba biti nekog tipa podataka.  Objekt opisuje neku pojavu, stvar, osobu.  Događaj načelno opisuje vezu između dva ili više entiteta (uglavnom objekata). 5 Predavanje 01 - Baze podataka
  • 6. Za slijedeće entitete odredite vrstu (objekt/događaj) Učenik Prijava ispita Predmet Profesor Škola Predavanje 01 - Baze podataka 6
  • 7. Text – niz bilo kakvih znakova, duljine do 255 znakova.  Memo – isto kao Text, samo duljina do 65535 znakova  Number – prikaz brojčanih vrijednosti potrebnih za razna računanja. Zbog načina prikaza broja u računalu, ponekad su potrebna dodatna podešavanja.  Date/Time – služi za prikaz vremena i datuma  Currency – služi za računanje i prikaz novčanih vrijednosti. Novčane vrijednosti se mogu računati točno do na 4 decimalna mjesta.  AutoNumber – Access sam generira vrijednosti u polju ovog tipa i time osigurava da se te vrijednosti ne ponavljaju. Idealan tip za polje koje predstavlja primarni ključ.  Yes/No – dvije vrijednosti, Da ili Ne (0 ili 1)  OLE object – binarni objekt kojeg umećemo u našu bazu. Može biti neki Office dokument, slika ili nešto drugo.  Hyperlink – veza prema nekom drugom dokumentu bilo na disku bilo na Internetu Predavanje 01 - Baze podataka 7
  • 8. U prethodnom zadatku je spomenut entitet Učenik. Navedite neka svojstva tog entiteta i odredite im tip podataka! • Naziv učenika (T) • Ime roditelja (T) • Datum rođenja (D/T) • Adresa (T) • Matični broj(T) • Broj telefona (T) • JMBG (T) • Koju školu pohađa • OIB (T) (T) Predavanje 01 - Baze podataka 8
  • 9. Želimo napraviti bazu podataka u kojoj će među ostalim entitetima biti i entitet Grad koji će sadržavati podatke o gradovima u Europi. Navedite neka svojstva tog entiteta i odredite im tip podataka! • Naziv (T) • Lučki grad (Y/N) • Broj stanovnika (N) • Proračun (C) • Država (T) • Pokrajina/županija/oblast (T) • Broj automobila (N) • Broj mostova (N) • itd. Predavanje 01 - Baze podataka 9
  • 10. Želimo napraviti bazu podataka u kojoj će među ostalim entitetima biti i entitet Račun, koji će sadržavati podatke o računima koje neka tvrtka izdaje Pretpostavite da se račun izdaje samo za jednu vrstu proizvoda! • Naziv robe (T) • PDV (C) • Naziv kupca (T) • Broj računa (T ili N) • Količina (N) • Datum izdavanja računa (D/T) • Jedinična cijena (C) • Tko izdaje račun (osoba) (T) • Ukupna cijena (C) • Način plaćanja (T) • Račun plaćen (Y/N) Predavanje 01 - Baze podataka 10
  • 11. U jednom retku tablice držimo sve podatke o konkretnoj realizaciji jedne instance entiteta.  Stupac u tablici sadrži podatke o nekom svojstvu za sve entitete.  Redak tablice zovemo zapis (record).  Stupac tablice zovemo polje (field)  Među poljima treba postojati jedno polje koje na jedinstven način određuje zapis. To polje zovemo primarni ključ Predavanje 01 - Baze podataka 11
  • 12. Redak koji opisuje “Zagreb” Stupac u kojem su navedni nazivi gradova (polje Naziv) Koliko instanci entiteta Grad je predstavljeno u tablici? Predavanje 01 - Baze podataka 12
  • 13. Između entiteta mogu postojati tri vrste veza  Veza 1:1 (jedan-jedan)  Veza 1:N (jedan-više, piše se i 1:∞)  Veza M:N (više-više, piše se i ∞:∞)  Ovisno o tipu veze, vezu realiziramo  ili uklapanjem entiteta u drugi entitet  ili umetanjem primarnog ključa jednog entiteta među svojstva drugog entiteta  ili stvaranjem posebne tablice (entiteta) Predavanje 01 - Baze podataka 13
  • 14. kreirati entitete grad i adresa i povezati ih!
  • 15. Promatramo entitete za koje znamo da su povezani (u stvarnom svijetu). Nazovimo ih A i B  Pitamo se s koliko zapisa iz B možemo povezati neki zapis iz A. Odgovor je 1 ili više.  Pitamo se s koliko zapisa iz A možemo povezati neki zapis iz B. Odgovor je ponovo 1 ili više.  Spojimo odgovore i dobijemo vezu. Predavanje 01 - Baze podataka 15
  • 16. Zadani su entiteti Student, Kolegij, Predavač, Studij  Utvrdite veze između onih entiteta između kojih postoji direktna veza! Učenik - Predmet više-više Učenik - Profesor ne postoji Učenik - Škola više-više Predmet - Profesor više-više Predmet - Škola više-više Profesor - Škola jedan - više Predavanje 01 - Baze podataka 16
  • 17. Zadani su entiteti  Država – države u Europi  Grad – svi gradovi sa više od 100000 stanovnika u Europi  Glavni grad – glavni gradovi europskih država  Jezik – svi službeni jezici u europskim državama Odredite veze među entitetima. Predavanje 01 - Baze podataka 17
  • 18. Država - Grad jedan-više Država - Glavni grad jedan-jedan Država - Jezik više-više Grad - Jezik ne postoji Grad - Glavni grad ne postoji Glavni grad - Jezik ne postoji  Između entiteta Jezik i Grad, te Jezik i Glavni grad ne postoji direktna veza već se ona realizira preko Države! Predavanje 01 - Baze podataka 18
  • 19. Između entitet Država i Glavni grad  Država ima točno jedan glavni grad, a glavni grad pripada točno jednoj državi  Realizacija veze: sva tri načina su moguća, ovisi o konkretnoj situaciji u bazi  Prikazat ćemo realizaciju uklapanjem. Predavanje 01 - Baze podataka 19
  • 20. Država Država  Naziv države – Naziv države  Stanovnika – Stanovnika  Veličina – Veličina  Uređenje – Uređenje – Naziv grada Glavni grad – Broj stanovnika – Naziv grada – Broj stanovnika Realizacija veze uklapanjem Glavnog grada u Državu (može i obrnuto) Predavanje 01 - Baze podataka 20
  • 21. Između entiteta Država i Grad  Država ima više gradova, a grad pripada točno jednoj državi.  Realizacija veze: ili umetanjem primarnog ključa ili novom tablicom  Umetanje primarnog ključa: imamo entitete A i B. Neka jednom zapisu entiteta A može odgovarati više zapisa entiteta B, a jednom zapisu entiteta B odgovara točno jedan zapis entiteta A. Tada među svojstva eniteta B umećemo primarni ključ entiteta A! Predavanje 01 - Baze podataka 21
  • 22. Država Entitet Država se ne mijenja  Naziv države  Stanovnika  Veličina Grad  Uređenje – Naziv grada – Broj stanovnika – Naziv države Grad – Naziv grada Umetnuti primarni ključ entiteta – Broj stanovnika Država Predavanje 01 - Baze podataka 22
  • 23. Između entiteta Država i Jezik  U državi se može govoriti više jezika, a jedan jezik se može govoriti u više država.  Realizacija veze: novom tablicom  Nova tablica treba imati svoj primarni ključ, sadržavati primarne ključeve Države i Jezika, te eventualna dodatna svojstva Predavanje 01 - Baze podataka 23
  • 24. Država Država i Jezik se ne mijenjaju – Naziv države Primarni ključ nove tablice – Stanovnika Umetnuti Govori_se – Veličina primarni – ID ključevi – Uređenje – Naziv jezika entiteta Jezik i – Naziv države Jezik Država – Broj stanovnika – Naziv jezika – Pismo Dodatno svojstvo Predavanje 01 - Baze podataka 24
  • 25. Tablice trebaju imati značenje  Svaki redak bi trebao predstavljati jedno pojavljivanje entiteta  Jedna tablica ne bi trebala sadržavati podatke o nekoliko entiteta  Izbjegava se ponavljanje podataka  Olakšavaju se izmjene  Različiti stupci za podatke kojima treba neovisno pristupati.  Ako trebate pristupati samo dijelu podataka u nekom stupcu, razdvojite stupac! Predavanje 01 - Baze podataka 25
  • 26. Svaka ćelija sadrži točno jednu vrijednost  U prošlom primjeru ne bi bilo dobro da smo u entitetu Država imali svojstvo Jezik koje ima vrijednost talijanski, francuski  Svaka tablica treba imati primarni ključ  Izbjegavati nepotrebno ponavljanje podataka Predavanje 01 - Baze podataka 26
  • 27. Razdvojiti grad od adrese Više podataka u jednoj ćeliji  U tablici imamo podatke o dva entiteta, Zaposlenik i Odjel, tablicu treba razbiti na dvije.  Koja je veza između Zaposlenik i Odjel? • Što je primarni ključ za Zaposlenik ? • Treba dodati novo polje: ID ili JMBG Predavanje 01 - Baze podataka 27
  • 28. Mana: dosta praznog prostora u tablici Zaposlenik Predavanje 01 - Baze podataka 28
  • 29. Predavanje 01 - Baze podataka 29
  • 30.  Pri oblikovanju modela podataka treba voditi računa o slijedećem: ◦ Koji su entiteti potrebni za funkcioniranje baze ◦ Koje upite želimo postavljati na bazi ◦ Kakva izvješća želimo imati u bazi ◦ Kakve su veze među entitetima ◦ Koja su svojstva svakog entiteta ◦ Trebaju li se neka svojstva entiteta izdvojiti u posebnu tablicu? Predavanje 01 - Baze podataka 30
  • 31. Koji su entiteti?  Postoje li veze između njih?  Kakva je vrsta veze?  Postoje li neki dodatni uvjeti?  Kakve tablice trebamo za prikaz entiteta?  Što je primarni ključ svake tablice?  Koja su ostala polja u tablici?  Koja polja/tablice trebamo za prikaz veze?  Jesmo li nešto zaboravili??? Predavanje 01 - Baze podataka 31
  • 32. Želimo napraviti model podataka za videoteku. Potrebno je pratiti podatke o članovima, o filmovima te o posudbama koje članovi rade. Zbog jednostavnosti pretpostavljamo da članovi posuđuju jedan film. Također, treba znati koji je djelatnik posudio film. Za film se treba znati kojeg je žanra da bi filmove mogli složiti na police, te da li je vraćen ili ne. Pretpostavljamo da imamo točnu jednu kopiju filma.  Napravite model! Predavanje 01 - Baze podataka 32
  • 33. Entiteti  Član – podaci o članovima  Film – podaci o filmovima  Posudba – podaci o posudbi  Djelatnik – podaci o djelatniku Veze Član - Posudba 1-∞ Film - Posudba 1-∞ Djelatnik - Posudba 1-∞ Predavanje 01 - Baze podataka 33
  • 34. Član Posudba Film  Šifra člana (T)  Šifra posudbe (AN)  Šifra filma (AN)  Ime i prezime (T)  Šifra člana (T)  Naziv filma (T)  Adresa (T)  Šifra filma (N)  Žanr (T)  Broj telefona  Id djelatnika (N) (T)  Datum (D/T)  Napomena (M)  Cijena (C) Djelatnik  Film vraćen (Y/N)  Id djelatnika (AN)  Ime i prezime (T) U raznim tablicama povezujemo polja koja imaju  Adresa (T) isto značenje.  Broj telefona (T) Ta polja trebaju biti istog tipa.  Napomena (M) Izuzetak je polje tipa Autonumber koji se povezuje s poljem tipa Number u drugoj tablici! Predavanje 01 - Baze podataka 34
  • 35. Želimo omogućiti članovima videoteke da mogu dobiti popis filmova u kojima nastupa njihov omiljeni glumac. Koje preinake (dodavanje novih entiteta, dodavanje novih svojstava postojećim entitetima) treba napraviti? Predavanje 01 - Baze podataka 35
  • 36. Član Djelatnik  Id djelatnika (AN)  Šifra člana (T) Posudba Ime i prezime  Ime i prezime (T)   Šifra posudbe (AN) (T)  Adresa (T)  Šifra člana (T)  Adresa (T)  Broj telefona (T)  Šifra filma (N)  Broj telefona  Napomena (M) (T)  Id djelatnika (N)  Napomena (M)  Datum (D/T)  Cijena (C)  Film vraćen (Y/N) Glumac Film  Id glumca (AN)  Šifra filma (AN) GlumacFilm  Ime i prezime (T)  Naziv filma (T)  Id (AN)  Godina rođ. (N)  Žanr (T)  Šifra filma (N)  Nagrade (M)  Id glumca (N) Predavanje 01 - Baze podataka 36
  • 37. Prethodni model je napravljen uz pretpostavku da član posuđuje točno jedan film. Međutim, u praksi članovi mogu posuditi više filmova. Prepravite model tako da omogući i taj slučaj! Predavanje 01 - Baze podataka 37
  • 38. Tablice Član, Djelatnik, Glumac, GlumacFilm ostaju iste kao u prethodnom modelu Stavka Posudba Film  Šifra posudbe (AN)  Id stavka (AN)  Šifra filma (AN)  Šifra člana (T)  Šifra filma (N)  Naziv filma (T)  Id djelatnika (N)  Šifra posudbe (N)  Žanr (T)  Datum (D/T)  Film vraćen (Y/N)  Cijena (C) Predavanje 01 - Baze podataka 38
  • 39. Član Djelatnik  Šifra člana Posudba  Id djelatnika  Ime i prezime  Šifra posudbe  Ime i prezime  Adresa  Šifra člana  Adresa  Broj telefona  Id djelatnika  Broj telefona  Napomena  Datum  Napomena  Cijena Glumac Stavka  Id glumca Film  Id Stavka  Ime i prezime  Šifra filma  Šifra posudbe  Godina rođ.  Naziv filma  Šifra filma  Nagrade  Žanr  Film vraćen GlumacFilm  Id  Šifra filma  Id glumca Predavanje 01 - Baze podataka 39

Notes de l'éditeur

  1. Baza podataka je npr. telefonski imenik, podaci o zaposlenicima koji se vode u obliku raznih kartoteka i slično Ovdje treba istaknuti mane papirnatih baza podataka (sortiranje po jednom kriteriju, glomaznost) i naglasiti prednosti elektroničkih baza podataka. Primjer: telefonski imenik U programe za rad s bazama podataka u prvom redu ubrajamo Access (zbog toga jer je relativno jednostavno dostupan), FoxPro, Oracle, Informix, DB2 ...
  2. Ova tri modela samo spomenuti.Može se još nadodati i hipertekstualni model (literatura koju sam konzultirao nije jednistvena u tome da li je riječ o modelu ili nije)
  3. - U idućem slajdu se propituje razumiju li oni što je entitet, što je atribut, a što vrijednost atributa. Ovdje im se može spomenuti da su atributi slični pojmu varijable u statistici, ali reakcija na to će (najvjerojatnije) biti uzdasi...
  4. Možda će se ovdje buniti kako to da je Prijava ispita događaj, stoga treba tu biti strpljiv. Probajte im sugerirati slijedeće: Što prijava ispita povezuje? Studenta i Kolegij (ima toga još, ispitni rok itd.). Može li student prijaviti više ispita? Može li se na jedan ispit prijaviti više studenata. Entitet Prijava ispita zapravo realizira vezu više:više između entiteta Student i Kolegij Naravno, i kolegiji Student i Studij su povezani, ali tu veza nije više:više nego jedan:više, pa je nije potrebno realizirati posebnom tablicom. Još uvijek ne spominjati veze između tablica.
  5. U ovom trenutku oni ne znaju što je primarni ključ, ali oko toga se ne brinemo. Nadalje, ovo su tipovi podataka u Accessu, ali restrikcija nije bitna jer ćemo raditi samo s tim programom. Definicija tipa je nešto relativno apstraktno, ali probajte ih podsjetiti na Excel – tamo su mogli formatirati ćeliju tako da Excel zna nalazi li se unutra tekst, broj, datum ili nešto slično. Za Text, Memo – istaknuti da mogu unutra biti i dijakritički znakovi Za Number reći da ćemo naknadno objasniti podešavanja Za Autonumber može se reći da ima dva načina rada – slučajni odabir broja ili uvećavanje broja, mi koristimo uvećavanje Za OLE object i Hyperlink napravit ćemo kasnije vježbu, ti objekti nam nisu toliko bitni. Zapravo, najefektnije je da se napravi neka tablica u koju ćemo staviti slike, napraviti formu na tu tablicu i onda pokazati kako se slike pojavljuju na toj formi. To ću ostaviti za kraj kursa 
  6. Dati zadatak i pustiti ih da daju prijedloge. Na kraju pokazati rješenja. Bilo bi dobro postaviti pitanje: koje vrijednosti može poprimiti pojedini atribut! Tipovi podataka su predstavljeni skraćenicom. Objasniti da su Broj indeksa, JMBAG, Broj telefona svojstva koja su tekstualnog tipa, premda se mogu sastojati samo od znamenaka. Razlog tome je što s njima ništa ne možemo računati.
  7. Dati zadatak i pustiti ih da daju prijedloge. Na kraju pokazati rješenja. Bilo bi dobro postaviti pitanje: koje vrijednosti može poprimiti pojedini atribut!
  8. Ovo je njihov domaći teren, tu bi trebali spomenuti sve, možda će imati problema sa brojem računa! Ovdje treba postaviti pitanje: što od ovih podataka je višak, odnosno ne treba spremati jer se može iz preostalih izračunati? Ukupna cijena, PDV Na ovoj tablici treba spomenuti da se ona može uredno voditi i u Excelu, ali istaknuti i neke moguće probleme: npr. krivo upišemo naziv kupca i ako želimo naći njegovu ukupnu potrošnju to ne možemo napraviti. Dalje, što ako želimo imati neke dodatne podatke o kupcu kao broj telefona. Hoćemo li to pamtiti uz svaki račun? Možemo, ali što ako kupac promijeni broj telefona, a mi ga na osnovu nekog starog računa želimo obavijestiti o nečemu, novoj ponudi? Dakle treba im sugerirati da podatke o kupcu bi bilo pametno držati u jednoj posebnoj tablici i na neki način spojiti sa tablicom računa.
  9. Definicija primarnog ključa koju sam ja ovdje naveo nije naravno potpuno točna, jer se tamo spominje “više polja”, a ne samo jedno, ali je za naše potrebe sasvim dovoljna. Uglavnom, ideja će biti da u svakoj Access tablici koju naprave stave jedno polje id_nešto, tipa Autonumber. Time rješavaju sve probleme oko primarnog ključa.
  10. Ovdje treba pojašnjavati pojmove kao što su zapis i polje, da to što bolje razumiju. Pitati ih koje polje bi moglo biti primarni ključ, ali treba im reći da misle na ovu tablicu samo kao na dio jedne velike tablice. Vjerojatno će se iskristalizirati odgovor da je polje Naziv primarni ključ, ali im onda treba napomenuti da je moguće da postoje dva grada istog imena u različitim državama, a i u Hrvatskoj postoji više mjesta s istim nazivom, sugerirati im uvođenje novog polja.
  11. Glavni grad je zapravo podentitet od Grad pa tu ne možemo govoriti o nekoj vezi Jedna država ima više gradova, a jedan grad može biti samo u jednoj državi U jednoj državi se može govoriti više jezika (Švicarska, Belgija), a jedan jezik se može govoriti u više država
  12. Pocrtano neka je primarni ključ. Nismo naveli sva svojstva, samo neka da se dobije orijentacija. Naglasak je na realizaciji veze, a ne na odabiru svojstava.
  13. Naglasiti da se veza 1-više u pravilu realizira umetanjem primarnog ključa. Nakon što smo opisali postupak, postaviti pitanje što se događa u konkretnom slučaju! Naravno, među svojstva entiteta Grad treba uvrstiti primarni ključ entiteta Država
  14. Pocrtano neka je primarni ključ. Nismo naveli sva svojstva, samo neka da se dobije orijentacija. Naglasak je na realizaciji veze, a ne na odabiru svojstava.
  15. Naglasiti da se veza 1-više u pravilu realizira umetanjem primarnog ključa. Nakon što smo opisali postupak, postaviti pitanje što se događa u konkretnom slučaju! Naravno, među svojstva entiteta Grad treba uvrstiti primarni ključ entiteta Država
  16. Pocrtano neka je primarni ključ. Nismo naveli sva svojstva, samo neka da se dobije orijentacija. Naglasak je na realizaciji veze, a ne na odabiru svojstava.
  17. Svaki redak bi trebao predstavljati jedno pojavljivanje entiteta – vratiti se na primjer gradovima – svaki redak predstavlja točno jedan grad Za dva slajda kreće primjer jedne loše tablice pa se sve navedeno može pokazati
  18. Komentirati za Broj telefona: ako zaposlenik ima točno dva telefona, mogu se staviti polja telefon1 i telefon2, ali ako ih ima više, to postaje problem. Nadalje, ako zaposlenici imaju različiti broj telefona tada se određeni prostor razbacuje. Zato treba razmisliti o novoj tablici koja bi sadržavala podatke o broju telefona i šifri zaposlenika Treba primjetiti da ako izbrišemo podatke o djelatnicima u nekom odjelu, gubimo i podatke o odjelu.
  19. Sve je dobro ako se nedostatak uoči u procesu dizajniranja baze. Ukoliko se nedostatak uoči kada je baza puna podataka nedostatke je teško ispraviti.
  20. Ja ću napisati rješenje po dijelovima, pa bi to možda tako trebalo i prezentirati. Dosada nisam imao prezentaciju pa sam sve pisao na ploči, ali ovo se i na ovaj način može realizirati. Nakon što se kreira baza koja zadovoljava ove zahtjeve, stavit ćemo dodatne zahtjeve: npr. treba se omogućiti traženje prema režiseru, prema glumcima i slično.
  21. Prva tri entiteta će sigurno prepoznati, djelatnika im treba napomenuti. Zatim, treba spomenuti da su Član, Film i Djelatnik objekti, a Posudba je događaj. Dalje će trebati detektirati veze, skrenuti pažnju da je između entiteta Član i Film veza više-više realizirana preko tablice posudba
  22. Ovdje ih treba polako voditi: Aha, treba uvesti novi entitet Glumac. S kim je Glumac u vezi: sa Film. Kakva je tu vrsta veze? Jedan glumac može nastupiti u više filmova, u jednom filmu može biti više glumaca, veza je više-više. Realizacija s novom tablicom
  23. Ovdje, a i u prethodnom modelu može malo objašnjenje: za Šifru člana i Šifru filma mi smo mogli staviti tip N, T i AN i za svaki od ta tri tipa smo mogli naći razloge za (npr. šifra filma je oblika K-10, označava komediju s brojem 10). Ako nemamo neki posebni razlog da sami smišljamo primarni ključ, najjednostavnije je staviti neko polje tipa Autonumber za primarni ključ. To je ovdje napravljeno u tablicama GlumacFilm i Glumac. Autonumber je zgodan jer on garantira da se neće ponoviti ista vrijednost.
  24. Ovdje ih treba pustiti da predlažu, vjerojatno će najveći broj njih predlagati da se umetnu još neka dodatna polja za šifre filmova koje član posuđuje. To nije dobro, skrenite pažnju na činjenicu da će tada ta polja uglavnom zjapiti prazna, a nitko ne može predvidjeti koliko filmova će član posuditi. Stoga se posuđivanje treba realizirati novom tablicom koja realizira vezu više-više između tablica Posudba i Film (u jednoj posudbi može biti više filmova, jedan film može biti više puta posuđen (naravno, ne istovremeno)). Nadalje, iz tablice Posudba treba izbaciti polje Šifra_filma (a možemo razglabati oko polja Film vraćen). Polje Cijena treba ostaviti jer cijena posudbe više filmova može varirati (treći film besplatno, ali ako je vikend posudba, onda posudba traje dva dana i tek je četvrti film besplatan, ovo već zahtijeva programiranje  ).
  25. Ovdje je zgodno reći da na ovaj način realiziramo račune i kod drugih transakcija koje imaju više stavki. O tome ćemo još više reći idućom prilikom.
  26. Skrenuti pažnju da ovo nije konačni model, jer je proces izgradnje modela podataka iterativan. I u ovom modelu postoje mogućnosti proširenja: npr. ako imamo više kazeta istog filma, onda bi trebali imati neku šifru koja ovisi o samom filmu i još jednu šifru koja bi pratila kazete. Ali u to se ne bi upuštao ...