SlideShare a Scribd company logo
1 of 528
Podatkovne baze II

                          3. letnik, univerzitetni študij
                               smer INFORMATIKA




                                UNIVERZA V LJUBLJANI
                          Fakulteta za računalništvo in informatiko
                                    Prof. dr. Marko Bajec


Gradivo, verzija 2.5
I


                Splošne informacije...

                 Predavatelj
                        – Prof. dr. Marko Bajec, univ. dipl. ing.
                        – marko.bajec@fri.uni-lj.si
                     http http://bajecm.fri.uni-lj.si/
                        –


                 Asistenti
                        – Bojan Klemenc, Ana Šaša, Eva Zupančič, Starc Iztok
                        – {ime.priimek}@fri.uni-lj.si
                     http http://ucilnica.fri.uni-lj.si/
                        –




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                           -2-
©Laboratorij za podatkovne tehnologije
Splošne informacije…

                 Priporočena literatura
                           – [1] Thomas M. Connolly, Carolyn E. Begg (2005). Database
                             Systems, A Practical Approach to Design, Implementation
                             and Management, Fourth Edition, Addison-Wesley
                           – [2] Ramez Elmasri, Shamkant B. Navathe (2003).
                             Fundamentals of Database Systems, Fourth Edition, Addison
                             Wesley.
                           – [3] Tomaţ Mohorič (1997). Načrtovanje relacijskih
                             podatkovnih baz, Zaloţba Bi-TIM.
                           – [4] Peter Rob, Carlos Coronel (2005). Database Systems:
                             Design, Implementation and Management, Sixth
                             Edition, Addison Wesley.

Citiranje: glej [3,15-20] = glej v knjigi T. Mohorič, strani od 15 do 20.
PODATKOVNE BAZE II
3. Letnik UNI, Informatika                            -3-
©Laboratorij za podatkovne tehnologije
Splošne informacije

                 Priporočena literatura (nadaljevanje):
                           – [5] Raghu Ramakrishnan, Johannes Gehrke (2003).
                             Database Management Systems, Third Edition, McGraw-Hill




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                           -4-
©Laboratorij za podatkovne tehnologije
II


                Vsebina predmeta...

                 I. Načrtovanje podatkovnih baz
                           –      Pristopi k načrtovanju
                           –      Konceptualno načrtovanje
                           –      Metoda konceptualnega načrtovanja
                           –      Logično načrtovanje
                           –      Normalizacija
                           –      Metoda logičnega načrtovanja
                           –      Fizično načrtovanje
                           –      Metoda fizičnega načrtovanja




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                               -5-
©Laboratorij za podatkovne tehnologije
Vsebina predmeta

                 II. Obvladovanje transakcij
                           –      Transakcije in njihove lastnosti
                           –      Nadzor sočasnosti
                           –      Obnova podatkov po nesrečah
                           –      Obvladovanje transakcij v porazdeljenih PB
                 III. Evaluacija poizvedb
                           –      O optimizaciji poizvedb
                           –      Hevristična optimizacija poizvedb
                           –      Stroškovna opredelitev operacij relacijske algebre
                           –      Alternativne strategije izvedbe poizvedb
                           –      Optimizacija poizvedb v SUPB Oracle


PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                  -6-
©Laboratorij za podatkovne tehnologije
Povzeto po [1]




                                                  Poglavje 1
                                         Načrtovanje podatkovnih baz



               Pristopi k načrtovanju PB
               Konceptualno načrtovanje
               Metoda konceptualnega načrtovanja
               Logično načrtovanje in normalizacija
               Metoda logičnega načrtovanja
               Fizično načrtovanje
               Metoda fizičnega načrtovanja
PODATKOVNE BAZE II
3. Letnik UNI, Informatika                           -7-
©Laboratorij za podatkovne tehnologije
Pristopi k načrtovanju PB

                 Obstajata dva glavna pristopa k načrtovanju
                  podatkovne baze:
                           – Pristop od spodaj navzgor in
                           – Pristop od vrha navzdol.



                Ime in priimek študenta, Vpisna številka, Datum vpisa v prvi letnik, Starost študenta, Spol
                študenta, Stalno prebivališče, Začasno prebivališče, Vpisani predmeti, Opravljeni
                izpiti, Trenutni vpis, Naziv predmeta, Semester izvajanja predmeta, število ECTS…


                            Normalizacija
                                                                       ŠTUDENT                PREDMET



                ŠTUDENT (Vpisna številka, ime, priimek,…)
                PREDMET (Šifra predmeta, naziv predmeta,…)
                VPIS (…)
                INDEKS (…)                                              VPIS                  INDEKS

PODATKOVNE BAZE
3. letnik UNI, Informatika                                   -8-
©Laboratorij za podatkovne tehnologije
Pristop od spodaj navzgor

                 Pristop od spodaj navzgor:
                           – začne z atributi ter jih zdruţuje v skupine
                           – Tak pristop predstavlja normalizacija

                          Normalizacija = identifikacija potrebnih atributov in njihovih
                          agregacij v normalizirane relacije na osnovi funkcionalnih
                          odvisnosti.



                 Pristop od spodaj navzgor primeren za enostavne
                  podatkovne baze z majhnim številom atributov.


PODATKOVNE BAZE
3. letnik UNI, Informatika                              -9-
©Laboratorij za podatkovne tehnologije
Pristop z vrha navzdol

                 Za večje baze primeren pristop z vrha navzdol.

                           – Na začetku podatkovni modeli z le nekaj osnovnih entitetnih
                             tipov in razmerij
                           – Korakoma razgradnja na pod-entitete, povezave in atribute
                           – Tak pristop predstavlja uporaba tehnike Entiteta – Razmerje
                             (E-R).
                                         ŠTUDIJSKI
                                          PROGRAM




                       ŠTUDENT           PREDMETNIK   korakoma




                        INDEKS



PODATKOVNE BAZE
3. letnik UNI, Informatika                                - 10 -
©Laboratorij za podatkovne tehnologije
Načrtovanje PB po delih

                 V praksi načrtovanje pogosto poteka po delih, t.j.
                  načrtovanje razdelimo na več laţje obvladljivih
                  delov:
                           – Najprej kreiramo okvirno shemo z najpomembnejšimi
                             entitetnimi tipi in razmerji med njimi
                           – Shemo razdelimo na področja (jedra so identificirani
                             entitetni tipi)
                           – Za vsako področje so vključeni poznavalci področja
                           – Načrtovanje za posamezna področja lahko poteka vzporedno
                           – Posamezne sklope na koncu zdruţimo v eno shemo




PODATKOVNE BAZE
3. letnik UNI, Informatika                          - 11 -
©Laboratorij za podatkovne tehnologije
Načrtovanje PB po delih
                                                    Delitev poslovne domene
                                                                                         Okvirna
                                                     na področja, kreiranje
                                                                                         shema
                                                         osnovne sheme




                                         Področje 1       Področje 2 ... Področje n



                                         Področna          Področna           Področna
                                         shema 1           shema 2            shema n



                                                            Končna
                                                            shema

PODATKOVNE BAZE
3. letnik UNI, Informatika                                    - 12 -
©Laboratorij za podatkovne tehnologije
Trije nivoji načrtovanja

                            Glede na raven abstrakcije ločimo:
   visok
                               – Konceptualno načrtovanje
                                          CILJ: izdelati načrt PB, ki bo neodvisen od tehnologije in ga bomo
                                           lahko uporabili za izdelavo kakršnekoli podatkovne baze: relacijske,
                                           XML, objektne…;
                                          REZULTAT: konceptualni načrt ali konceptualni podatkovni model
            Nivo abstrakcije




                               – Logično načrtovanje
                                          CILJ: na osnovi konceptualnega načrta izdelati logični načrt
                                           podatkovne baze, to je zapisati načrt v jeziku, ki bo razumljiv
                                           izbranemu SUPB.
                                          REZULTAT: logični načrt ali logični podatkovni model
                               – Fizično načrtovanje
                                          CILJ: pripraviti vse potrebne skripte, programe itn za izdelavo
   nizek
                                           fizične podatkovne baze.
                                          REZULTAT: načrt za generiranje fizične podatkovne baze

PODATKOVNE BAZE
3. letnik UNI, Informatika                                           - 13 -
©Laboratorij za podatkovne tehnologije
Trije nivoji načrtovanja – trije modeli
                                                 Konceptualni
                                                     PM
                                                                 i-CASE
               Odločitev o PB:
               -Relacijska
               -Hierarhična
               -Objektna
                                                  Logični PM




                                                  Fizični PM
                                                   (skripta)


                           Reverse Engineering


                                                 Podatkovna     ODBC
                                                    baza
                                         SUPB


PODATKOVNE BAZE
3. letnik UNI, Informatika                           - 14 -
©Laboratorij za podatkovne tehnologije
Konceptualno načrtovanje

                 Konceptualno načrtovanje oziroma modeliranje je
                  način, s katerim ţelimo na najvišji ravni
                  abstrakcije opredeliti tiste pojme iz poslovne
                  domene, o katerih ţelimo hraniti podatke.

                           Zakaj je izdelava modela
                           smiselna? Zakaj ne izdelamo
                           PB direktno z orodji, ki so
                           nam na voljo?

                           Kaj sploh je model?



PODATKOVNE BAZE
3. letnik UNI, Informatika                           - 15 -
©Laboratorij za podatkovne tehnologije
Splošno o modeliranju…

                 Modeliranje je uveljavljena inţenirska tehnika na
                  mnogih področjih:
                           –      Gradbeništvo,
                           –      Strojništvo,
                           –      Kemija,
                           –      Ekonomija,
                           –      Sociologija,
                           –      Računalništvo…




PODATKOVNE BAZE
3. letnik UNI, Informatika                         - 16 -
©Laboratorij za podatkovne tehnologije
Splošno o modeliranju…

                 Modele razvijamo zato, da bi sisteme bolje
                  razumeli.




PODATKOVNE BAZE
3. letnik UNI, Informatika               - 17 -
©Laboratorij za podatkovne tehnologije
Splošno o modeliranju…

                 Model je poenostavitev realnosti, pri čemer je
                  abstrakcija realnosti poljubno natančna.

                 Pomembno je, da model prikazuje pomembne
                  elemente in izpušča tiste, ki nas ne zanimajo.




PODATKOVNE BAZE
3. letnik UNI, Informatika               - 18 -
©Laboratorij za podatkovne tehnologije
Splošno o modeliranju…

                 Modeliranje prinaša naslednje bistvene prednosti:
                           –      Omogoča vizualizacijo sistema,
                           –      Prikazuje tako statične kot dinamične lastnosti sistema,
                           –      Predstavlja šablono za nadaljnjo gradnjo sistema,
                           –      Dokumentira sprejete odločitve.




PODATKOVNE BAZE
3. letnik UNI, Informatika                                 - 19 -
©Laboratorij za podatkovne tehnologije
Splošno o modeliranju…

                 Izbira modelov za modeliranje sistemov
                           – Za modeliranje sistema lahko izberemo različne modele.
                           – Izbira modelov določa, kako bomo pristopili k reševanju
                             problema ter kako oblikovali rešitev.
                           – Modeli morajo podpirati izraţanje na različnih ravneh
                             natančnosti.
                           – Najboljši modeli so tesno povezani z realnostjo.
                           – En sam model nikoli ni dovolj. Sistem je potrebno modelirati
                             iz različnih vidikov. Najboljši pristop je izbira nekaj modelov,
                             ki kar najbolje pokrijejo najpomembnejše vidike sistema.
                           – Metodologije razvoja IS predlagajo različne modele.




PODATKOVNE BAZE
3. letnik UNI, Informatika                              - 20 -
©Laboratorij za podatkovne tehnologije
Splošno o modeliranju

                 Primer
                           – Če IS izdelujemo po strukturnem pristopu, potem v analizi
                             izdelamo tri modele:
                                          Podatkovni model,
                                          Procesni model in
                                          Model procesne logike.
                                                                              Model
                                                                             sistema

                                                                              Podatkovni
                                                                                model


                                                                               Procesni
                                                                                model


                                                                               Model
                                                                              procesne
                                                                               logike
PODATKOVNE BAZE
3. letnik UNI, Informatika                                          - 21 -
©Laboratorij za podatkovne tehnologije
Pomen konceptualnega načrtovanja

                 Je najbolj kritično – napake se prenašajo naprej
                  na naslednje modele.
                 Zahteva sodelovanje uporabnikov. Uporabniki so
                  nosilci znanja o poslovni domeni, so poznavalci
                  semantike.
                 Konceptualno načrtovanje mora upoštevati tudi
                  poslovna pravila.




PODATKOVNE BAZE
3. letnik UNI, Informatika               - 22 -
©Laboratorij za podatkovne tehnologije
Umestitev konceptualnega načrtovanja

   svet                        mentalni model   konceptualni model   logični model   PB




PODATKOVNE BAZE
3. letnik UNI, Informatika                               - 23 -
©Laboratorij za podatkovne tehnologije
Predstavitev konceptualnih modelov

                 Najpogosteje uporabljana tehnika za predstavitev
                  konceptualnih podatkovnih modelov sta entitetni
                  model (model entiteta-razmerje) ter razredni
                  diagram. Obravnavali bomo prvega!
                 Nazivi, ki se uporabljajo:
                           –      Konceptualni podatkovni model
                           –      Podatkovni model
                           –      Entitetni model
                           –      ER model
                 Obstaja tudi razširjeni model entiteta razmerje


PODATKOVNE BAZE
3. letnik UNI, Informatika                               - 24 -
©Laboratorij za podatkovne tehnologije
Gradniki entitetnega modela

                       Entitetni tip
                       Atribut
                       Razmerje
                       Enolični identifikator




PODATKOVNE BAZE
3. letnik UNI, Informatika                       - 25 -
©Laboratorij za podatkovne tehnologije
Entitetni tip – entiteta...

                 Entitete so posamezni primerki tipov objektov iz
                  poslovne domene: dogodki, predmeti, osebe,
                  pravila, dejstva
                 O entitetah obstaja določena predstava o tem:
                           – kakšne lastnosti dejansko imajo
                           – kakšne lastnosti jim moramo določiti (morajo imeti), da bodo
                             izpolnjevale poslanstvo entitetnega modela
                 Na osnovi predstave o tem in percepcije, lahko
                  entitete klasificiramo v entitetne tipe: vse
                  entitete, ki ustrezajo določeni predstavi,
                  pripadajo posameznemu entitetnemu tipu.

PODATKOVNE BAZE
3. letnik UNI, Informatika                            - 26 -
©Laboratorij za podatkovne tehnologije
Entitetni tip – entiteta

                 Vsak trenutek pripada posameznemu
                  entitetnemu tipu mnoţica entitet tega
                  entitetnega tipa, ki jo imenujemo entitetna
                  mnoţica
                 Entitetna mnoţica je časovno spremenljiva:
                  entitete nastajajo, se spreminjajo in tudi izginjajo
                  (izstopajo iz mnoţice).
                 Entitetna mnoţica je v nekem trenutku lahko tudi
                  prazna.



PODATKOVNE BAZE
3. letnik UNI, Informatika               - 27 -
©Laboratorij za podatkovne tehnologije
Predstavitev entitetnega tipa

                                             Ime
                                         entitetnega
                                             tipa

                                                                Ime entitetnega tipa


                                                                Prostor za atribute




PODATKOVNE BAZE
3. letnik UNI, Informatika                             - 28 -
©Laboratorij za podatkovne tehnologije
Atribut...

                 Entitete imajo določene lastnosti, posamezne
                  entitete (istega entitetnega tipa) se med seboj
                  razlikujejo po vrednosti njihovih lastnosti
                 Entiteta ima praviloma veliko lastnosti, le del teh
                  lastnosti je zanimiv oz. pomemben za opazovano
                  poslovno domeno
                 Lastnosti, ki so pomembne za opazovano
                  poslovno domeno, vključimo v konceptualni
                  model tako, da jih kot atribute določimo entiteti
                  (entitetnemu tipu)


PODATKOVNE BAZE
3. letnik UNI, Informatika               - 29 -
©Laboratorij za podatkovne tehnologije
Atribut...

                 Govorimo lahko o več vrstah lastnosti:
                           – Entitetna imena: naziv, ime, opis
                           – Prave entitetne lastnosti: višina, teţa, cena, vrednost
                           – Lastnosti, ki jih določimo za potrebe poslovnih procesov,
                             poslovnih funkcij in poslovnih pravil: statusi
                 Atribut določimo za tisto lastnost, ki je za
                  poslovno domeno pomembna




PODATKOVNE BAZE
3. letnik UNI, Informatika                            - 30 -
©Laboratorij za podatkovne tehnologije
Atribut
                 Kardinalnost atributa je minimalna in maksimalna
                  Glede na kardinalnost atributa ločimo:
                           –      Totalni atribut          (1,n), kjer je n >= 1
                           –      Parcialni atribut        (0,n), kjer je n >= 1
                           –      Enovrednostni atribut    (m,1), kjer je m € {0,1}
                           –      Večvrednostni atribut    (m,n), kjer je m € {0,1} in n>1
                 Minimalna števnost 0 pomeni, da je atribut lahko
                  brez vrednosti (ni obvezen).
                 Atribut pripada določenemu tipu: numerični,
                  znakovni,…
                 Za večino tipov je potrebno                 (1,1)
                                                                                              EMŠO
                  določiti tudi dolţino.                      (1,3)
                                                                                              Ime
                                                                          OSEBA       (1,1)
                                                                                              Priimek
                                                                                      (0,n)
                                                                                              Vzdevek
PODATKOVNE BAZE
3. letnik UNI, Informatika                                - 31 -
©Laboratorij za podatkovne tehnologije
Predstavitev atributa

                                          (1,1)
                                                  EMŠO
                                          (1,3)
                                                  Ime
                                  OSEBA   (1,1)
                                                  Priimek
                                          (0,n)
                                                  Vzdevek




                                                                     OSEBA
                                                                 EMŠO
                                                                 Ime
                                                                 Priimek
                                                                 Vzdevek




PODATKOVNE BAZE
3. letnik UNI, Informatika                                  - 32 -
©Laboratorij za podatkovne tehnologije
Razmerja med entitetami

                 Entitete niso svet zase, medsebojno se
                  povezujejo preko razmerij, povezav
                 Razmerje ima določen pomen
                 Predstavitev razmerja v modelu entiteta-razmerje
                  je povezava.
                 Med opazovanim parom (v splošnem podmnoţici)
                  entitet je lahko več razmerij: OSEBA, KRAJ –
                  stalno bivališče, začasno bivališče




PODATKOVNE BAZE
3. letnik UNI, Informatika               - 33 -
©Laboratorij za podatkovne tehnologije
Predstavitev razmerja...


                           OSEBA               ţivi       KRAJ




                                              ţivi
                           OSEBA                          KRAJ




                                         Pomen razmerja




PODATKOVNE BAZE
3. letnik UNI, Informatika                     - 34 -
©Laboratorij za podatkovne tehnologije
Predstavitev razmerja


                           OSEBA                       ţivi                   KRAJ




                                         ţivi v                         ima
                           OSEBA                                              KRAJ




                                            Vloga entitete v razmerju




PODATKOVNE BAZE
3. letnik UNI, Informatika                              - 35 -
©Laboratorij za podatkovne tehnologije
Kardinalnost razmerja...

                 Kardinalnost (števnost) predstavlja število entitet
                  entitetnega tipa, ki so v razmerju glede na
                  pomen razmerja.
                 Vsaka entiteta ima svojo kardinalnost v razmerju
                  – kardinalnost glede na vlogo. Entiteti OSEBA,
                  POŠTA:
                           – Ena (naključno izbrana) oseba ima stalno bivališče v enem
                             kraju
                           – V enem (naključno izbranem) kraju ima stalno bivališče več
                             oseb



PODATKOVNE BAZE
3. letnik UNI, Informatika                           - 36 -
©Laboratorij za podatkovne tehnologije
Kardinalnost razmerja...


                                                          A   B

                                     A
                                         (n,m)
                                                          A   B


                              povezava


                                                          A   B
                                         (p,r)

                                     B

                                                          A   B




PODATKOVNE BAZE
3. letnik UNI, Informatika                       - 37 -
©Laboratorij za podatkovne tehnologije
Kardinalnost razmerja

                 Razmerji med entitetama OSEBA in POŠTA
                                                  Stalno prebivališče




                                         OSEBA                          POŠTA




                                                 Začasno prebivališče

PODATKOVNE BAZE
3. letnik UNI, Informatika                           - 38 -
©Laboratorij za podatkovne tehnologije
Obveznost razmerja

                 Obveznost pove, ali sta dve entiteti vedno v
                  razmerju ali lahko tudi nista v razmerju: obvezno,
                  neobvezno razmerje
                 Obveznost lahko obravnavamo pod okriljem
                  števnosti, zaradi česar dodatno uvedemo
                  števnost 0




PODATKOVNE BAZE
3. letnik UNI, Informatika               - 39 -
©Laboratorij za podatkovne tehnologije
Razmerje tudi opisuje lastnost entitete

                 Razmerje tudi opisuje lastnost entitete
                 Primer: OSEBA, POŠTA
                 Razmerje ima atributiven značaj




PODATKOVNE BAZE
3. letnik UNI, Informatika               - 40 -
©Laboratorij za podatkovne tehnologije
Enolični identifikator entitete...

                 Enolični identifikator entitete je podmnoţica
                  lastnosti entitete (atributov in razmerij – drugih
                  entitet), ki enolično razlikujejo posamezno
                  instanco entitete znotraj entitetne mnoţice
                 Z ozirom na to, ali tvorijo enolični identifikator
                  entitete le atributi entitete ali pa je v enoličnem
                  identifikatorju tudi kakšno razmerje, ločimo med
                  močnim entitetnim tipom in šibkim entitetnim
                  tipom



PODATKOVNE BAZE
3. letnik UNI, Informatika               - 41 -
©Laboratorij za podatkovne tehnologije
Enolični identifikator entitete

                 Imamo lahko več enoličnih identifikatorjev,
                  vendar moramo enega izbrati – določiti
                 Izbrani – določeni enolični identifikator je
                  podlaga za ključ v relacijskem modelu




PODATKOVNE BAZE
3. letnik UNI, Informatika               - 42 -
©Laboratorij za podatkovne tehnologije
Predstavitev enoličnega identifikatorja


                                                 (1,1)
                                                         EMŠO
                                                 (1,3)
                                                         Ime
                                         OSEBA   (1,1)
                                                         Priimek
                                                 (0,n)
                                                         Vzdevek




                                                                             OSEBA
                                                                         EMŠO
                                                                         Ime
                                                                         Priimek
                                                                         Vzdevek




PODATKOVNE BAZE
3. letnik UNI, Informatika                                      - 43 -
©Laboratorij za podatkovne tehnologije
Močni entitetni tip
                 Enolični identifikator sestavljajo le atributi entitete
                  (identifikacijski atributi)
                 {a1, … ak} je enolični identifikator entitete A, če
                  ustreza naslednjim pogojem:
                           a) a1, … ak so vsi totalni enovrednostni atributi, kar zagotavlja, da
                              imajo vsi identifikacijski atributi definirano natanko eno vrednost
                              (eno dimenzijo)
                           b) T: V1 x …x Vk  ET je totalna ali parcialna enovrednostna
                              funkcija, kar zagotavlja, da se vsak element kartezijskega
                              produkta vrednostnih mnoţic, ki so območja identifikacijskih
                              atributov, preslika v največ eno entiteto tipa A
                           c) Je minimalna podmnoţica, ne obstaja prava podmnoţica, za
                              katero bi tudi veljal pogoj b)

PODATKOVNE BAZE
3. letnik UNI, Informatika                             - 44 -
©Laboratorij za podatkovne tehnologije
Šibki entitetni tip
       Enolični identifikator ni sestavljen le iz lastnih atributov,
        temveč tudi iz razmerij oz. drugih entitet v razmerju oz.
        njenih identifikatorjev.
       {a1, … ak} IT1 .. ITn je enolični identifikator
        entitete A, če ustreza naslednjim pogojem:
                 a) a1, … ak so vsi totalni enovrednostni atributi, I pa identifikatorji
                    entitetnih tipov
                 b) T: V1 x …x Vkx ET1 x .. X ETn  ET je totalna ali parcialna
                    enovrednostna funkcija, kar zagotavlja, da se vsak element
                    kartezijskega produkta vrednostnih mnoţic, ki so območja
                    identifikacijskih atributov, preslika v največ eno entiteto tipa A
                 c) Je minimalna podmnoţica, ne obstaja prava podmnoţica, za katero bi
                    tudi veljal pogoj b)

PODATKOVNE BAZE
3. letnik UNI, Informatika                      - 45 -
©Laboratorij za podatkovne tehnologije
Generalizacija in specializacija...

                 Entitetni tip A s podtipoma B in C
                 B in C pokrivata A totalno in ekskluzivno, če
                  velja: EB EC = EA in EB EC = {}
                 B in C pokrivata A totalno in prekrivno, če velja:
                  EB EC = EA in EB EC ≠ {}
                 B in C pokrivata A delno in ekskluzivno, če velja:
                  EB EC EA in EB EC = {}
                 B in C pokrivata A delno in prekrivno, če velja: EB
                     EC EA in EB EC ≠ {}


PODATKOVNE BAZE
3. letnik UNI, Informatika               - 46 -
©Laboratorij za podatkovne tehnologije
Generalizacija in specializacija

                                                   OSEBA
                                                                          Totalno in
                                                                          ekskluzivno

                                          MOŠKI                ŢENSKA




                                                   OSEBA
                                                                          Delno in
                                                                          prekrivno

                                         ŠTUDENT               ŠPORTNIK




PODATKOVNE BAZE
3. letnik UNI, Informatika                            - 47 -
©Laboratorij za podatkovne tehnologije
Metoda konceptualnega načrtovanja

                 Moţni koraki konceptualnega načrtovanja:
                           –      K1.1: Identificiraj entitetne tipe
                           –      K1.2: Identificiraj povezave
                           –      K1.3: Identificiraj in z entitetnimi tipi poveţi atribute
                           –      K1.4: Atributom določi domene
                           –      K1.5: Določi kandidate za ključe; izmed kandidatov izberi
                                         primarni ključ
                           –      K1.6: Po potrebi uporabi elemente razširjenega diagrama
                                         entiteta – razmerje
                           –      K1.7: Preveri, če v modelu obstajajo odvečni elementi
                           –      K1.8: Preveri, če model “zdrţi” transkacije
                           –      K1.9: Preveri model z uporabnikom


PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                 - 48 -
©Laboratorij za podatkovne tehnologije
K1.1 – Identificiraj entitetne tipe...

                 Na voljo različne tehnike
                 Ena izmed tehnik je pregled uporabniških zahtev:
                           – Pregledamo vse omenjene samostalnike in fraze (npr.
                             profesor, predmet, izpit, rok, datum izpita,...)
                           – Pozorni smo na pomembne objekte (npr. ljudje, lokacije...)
                           – Skušamo ločiti objekte (npr. profesor, izpit,...) od
                             lastnosti objektov (ime, vpisna številka,...)
                           – Lastnosti objektov zdruţujemo v entitetne tipe




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                            - 49 -
©Laboratorij za podatkovne tehnologije
K1.1 – Identificiraj entitetne tipe...

                 Teţave:
                           – Entitete niso vedno jasno predstavljene v dokumentaciji
                                          Uporaba primerov, analogij, sinonimov, homonimov
                                          Uporaba konkretnih imen oseb
                           – Ni vedno jasno, kaj je entitetni tip, kaj povezava in kaj
                             atribut (npr. izpit)
                 Načrtovanje je subjektivne narave – moţnih je
                  več (pravilnih) rešitev.
                 Načrt zavisi od uporabnikove presoje in izkušenj




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                        - 50 -
©Laboratorij za podatkovne tehnologije
K1.1 – Identificiraj entitetne tipe

                 Entitetne tipe je potrebno dokumentirati
                 Primer dokumentacije:
                   Naziv                 Opis                             Sinonim      Število entitet
                   entitetnega
                   tipa
                   Profesor              Predstavlja pedagoškega          Pedagoški    Vsaka katedra ima
                                         delavca, ki je nosilec enega     delavec      enega ali več
                                         ali več predmetov                             profesorjev
                   Izpitni rok           Predstavlja datum, na            Rok, pisni   Na leto se razpiše
                                         katerega je za nek predmet in    izpit,       okrog 300 pisnih
                                         določeno ciljno skupino          kolokvij     izpitov. Vsak predmet
                                         (letnik, smer,...) razpisan                   mora imeti vsaj tri roke
                                         izpitni rok.                                  letno
                   ...


PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                       - 51 -
©Laboratorij za podatkovne tehnologije
K1.2 – Identificiraj povezave...

                 Ko smo identificirali entitetne tipe, skušamo
                  opredeliti vse povezave med njimi
                 Uporabimo lahko podoben postopek kot v K1
                  (pregled uporabniških zahtev):
                           – Iščemo glagole (npr. profesor razpiše rok, študent
                             polaga izpit, študent izbere mentorja, študent se
                             vpiše v letnik,...)
                           – Zanimajo nas samo tiste povezave, ki so res potrebne
                             (očitne povezave ali povezave, ki nas ne zanimajo z vidika
                             hranjenja podatkov, so odveč)




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                            - 52 -
©Laboratorij za podatkovne tehnologije
K1.2 – Identificiraj povezave...

                 Postopek identifikacije povezav (nadaljevanje)
                           – Pozorni smo na povezave, ki niso binarne - povezujejo več
                             kot dve entiteti ali so rekurzivne.
                             Npr. študent opravi izpit za nek predmet pri
                             nekem profesorju.
                             Ali, pedagoški delavec ima asistenta, ki je tudi
                             pedagoški delavec.
                           – Preverimo, če smo zajeli vse povezave (načeloma lahko
                             preverimo za vsak par entitetnih tipov, če med njima obstaja
                             povezava) – postopek je lahko zelo potraten, zato ga ne
                             izvajamo vedno (preverjanje modela je stvar K8)




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                            - 53 -
©Laboratorij za podatkovne tehnologije
K1.2 – Identificiraj povezave...

                 Postopek identifikacije povezav (nadaljevanje)
                           – Povezavam določimo števnost
                           – Preverimo, če obstajajo kakšne dvoumne ali nepopolne
                             povezave (ang. chasm and fan tramps)

                Primer dvoumne povezave

                                                      je član                       vključuje
                                  Profesor     1..*             1..1
                                                                       Katedra   1..1           1..*
                                                                                                       Laboratorij


                                         Pr1                                                               L1
                                                                          K1
                                         Pr2                                                               L2
                                                                          K2
                                         Pr3                                                               L3




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                              - 54 -
©Laboratorij za podatkovne tehnologije
K1.2 – Identificiraj povezave....

                 Dvoumno povezavo odpravimo z
                  restrukturiranjem modela

                                                      je član                               vključuje
                                  Profesor                             Laboratorij                        Katedra
                                               1..*             1..1                 1..*           1.1



                                         Pr1                                                                K1
                                                                           L1
                                         Pr2                                                                K2
                                                                           L2
                                         Pr3                                                                K3




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                               - 55 -
©Laboratorij za podatkovne tehnologije
K1.2 – Identificiraj povezave...
                Primer nepopolne povezave

                                                     ima                          je skrbnik
                                Katedra       1..1         1..*
                                                                  Član     0..1                0..*
                                                                                                      Oprema


                                         K1                        Čl1                                  O1

                                         K2                        Čl2                                  O2

                                         K3                        Čl3                                  O3




                     Kateri katedri pripada oprema O2?




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                        - 56 -
©Laboratorij za podatkovne tehnologije
K1.2 – Identificiraj povezave...

                 Tudi nepopolno povezavo odpravimo z
                  restrukturiranjem modela
                                                     ima                           je skrbnik
                                Katedra       1..1         1..*
                                                                  Član      0..1                0..*
                                                                                                       Oprema
                                 1..1                                                                      1..*
                                                                  pripada


                                         K1                        Čl1                                   O1

                                         K2                        Čl2                                   O2

                                         K3                        Čl3




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                        - 57 -
©Laboratorij za podatkovne tehnologije
K1.2 – Identificiraj povezave

                 Povezave je potrebno dokumentirati
                 Primer dokumentacije:
                   Entitetni             Števnost   Povezava             Števnost   Entitetni
                   tip                                                              tip

                   Član                  1..*       Pripada              1..1       Katedra
                                         1..1       Je predstojnik       0..1

                   Laboratorij           1..*       Sodi v               1..1       Katedra
                   ...




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                      - 58 -
©Laboratorij za podatkovne tehnologije
K1.3 – Identificiraj atribute...

                 Skušamo identificirati lastnosti entitet ter
                  povezav
                 Uporabimo lahko tehniko proučevanja
                  uporabniških zahtev
                           – iščemo samostalnike, ki predstavljajo lastnosti, opisne
                             vrednosti ali identifikatorje objektov
                 Korak določanja atributov entitetnih tipov je
                  relativno enostaven




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                             - 59 -
©Laboratorij za podatkovne tehnologije
K1.3 – Identificiraj atribute...

                 Nekaj primerov, kjer je potrebna pazljivost:
                           – Enostavni in sestavljeni atributi (npr. naslov 
                             ulica, hišna številka, številka pošte, naziv
                             pošte). Kaj potrebuje uporabnik?
                           – Eno- in več-vrednostni atributi (npr. telefonska števila
                              domača, v sluţni, mobilna...
                           – Izpeljani atributi (npr. skupna cena računa, starost
                             študenta,...)  pogosto ne kaţemo v konceptualnih
                             modelih. Obravnavamo pri fizičnem načrtovanju.




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                          - 60 -
©Laboratorij za podatkovne tehnologije
K1.3 – Identificiraj atribute...

                 Dodatna priporočila:
                           – Če identificiramo atributi, ki navidez pripadajo več
                             entitetam, preverimo:
                                          Ali je moţno zdruţiti entitete (npr. asistent in profesor
                                           zdruţimo v pedagoški delavec);
                                          Če imajo entitete več skupnih vendar tudi svoje
                                           atribute, razmislimo o uporabi generalizacije (npr. poleg
                                           entitetnega tipa asistent in profesor uvedemo še entitetni
                                           tip pedagoški delavec, ki prevzame vse skupne atribute.)
                           – Če identificiramo atribut, ki odraţa povezavo (npr. atribut
                             katedra v entitetnem tipu Profesor predstavlja
                             povezavo z entiteto katedra):
                                          Če povezava obstaja, potem je atribut odveč
                                          Če povezava ne obstaja, jo je potrebno dodati ter atribut zbrisati


PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                           - 61 -
©Laboratorij za podatkovne tehnologije
K1.3 – Identificiraj atribute

                 Atribute je potrebno dokumentirati:
                           – Naziv atributa, opis, podatkovni tip, dolţina, sinonimi, ali je
                             atribut sestavljen (iz katerih atributov je sestavljen?), ali je
                             atribut izpeljan (iz katerih atributov je izpeljan?),...
                 Primer dokumentacije:
                Entitetni                Atributi   Opis                       Podatkovni   Dolžina   ...
                tip                                                            tip
                Študent                  VpisSt     Vpisna številka študenta   Number       8         ...
                                         Ime        Ime študenta               Character    20
                                         Priimek    Priimek študenta           Character    20
                                         ...
                ...                                                                                   ...



PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                       - 62 -
©Laboratorij za podatkovne tehnologije
K1.4 – Atributom določi domene...
                 Domena je mnoţica vrednosti, ki jih lahko
                  zavzamejo atributi, vključeni v to domeno.
                 Domeni lahko določimo:
                           –      Seznam dovoljenih vrednosti
                           –      Minimalno in maksimalno vrednost
                           –      Podatkovni tip in dolţino
                           –      Dovoljene operacije nad atributom (še v raziskavi)
                 Primeri domen:
                           –      Barva  {bela, rumena, oranţna, rdeča}
                           –      Opis elementa  character 50
                           –      Starost  [0..120]
                           –      EMSO  number 13


PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                 - 63 -
©Laboratorij za podatkovne tehnologije
K1.4 – Atributom določi domene

                 Tudi domene dokumentiramo
                 Zapišemo naziv domene ter lastnosti oz.
                  pravila, ki jih domena določa.




PODATKOVNE BAZE II
3. Letnik UNI, Informatika               - 64 -
©Laboratorij za podatkovne tehnologije
K1.5 - Določi kandidate za ključe...

                 Za vsak entitetni tip določimo kandidate za ključ
                  ter izberemo enega za primarni ključ.
                 Kandidati za ključ so minimalne podmnoţice
                  atributov, ki enolično identificirajo vsako entiteto.
                 Če je kandidatov več, izberemo enega, ki je
                  primeren za primarni ključ.
                Primer                   Študent
                                         EMŠO
                                         VpisSt
                                         DavcnaSt
                                         Ime
                                         Priimek
                                         DtmRoj


PODATKOVNE BAZE II
3. Letnik UNI, Informatika                          - 65 -
©Laboratorij za podatkovne tehnologije
K1.5 - Določi kandidate za ključe...

                 Nekaj priporočil za izbiro ključa, če je več
                  kandidatov:
                           – Kandidat z najmanj atributi;
                           – Kandidat, za katerega je najmanj verjetno, da se bodo
                             njegove vrednosti spreminjale;
                           – Kandidat z najmanjšo dolţino znakov (za alfanumerične
                             kandidate);
                           – Kandidat z najmanjšo maksimalno vrednostjo (za numerične
                             kandidate);
                           – Kandidat, ki ga je najlaţje uporabiti s stališča uporabnika




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                            - 66 -
©Laboratorij za podatkovne tehnologije
K1.5 - Določi kandidate za ključe

                 Dodatna priporočila:
                           – Imena navadno niso dober kandidat za ključ
                           – Bodi pozoren na šibke entitetne tipe (šibkim entitetam v
                             okviru konceptualnega načrtovanja ne moremo določiti
                             ključa)
                 Tudi primarne in alternativne ključe je potrebno
                  dokumentirati.




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                            - 67 -
©Laboratorij za podatkovne tehnologije
K1.6 – uporabi elemente EER diagrama...

                 EER – razširjen ER diagram
                 Elementi razširjenega ER diagrama so:
                           – Specializacija: ugotovljamo razlike med entitetami
                             doočenega tipa in entitetni tip razbiti na več specializiranih
                             entitet.
                           – Generalizacija: ugotavljamo skupne lastnosti entitet različnih
                             tipov in kreirati nov tip s skupnimi lastnostmi.
                           – Agregacija: modeliramo povezavo “je del” oziroma “ima”, s
                             katero določimo pripadnost tipa “del” tipu “celota”.
                           – Kompozicija: posebna vrsta agregacije z močnim lastništvom
                              “del” ne more obstajati brez “celote”.




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                             - 68 -
©Laboratorij za podatkovne tehnologije
K1.6 – uporabi elemente EER diagrama...
                Primer specializacije                                   Znak za specializacijo/
                                                                        generalizacijo.

                                                         Študent        Lahko tudi:




                                         Redni študent             Izredni študent




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                - 69 -
©Laboratorij za podatkovne tehnologije
K1.6 – uporabi elemente EER diagrama...
                Primer generalizacije


                                                Pedagoški delavec




                                         Profesor                   Asistent




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                               - 70 -
©Laboratorij za podatkovne tehnologije
K1.6 – uporabi elemente EER diagrama...
                Primer agregacije


                                         Navadna povezava
                                                            pripada
                                         Študent                             Indeks
    Znak za                                        1..1               1..*

    agregacijo.



                                                            pripada
                                         Študent                             Indeks
                                                    1..1              1..*



                                         Agregacija povečuje semantiko modela




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                  - 71 -
©Laboratorij za podatkovne tehnologije
K1.6 – uporabi elemente EER diagrama...
                Primer kompozicije


                                         Navadna povezava
                                                            pripada
                                         Študent                             Indeks
    Znak za                                        1..1               1..*

    kompozicijo.



                                                            pripada
                                         Študent                             Indeks
                                                    1..1              1..*



                                         Kompozicija povečuje semantiko modela




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                  - 72 -
©Laboratorij za podatkovne tehnologije
K1.6 – uporabi elemente EER diagrama

                 Kdaj uporabiti elemente razširjenega ER
                  diagrama?
                           – Elementi razširjenega diagrama povečajo semantiko modela
                             vendar lahko negativno vplivajo na “berljivost” modela
                           – Berljivost, enostavnost modela naj bo vodilo pri odločanju o
                             uporabi naprednih modelirnih elementov (predvsem
                             agregacija in kompozicija)




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                            - 73 -
©Laboratorij za podatkovne tehnologije
K1.7 - Preveri obstoj odvečnih elem....

                 Preverimo, če v modelu obstajajo redundantni
                  elementi:
                           – Pregledamo povezava 1 – 1
                           – Odstranimo odvečne povezave
                           – Preverimo “časovni okvir”




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                         - 74 -
©Laboratorij za podatkovne tehnologije
K1.7 - Preveri obstoj odvečnih elem....

                 Povezave 1 – 1
                           – Pri identifikaciji entitetnih tipov smo morda zajeli več
                             tipov, ki predstavljajo iste objekte (npr.
                             Profesor, Pedagoški delavec, Asistent)
                           – Če taki tipi obstajajo, jih je potrebno zdruţiti
                           – Če so primarni ključi različni, izberemo enega



                                         Profesor     Pedagog            Asistent
                                         EMŠO         EMŠO               EMŠO
                                         DavcnaSt     DavcnaSt           DavcnaSt
                                         Ime          Ime                Ime
                                         Priimek      Priimek            Priimek
                                         DtmRoj       DtmRoj             DtmRoj



PODATKOVNE BAZE II
3. Letnik UNI, Informatika                              - 75 -
©Laboratorij za podatkovne tehnologije
K1.7 - Preveri obstoj odvečnih elem....

                 Odstrani odvečne povezave
                           – Povezava je odvečna, če je moţno priti do iste informacije
                             prek drugih povezav!
                           – Izdelati ţelimo minimalen podatkovni model  odvečne
                             povezave zato odstranimo.
                           – Zgolj pregledovanje poti med entitetnimi tipi ne zadošča
                             (povezave imajo lahko različen pomen)




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                            - 76 -
©Laboratorij za podatkovne tehnologije
K1.7 - Preveri obstoj odvečnih elem....

                 Ali je kakšna povezava odveč?


                                                       je predstojnik
                                         Profesor                                  Katedra
                                                    1..1                   0..1
                                          1..*                                          1..1



                                                                                         pripada

                                                                                        1..*
                                                           je član
                                                                         1..1
                                                                                  Laboratorij




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                      - 77 -
©Laboratorij za podatkovne tehnologije
K1.7 - Preveri obstoj odvečnih elem....

                 Ali je kakšna povezava odveč?


                                                           pripada
                                         Profesor                                  Katedra
                                                    1..*                   1..1
                                          1..*                                          1..1



                                                                                         pripada

                                                                                        1..*
                                                           je član
                                                                         1..1
                                                                                  Laboratorij




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                      - 78 -
©Laboratorij za podatkovne tehnologije
K1.7 - Preveri obstoj odvečnih elem....

                 Preveri časovni okvir
                           – Časovni okvir povezav je lahko pomemben

                                                        je poročen z
                                           Oče                                 Mati
                                                 0..1                   0..1
                                         1..1                                     1..1


                                                                                       je mati




                                                                       ?
                                                                                  0..*
                                                          je oče
                                                                               Otrok
                                                                        0..*




                           – Kaj če ima oče otroka iz prejšnjega zakona?



PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                     - 79 -
©Laboratorij za podatkovne tehnologije
K1.8 - Preveri če model zdrţi transkacije...

                 Preveriti moramo če model, ki smo ga dobili s
                  koraki od K1 do K7, podpira vse zahtevane
                  transakcije.
                           – Transakcije izvajamo ročno
                           – Če neke transkacije ne uspemo izvesti, je model pomanjkljiv
                             (manjka bodisi entitetni tip, povezava ali atribut)
                 Moţna dva pristopa:
                           – Preverjanje opisa transakcij
                           – Preverjanje transakcijskih poti




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                             - 80 -
©Laboratorij za podatkovne tehnologije
K1.8 - Preveri če model zdrţi transkacije...

                 Preverjanje opisa transakcij
                           – Vsako transakcijo opišemo;
                           – Preverimo, če model zajema vse entitetne tipe, povezave in
                             atribute, ki jih transakcija potrebuje.




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                           - 81 -
©Laboratorij za podatkovne tehnologije
K1.8 - Preveri če model zdrţi transkacije...
                 Primer opisa transakcijskih zahtev
                           – Vnos podatkov:
                                          Vnesi podatke o študentih (npr. 24010637, Monika Jemec,...)
                                          Vnesi podatke o predmetih (npr. 70029, Razvoj IS, Letni,...)
                                          ...
                           – Urejanje in brisanje podatkov:
                                          Uredi/briši podatke o študentu
                                          Uredi/briši podatke o predmetih
                                          ...
                           – Poizvedbe
                                          Izpiši vse študente, ki so se vpisali v določen letnik, določene
                                           smeri, določenega programa
                                          Izpiši vse predmete, ki jih je opravil določen študent
                                          ...



PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                            - 82 -
©Laboratorij za podatkovne tehnologije
K1.8 - Preveri če model zdrţi transkacije...

                 Preverjanje transakcijskih poti
                           – Transakcije preverimo na modelu – pot transakcije narišemo
                           – Pristop načrtovalcu omogoča:
                                          Da identificira pomanjkljivosti modela (če pot za neko transkacijo ni
                                           moţna)
                                          Da identificira dele modela, ki so transakcijsko kritični
                                          Da odkrije odvečne dele modela (deli, ki jih ne potrebuje nobena
                                           transakcija)

                 Preverjanje transkacij je zamudno vendar
                  pomembno delo!!




PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                           - 83 -
©Laboratorij za podatkovne tehnologije
K1.8 - Preveri, če model zdrţi transkacije
              a)         Izpiši vse predmete, ki jih je opravil določen študent
              b)         Izpiši vse študente, ki so se vpisali v določen letnik, določene smeri,
                         določenega programa
                                                                                                    ima




                                         ?
                                                                             Program                                Smer
                                                                             progID              1..1       0..1    smerID
                                     b                                                                                      1..*


                                                                                                                            se predava na
                                                                                                                            1..*

                                                       se nanaša na              Rok                za             Predmet
                                     Prijava        0..*                  1..1   rokID                    1..1     predID
                                                                                          0..*
                                             0..*
                                                                                                                    1..1
                              pripada


                                             1..1

                                    Študent                je opravljal          Izpit    0..*            iz
                                    vpisSt          1..1                  0..*   stPol
                                                              a
PODATKOVNE BAZE II
3. Letnik UNI, Informatika                                                       - 84 -
©Laboratorij za podatkovne tehnologije
K1.9 – Preveri model z uporabnikom

                 Na koncu model preverimo z uporabnikom
                 Anomalije, pomanjkljivosti, napake,... lahko
                  vodijo v ponovitev korakov od K1 do K9.
                 V mnogih podjetjih mora uporabnik podpisati
                  podatkovni model




PODATKOVNE BAZE II
3. Letnik UNI, Informatika               - 85 -
©Laboratorij za podatkovne tehnologije
Logično načrtovanje

                 Logično modeliranje podatkovne baze nastopi za
                  konceptualnim modeliranjem.
                 Osnova logičnega modela je jezik, ki je razumljiv
                  ciljnemu SUPB.
                 Če izberemo relacijski SUPB, potem govorimo o
                  relacijskem modelu.


   svet                        mentalni model   konceptualni model   logični model   PB




PODATKOVNE BAZE
3. letnik UNI, Informatika                               - 86 -
©Laboratorij za podatkovne tehnologije
Podpora orodij CASE
                                                 Konceptualni
                                                     PM
                                                                 i-CASE
               Odločitev o PB:
               -Relacijska
               -Hierarhična
               -Objektna
                                                  Logični PM    Logično načrtovanje



                                                  Fizični PM
                                                   (skripta)


                           Reverse Engineering


                                                 Podatkovna     ODBC
                                                    baza
                                         SUPB


PODATKOVNE BAZE
3. letnik UNI, Informatika                           - 87 -
©Laboratorij za podatkovne tehnologije
Prehod iz konceptualnega v logični model

                 Prehod iz konceptualnega v logični model je
                  navadno avtomatiziran s strani CASE orodij.
                        Primer:
                        vrsta baze: relacijska
                        SUPB: Oracle
                                           ANALIZA                 NAČRTOVANJE

                                 Konceptualni model               Relacijski model

                                         Entitetni tip            Relacija / Tabela

                                           Atribut                Atribut / Stolpec

                                Enolični identifikator                 Ključ

                                         Povezava 1:n                Tuji ključ

PODATKOVNE BAZE
                                         Povezava m:n              Vmesna tabela
3. letnik UNI, Informatika                               - 88 -
©Laboratorij za podatkovne tehnologije
Ponovitev

                Funkcionalne odvisnosti...

                 Relacija je model nekega stanja v svetu  njena
                  vsebina ne more biti poljubna.
                 Realne omejitve ne omogočajo, da bi bili odnosi
                  v svetu kakršnikoli; moţna so le določena stanja.
                 Odvisnosti so sredstvo, s katerim lahko v
                  relacijskem modelu povemo, katere vrednosti
                  relacij so veljavne in katere sploh ne morejo
                  obstajati.




PODATKOVNE BAZE
3. letnik UNI, Informatika               - 89 -
©Laboratorij za podatkovne tehnologije
Funkcionalne odvisnosti...

                 Poznamo več vrst odvisnosti:
                           – Funkcionalne odvisnosti (functional dependency)
                           – Večvrednostne odvisnosti (multivalued dependency)
                           – Stične odvisnosti (join dependency)
                 Obravnavali bomo funkcionalne odvisnosti; ostale
                  bodo obravnavane v okviru postopka razširjene
                  normalizacije (PB2, drugi semester).




PODATKOVNE BAZE
3. letnik UNI, Informatika                          - 90 -
©Laboratorij za podatkovne tehnologije
Funkcionalne odvisnosti...

                 Predpostavimo, da obstaja relacijska shema R z
                  mnoţico atributov, katere podmnoţici sta X in Y.

                 V relacijski shemi R velja X  Y (X funkcionalno
                  določa Y oziroma Y je funkcionalno odvisen od
                  X), če v nobeni relaciji, ki pripada shemi R, ne
                  obstajata dve n-terici, ki bi se ujemali v
                  vrednostih atributov X in se ne bi ujemali v
                  vrednostih atributov Y.



PODATKOVNE BAZE
3. letnik UNI, Informatika               - 91 -
©Laboratorij za podatkovne tehnologije
Funkcionalne odvisnosti

                 Mnoţico funkcionalnih odvisnosti, ki veljajo med
                  atributi funkcionalne sheme R in v vseh njenih
                  relacijah, označimo s F

                           XY F         r ( Sh(r) = R          t,   u (t   r in u   r in
                           t.X = u.X t.Y = u.Y )

                        kjer
                           t.X, u.X, t.Y in u.Y označujejo vrednosti atributov X
                           oziroma Y v n-tericah t oziroma u.



PODATKOVNE BAZE
3. letnik UNI, Informatika                             - 92 -
©Laboratorij za podatkovne tehnologije
Primeri funkcionalnih odvisnosti

                 Imamo relacijo s shemo
                           Izpit( VpŠt, Priimek, Ime, ŠifraPredmeta, Datum izpita,
                           OcenaPisno, OcenaUstno)
                 z naslednjim pomenom:
                           Študent z vpisno številko VpŠt ter priimkom Priimek in
                           imenom Ime je na DatumIzpita opravljal izpit iz predmeta s
                           šifro ŠifraPredmeta. Dobil je oceno OcenaPisno in OcenaUstno.
                 Funkcionalne odvisnosti relacijske sheme Izpit
                  so:
                           F         { VpŠt  (Priimek, Ime), (VpŠt, ŠifraPredmeta,
                                       DatumIzpita)  (OcenaPisno, OcenaUstno) }


PODATKOVNE BAZE
3. letnik UNI, Informatika                                  - 93 -
©Laboratorij za podatkovne tehnologije
Ponovitev

                Ključi relacije...

                 Ker je relacija mnoţica n-teric, so v njej vse n-
                  terice ločene med seboj.
                 Za sklicevanje na posamezno n-terico ni potrebno
                  poznati vseh vrednosti atributov n-terice, če v
                  shemi nastopajo funkcionalne odvisnosti.
                 Mnoţici atributov, ki določajo vsako n-terico,
                  pravimo ključ relacije oziroma ključ relacijske
                  sheme.




PODATKOVNE BAZE
3. letnik UNI, Informatika               - 94 -
©Laboratorij za podatkovne tehnologije
Ključi relacije...

                           Predpostavimo, da obstaja relacijska shema z
                            atributi A1 A2 ... An katere podmnoţica je
                            mnoţica atributov X.

                           Atributi X so ključ relacijske sheme oziroma
                            pripadajočih relacij, če sta izpolnjena naslednja
                            dva pogoja:
                           (1) X  A1 A2 ... An
                           (2) ne obstaja X‟, ki bi bila prava podmnoţica od X in ki bi tudi
                               funkcionalno določala A1 A2 ... An



PODATKOVNE BAZE
3. letnik UNI, Informatika                             - 95 -
©Laboratorij za podatkovne tehnologije
Ključi relacije...

                 Poznamo več vrst ključev:
                           –      Kandidat za ključ (a key candidate)
                           –      Primarni ključ (primary key)
                           –      Superključ (superkey)
                           –      Tuji ključ (foreign key)


                 Kandidat za ključ je vsaka podmnoţica atributov
                  relacije, ki relacijo enolično določa.




PODATKOVNE BAZE
3. letnik UNI, Informatika                                 - 96 -
©Laboratorij za podatkovne tehnologije
Ključi relacije

                 Primarni ključ je tisti kandidat za ključ, ki ga
                  izberemo za shranjevanje relacij v fizični
                  podatkovni bazi.
                 Superključ je vsaka mnoţica atributov, v kateri je
                  vsebovan ključ  ključ je podmnoţica
                  superključa.
                 Tuji ključ je mnoţica atributov, v okviru ene
                  relacije, ki je enaka kandidatu za ključ neke
                  druge ali iste relacije.



PODATKOVNE BAZE
3. letnik UNI, Informatika               - 97 -
©Laboratorij za podatkovne tehnologije
Primeri ključev
                                                                ARTIKEL
                Šifra            Naziv                      Zaloga
                A10              Telovadni copati Nike      10
                A12              Trenerka Bali              4
                BC80             Moška jakna QuickSilver    1
                X12              Ţenska jakna QuickSilver   0



                Primarni ključ v tabeli Artikel
                                                                                                     RAČUN
                                                                         Račun   Šifra artikla   Količina
                          Primarni ključ v tabeli Račun                  15/05   A10             1
                                                                         15/05   X12             1


               Tuji ključ v tabeli Račun  kaţe na primarni ključ v tabeli Artikel

PODATKOVNE BAZE
3. letnik UNI, Informatika                                      - 98 -
©Laboratorij za podatkovne tehnologije
Normalizacija...

                 Kaj si bomo pogledali?
                           – Namen normalizacije.
                           – Uporaba normalizacije pri načrtovanju relacijske podatkovne
                             baze.
                           – Problemi zaradi redundance podatkov v osnovnih relacijah.
                           – Postopek normalizacije.
                           – Normalne oblike:
                                            I. normalna oblika,
                                            II. normalna oblika,
                                            III. normalna oblika
                                            IV. poslovna normalna oblika
                                            Boyce Coddova normalna oblika
                                            IV. normalna oblika
                                            V. normalna oblika
PODATKOVNE BAZE
3. letnik UNI, Informatika                                          - 99 -
©Laboratorij za podatkovne tehnologije
Namen normalizacije...

                 Normalizacija je postopek, s katerem pridemo do
                  mnoţice primernih relacij, ki ustrezajo potrebam
                  poslovne domene.
                 Nekaj lastnosti primernih relacij:
                           – Relacije imajo minimalen nabor atributov  zgolj tiste, ki so
                             potrebni za pokritje potreb poslovnega sistema;
                           – Atributi, ki so logično povezani, so zajeti v isti relaciji;
                           – Med atributi relacij je minimalna redundanca  vsak atribut
                             (razen tujih ključev) je predstavljen samo enkrat.




PODATKOVNE BAZE
3. letnik UNI, Informatika                            - 100 -
©Laboratorij za podatkovne tehnologije
Namen normalizacije

                 Prednosti uporabe podatkovnih baz, ki jih
                  sestavljajo mnoţice primernih relacij, so:
                           – Enostavnejša dostop do podatkov ter vzdrţevanje podatkov;
                           – Večja učinkovitost;
                           – Boljša izraba diskovnih kapacitet.




PODATKOVNE BAZE
3. letnik UNI, Informatika                          - 101 -
©Laboratorij za podatkovne tehnologije
Prednosti pravilnega načrtovanja

                 Osnovni cilj načrtovanja relacijske podatkovne
                  baze je grupirati atribute v relacije tako, da bo
                  čim manj redundance med podatki.
                 Potencialne koristi pravilnega načrtovanja so:
                           – Spremembe podatkov v podatkovni bazi doseţemo z
                             minimalnim številom operacij  večja učinkovitost; manj
                             moţnosti za podatkovne nekonsistentnosti.
                           – Manjše potrebe po diskovnih kapacitetah za shranjevanje
                             osnovnih relacij  manjši stroški.




PODATKOVNE BAZE
3. letnik UNI, Informatika                          - 102 -
©Laboratorij za podatkovne tehnologije
Primer

                 Relacija StaffBranch ima odvečne podatke.




                                         Atribut z odvečnimi (ponavljajočimi) podatki



PODATKOVNE BAZE
3. letnik UNI, Informatika                   - 103 -
©Laboratorij za podatkovne tehnologije
Aţurne anomalije

                 Relacije, ki vsebujejo odvečne podatke lahko
                  povzročajo anomalije pri spreminjanju podatkov
                   govorimo o aţurnih anomalijah.
                 Poznamo več vrst anomalij:
                           – Anomalije pri dodajanju n-teric v relacijo
                           – Anomalije pri brisanju n-teric iz relacije
                           – Anomalije pri spreminjanju n-teric




PODATKOVNE BAZE
3. letnik UNI, Informatika                            - 104 -
©Laboratorij za podatkovne tehnologije
Anomalije pri dodajanju

                 Primeri anomalij:
                           – Če ţelimo dodati podatke o novih članih (staff) za neko
                             organizacijsko enoto (branch) moramo vpisati tudi vse
                             podrobnosti o organizacijski enoti.
                           – Če ţelimo dodati podatke o novi organizacijski enoti, ki še
                             nima nobenega člana, moramo v vsa polja , ki člane
                             opisujejo, vpisati Null.




PODATKOVNE BAZE
3. letnik UNI, Informatika                            - 105 -
©Laboratorij za podatkovne tehnologije
Anomalije pri brisanju

                 Primeri anomalij:
                           – Če iz relacije zbrišemo n-terico, ki predstavlja zadnjega člana
                             v neki organizacijski enoti, zgubimo tudi podatke o tej
                             organizacijski enoti.




PODATKOVNE BAZE
3. letnik UNI, Informatika                            - 106 -
©Laboratorij za podatkovne tehnologije
Anomalije pri spreminjanju

                 Primeri anomalij:
                           – Če ţelimo spremeniti vrednost nekega atributa določene
                             organizacijske enote (npr. naslov), moramo popraviti vse
                             n-terice, v katerih takšna vrednost atributa nastopa.




PODATKOVNE BAZE
3. letnik UNI, Informatika                           - 107 -
©Laboratorij za podatkovne tehnologije
Postopek normalizacije

                 Postopku preoblikovanja relacij v obliko, pri
                  kateri do aţurnih anomalij ne more priti, pravimo
                  normalizacija.

                 Obstaja več stopenj normalnih oblik. Obravnavali
                  bomo osnovne: 1NO, 2NO, 3NO, 4PNO in
                  razširjene, redke oblike: BCNO, 4NO, 5NO.




PODATKOVNE BAZE
3. letnik UNI, Informatika               - 108 -
©Laboratorij za podatkovne tehnologije
1NO – prva normalna oblika

                 Relacija je v prvi normalni obliki, če:
                           – Nima ponavljajočih atributov  ne obstajajo atributi ali
                             skupine atributov, ki bi imele več vrednosti pri isti vrednosti
                             ostalih atributov (na presečišču ene vrstice in enega stolpca
                             je več vrednosti)
                           – Ima definiran primarni ključ in določene funkcionalne
                             odvisnosti


                 Koraki:
                           – Odstranimo ponavljajoče atribute
                           – Določimo funkcionalne odvisnosti
                           – Določimo primarni ključ


PODATKOVNE BAZE
3. letnik UNI, Informatika                             - 109 -
©Laboratorij za podatkovne tehnologije
Primer – relacija v nenormalizirani obliki

                 Indeks( VŠ, priimek, ime, pošta, kraj, ( šifra predmeta, naziv, ocena ) )


                                                        Skupina ponavljajočih se atributov.


                VŠ                       priime   ime       pošta kraj    šifra predmeta naziv ocena
                                         k
                64010632 Bratina                  Simon     4100   Kranj 20020          IS    10
                                                                         20021          TPO   8
                                                                         20033          IPI   8
                64016209 Bizjak                   Tadeja    2250   Ptuj   20060         E1    9
                                                                          20033         IPI   6




PODATKOVNE BAZE
3. letnik UNI, Informatika                                          - 110 -
©Laboratorij za podatkovne tehnologije
Primer – pretvorba v 1NO...

                 Indeks( VŠ, priimek, ime, pošta, kraj, ( šifra predmeta, naziv, ocena ) )

                                                            Odpravimo ponavljajoče atribute

                 Indeks( VŠ, priimek, ime, pošta, kraj, šifra predmeta, naziv, ocena )

                                                             Identificiramo funkcionalne odvisnosti

                            F { VŠ  (priimek, ime, pošta, kraj), šifra predmeta 
                            naziv, pošta  kraj, (VŠ, šifra predmeta)  ocena }

                                                             Določimo primarni ključ

                 Indeks( VŠ, priimek, ime, pošta, kraj, šifra predmeta, naziv, ocena )

PODATKOVNE BAZE
3. letnik UNI, Informatika                             - 111 -
©Laboratorij za podatkovne tehnologije
Primer – pretvorba v 1NO
                           VŠ            priime   ime      pošta kraj    šifra predmeta naziv ocena
                                         k
                           64010632 Bratina       Simon    4100   Kranj 20020          IS    10
                                                                        20021          TPO   8
                                                                        20033          IPI   8
                           64016209 Bizjak        Tadeja   2250   Ptuj   20060         E1    9
                                                                         20033         IPI   6




                           VŠ            priime   ime      pošta kraj    šifra predmeta naziv ocena
                                         k
                           64010632 Bratina       Simon    4100   Kranj 20020          IS    10
                           64010632 Bratina       Simon    4100   Kranj 20021          TPO   8
                           64010632 Bratina       Simon    4100   Kranj 20033          IPI   8
                           64016209 Bizjak        Tadeja   2250   Ptuj   20060         E1    9
                           64016209 Bizjak        Tadeja   2250   Ptuj   20033         IPI   6
PODATKOVNE BAZE
3. letnik UNI, Informatika                                    - 112 -
©Laboratorij za podatkovne tehnologije
2NO – druga normalna oblika
                 Relacija je v drugi normalni obliki:
                           – Če je v prvi normalni obliki in
                           – Ne vsebuje parcialnih odvisnosti  noben atribut, ki ni del
                             ključa, ni funkcionalno odvisen le od dela primarnega ključa,
                             temveč od celotnega ključa
                 Druga normalna oblika je odvisna predvsem od
                  ključa relacije. Relacija je avtomatsko v drugi
                  normalni obliki, če:
                           – Je njen primarni ključ sestavljen le iz enega atributa,
                           – Je njen primarni ključ sestavljen iz vseh atributov relacije ali
                           – Je njen primarni ključ sestavljen iz vseh razen enega atributa
                             relacije



PODATKOVNE BAZE
3. letnik UNI, Informatika                             - 113 -
©Laboratorij za podatkovne tehnologije
Primer – pretvorba v 2NO...
                                         !

                    Indeks( VŠ, šifra predmeta, priimek, ime, pošta, kraj, naziv, ocena )

                                                              !



                                                          Relacijo razbijemo

                    Študent( VŠ, priimek, ime, pošta, kraj)
                    Predmet( šifra predmeta, naziv)
                    Indeks( #VŠ, #šifra predmeta, ocena)




PODATKOVNE BAZE
3. letnik UNI, Informatika                          - 114 -
©Laboratorij za podatkovne tehnologije
Primer – pretvorba v 2NO
                VŠ                       priime   ime      pošta kraj       šifra predmeta naziv ocena
                                         k
                64010632 Bratina                  Simon    4100    Kranj 20020            IS    10
                64010632 Bratina                  Simon    4100    Kranj 20021            TPO   8
                64010632 Bratina                  Simon    4100    Kranj 20033            IPI   8
                64016209 Bizjak                   Tadeja   2250    Ptuj     20060         E1    9
                64016209 Bizjak                   Tadeja   2250    Ptuj     20033         IPI   6


                VŠ                       priime   ime       pošta kraj         VŠ         šifra predmeta ocena
                                         k                                     64010632 20020            10
                64010632 Bratina                  Simon     4100   Kranj       64010632 20021            8
                64016209 Bizjak                   Tadeja    2250   Ptuj        64010632 20033            8
                                                    šifra predmeta naziv       64016209 20060            9
                                                    20020             IS       64016209 20033            6
                                                    20021             TPO
                                                    20033             IPI
                                                    20060             E1
PODATKOVNE BAZE
3. letnik UNI, Informatika
                                                    20033           - 115 -
                                                                      IPI
©Laboratorij za podatkovne tehnologije
3NO – tretja normalna oblika

                 Relacija je v tretji normalni obliki:
                           – Če je v drugi normalni obliki in
                           – Če ne vsebuje tranzitivnih funkcionalnih odvisnosti  med
                             atributi, ki niso del primarnega ključa, ni odvisnosti.
                 Relacija je avtomatsko v tretji normalni obliki, če:
                           – Je njen ključ sestavljen iz vseh atributov relacije
                           – Je njen ključ sestavljen iz vseh razen enega atributa relacije.




PODATKOVNE BAZE
3. letnik UNI, Informatika                             - 116 -
©Laboratorij za podatkovne tehnologije
Primer – pretvorba v 3NO...
                                                                         !

                                         Študent( VŠ, priimek, ime, pošta, kraj)
                                         Predmet( šifra predmeta, naziv)
                                         Indeks( #VŠ, #šifra predmeta, ocena)


                                                                      Relacijo razbijemo

                                         Študent( VŠ, priimek, ime, #pošta)
                                         Pošta(pošta, kraj)
                                         Predmet( šifra predmeta, naziv)
                                         Indeks( #VŠ, #šifra predmeta, ocena)




PODATKOVNE BAZE
3. letnik UNI, Informatika                                 - 117 -
©Laboratorij za podatkovne tehnologije
Primer – pretvorba v 3NO

                                                 VŠ         priime     ime      pošta kraj
                                                            k
                                                 64010632 Bratina      Simon    4100   Kranj
                                                 64016209 Bizjak       Tadeja   2250   Ptuj




                                         VŠ        priime   ime       pošta              pošta kraj
                                                   k                                     4100   Kranj
                                         64010632 Bratina   Simon     4100               2250   Ptuj
                                         64016209 Bizjak    Tadeja    2250




PODATKOVNE BAZE
3. letnik UNI, Informatika                                           - 118 -
©Laboratorij za podatkovne tehnologije
4PNO – četrta poslovna normalna oblika

                 Relacija je v četrti poslovni normalni obliki, če:
                           – je v tretji normalni obliki in
                           – v relaciji ne obstajajo atributi, ki bi bili odvisni od vrednosti
                             primarnega ključa.




PODATKOVNE BAZE
3. letnik UNI, Informatika                              - 119 -
©Laboratorij za podatkovne tehnologije
Primer – pretvorba v 4PNO...

                   Študent( VŠ, priimek, ime, #pošta, datum plačila šolnine, rok diplome)


                                               Za izredne študenta      Za redne študenta



                   Študent( VŠ, priimek, ime, #pošta)
                   Redni študent( #VŠ, rok diplome)
                   Izredni študent( #VŠ, datum plačila šolnine)




PODATKOVNE BAZE
3. letnik UNI, Informatika                          - 120 -
©Laboratorij za podatkovne tehnologije
Primer – pretvorba v 4PNO
                                VŠ        Priimek   Ime        Datum plačila šolnine Rok diplome
                                64010632 Bratina    Simon                            15.3.2005
                                64016209 Bizjak     Tadeja     19.4.2002
                                64010670 Berce      Marjan     12.4.2004
                                64620010 Mele       Silvana                          1.4.2005
                                65120987 Leban      Tibor                            15.7.2005




      VŠ                        Priimek   Ime             VŠ         Datum plačila šolnine
      64010632 Bratina                    Simon           64016209 19.4.2002
      64016209 Bizjak                     Tadeja          64010670 12.4.2004
      64010670 Berce                      Marjan
      64620010 Mele                       Silvana         VŠ         Rok diplome
      65120987 Leban                      Tibor           64010632 15.3.2005
                                                          64620010 1.4.2005
PODATKOVNE BAZE
3. letnik UNI, Informatika                                65120987 15.7.2005
                                                             - 121 -
©Laboratorij za podatkovne tehnologije
Uporaba nenormaliziranih relacij...

                 Včasih zavestno uporabljamo relacije, ki ne
                  ustrezajo najvišjim normalnim oblikam.
                 Prve in druge normalne oblike nikoli ne kršimo.
                 Višjim normalnim oblikam se včasih odrečemo na
                  račun doseganja boljše učinkovitosti.




PODATKOVNE BAZE
3. letnik UNI, Informatika               - 122 -
©Laboratorij za podatkovne tehnologije
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04

More Related Content

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 

Featured (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Pb2 predavanja v2011 v04

  • 1. Podatkovne baze II 3. letnik, univerzitetni študij smer INFORMATIKA UNIVERZA V LJUBLJANI Fakulteta za računalništvo in informatiko Prof. dr. Marko Bajec Gradivo, verzija 2.5
  • 2. I Splošne informacije...  Predavatelj – Prof. dr. Marko Bajec, univ. dipl. ing. – marko.bajec@fri.uni-lj.si http http://bajecm.fri.uni-lj.si/ –  Asistenti – Bojan Klemenc, Ana Šaša, Eva Zupančič, Starc Iztok – {ime.priimek}@fri.uni-lj.si http http://ucilnica.fri.uni-lj.si/ – PODATKOVNE BAZE II 3. Letnik UNI, Informatika -2- ©Laboratorij za podatkovne tehnologije
  • 3. Splošne informacije…  Priporočena literatura – [1] Thomas M. Connolly, Carolyn E. Begg (2005). Database Systems, A Practical Approach to Design, Implementation and Management, Fourth Edition, Addison-Wesley – [2] Ramez Elmasri, Shamkant B. Navathe (2003). Fundamentals of Database Systems, Fourth Edition, Addison Wesley. – [3] Tomaţ Mohorič (1997). Načrtovanje relacijskih podatkovnih baz, Zaloţba Bi-TIM. – [4] Peter Rob, Carlos Coronel (2005). Database Systems: Design, Implementation and Management, Sixth Edition, Addison Wesley. Citiranje: glej [3,15-20] = glej v knjigi T. Mohorič, strani od 15 do 20. PODATKOVNE BAZE II 3. Letnik UNI, Informatika -3- ©Laboratorij za podatkovne tehnologije
  • 4. Splošne informacije  Priporočena literatura (nadaljevanje): – [5] Raghu Ramakrishnan, Johannes Gehrke (2003). Database Management Systems, Third Edition, McGraw-Hill PODATKOVNE BAZE II 3. Letnik UNI, Informatika -4- ©Laboratorij za podatkovne tehnologije
  • 5. II Vsebina predmeta...  I. Načrtovanje podatkovnih baz – Pristopi k načrtovanju – Konceptualno načrtovanje – Metoda konceptualnega načrtovanja – Logično načrtovanje – Normalizacija – Metoda logičnega načrtovanja – Fizično načrtovanje – Metoda fizičnega načrtovanja PODATKOVNE BAZE II 3. Letnik UNI, Informatika -5- ©Laboratorij za podatkovne tehnologije
  • 6. Vsebina predmeta  II. Obvladovanje transakcij – Transakcije in njihove lastnosti – Nadzor sočasnosti – Obnova podatkov po nesrečah – Obvladovanje transakcij v porazdeljenih PB  III. Evaluacija poizvedb – O optimizaciji poizvedb – Hevristična optimizacija poizvedb – Stroškovna opredelitev operacij relacijske algebre – Alternativne strategije izvedbe poizvedb – Optimizacija poizvedb v SUPB Oracle PODATKOVNE BAZE II 3. Letnik UNI, Informatika -6- ©Laboratorij za podatkovne tehnologije
  • 7. Povzeto po [1] Poglavje 1 Načrtovanje podatkovnih baz  Pristopi k načrtovanju PB  Konceptualno načrtovanje  Metoda konceptualnega načrtovanja  Logično načrtovanje in normalizacija  Metoda logičnega načrtovanja  Fizično načrtovanje  Metoda fizičnega načrtovanja PODATKOVNE BAZE II 3. Letnik UNI, Informatika -7- ©Laboratorij za podatkovne tehnologije
  • 8. Pristopi k načrtovanju PB  Obstajata dva glavna pristopa k načrtovanju podatkovne baze: – Pristop od spodaj navzgor in – Pristop od vrha navzdol. Ime in priimek študenta, Vpisna številka, Datum vpisa v prvi letnik, Starost študenta, Spol študenta, Stalno prebivališče, Začasno prebivališče, Vpisani predmeti, Opravljeni izpiti, Trenutni vpis, Naziv predmeta, Semester izvajanja predmeta, število ECTS… Normalizacija ŠTUDENT PREDMET ŠTUDENT (Vpisna številka, ime, priimek,…) PREDMET (Šifra predmeta, naziv predmeta,…) VPIS (…) INDEKS (…) VPIS INDEKS PODATKOVNE BAZE 3. letnik UNI, Informatika -8- ©Laboratorij za podatkovne tehnologije
  • 9. Pristop od spodaj navzgor  Pristop od spodaj navzgor: – začne z atributi ter jih zdruţuje v skupine – Tak pristop predstavlja normalizacija Normalizacija = identifikacija potrebnih atributov in njihovih agregacij v normalizirane relacije na osnovi funkcionalnih odvisnosti.  Pristop od spodaj navzgor primeren za enostavne podatkovne baze z majhnim številom atributov. PODATKOVNE BAZE 3. letnik UNI, Informatika -9- ©Laboratorij za podatkovne tehnologije
  • 10. Pristop z vrha navzdol  Za večje baze primeren pristop z vrha navzdol. – Na začetku podatkovni modeli z le nekaj osnovnih entitetnih tipov in razmerij – Korakoma razgradnja na pod-entitete, povezave in atribute – Tak pristop predstavlja uporaba tehnike Entiteta – Razmerje (E-R). ŠTUDIJSKI PROGRAM ŠTUDENT PREDMETNIK korakoma INDEKS PODATKOVNE BAZE 3. letnik UNI, Informatika - 10 - ©Laboratorij za podatkovne tehnologije
  • 11. Načrtovanje PB po delih  V praksi načrtovanje pogosto poteka po delih, t.j. načrtovanje razdelimo na več laţje obvladljivih delov: – Najprej kreiramo okvirno shemo z najpomembnejšimi entitetnimi tipi in razmerji med njimi – Shemo razdelimo na področja (jedra so identificirani entitetni tipi) – Za vsako področje so vključeni poznavalci področja – Načrtovanje za posamezna področja lahko poteka vzporedno – Posamezne sklope na koncu zdruţimo v eno shemo PODATKOVNE BAZE 3. letnik UNI, Informatika - 11 - ©Laboratorij za podatkovne tehnologije
  • 12. Načrtovanje PB po delih Delitev poslovne domene Okvirna na področja, kreiranje shema osnovne sheme Področje 1 Področje 2 ... Področje n Področna Področna Področna shema 1 shema 2 shema n Končna shema PODATKOVNE BAZE 3. letnik UNI, Informatika - 12 - ©Laboratorij za podatkovne tehnologije
  • 13. Trije nivoji načrtovanja  Glede na raven abstrakcije ločimo: visok – Konceptualno načrtovanje  CILJ: izdelati načrt PB, ki bo neodvisen od tehnologije in ga bomo lahko uporabili za izdelavo kakršnekoli podatkovne baze: relacijske, XML, objektne…;  REZULTAT: konceptualni načrt ali konceptualni podatkovni model Nivo abstrakcije – Logično načrtovanje  CILJ: na osnovi konceptualnega načrta izdelati logični načrt podatkovne baze, to je zapisati načrt v jeziku, ki bo razumljiv izbranemu SUPB.  REZULTAT: logični načrt ali logični podatkovni model – Fizično načrtovanje  CILJ: pripraviti vse potrebne skripte, programe itn za izdelavo nizek fizične podatkovne baze.  REZULTAT: načrt za generiranje fizične podatkovne baze PODATKOVNE BAZE 3. letnik UNI, Informatika - 13 - ©Laboratorij za podatkovne tehnologije
  • 14. Trije nivoji načrtovanja – trije modeli Konceptualni PM i-CASE Odločitev o PB: -Relacijska -Hierarhična -Objektna Logični PM Fizični PM (skripta) Reverse Engineering Podatkovna ODBC baza SUPB PODATKOVNE BAZE 3. letnik UNI, Informatika - 14 - ©Laboratorij za podatkovne tehnologije
  • 15. Konceptualno načrtovanje  Konceptualno načrtovanje oziroma modeliranje je način, s katerim ţelimo na najvišji ravni abstrakcije opredeliti tiste pojme iz poslovne domene, o katerih ţelimo hraniti podatke. Zakaj je izdelava modela smiselna? Zakaj ne izdelamo PB direktno z orodji, ki so nam na voljo? Kaj sploh je model? PODATKOVNE BAZE 3. letnik UNI, Informatika - 15 - ©Laboratorij za podatkovne tehnologije
  • 16. Splošno o modeliranju…  Modeliranje je uveljavljena inţenirska tehnika na mnogih področjih: – Gradbeništvo, – Strojništvo, – Kemija, – Ekonomija, – Sociologija, – Računalništvo… PODATKOVNE BAZE 3. letnik UNI, Informatika - 16 - ©Laboratorij za podatkovne tehnologije
  • 17. Splošno o modeliranju…  Modele razvijamo zato, da bi sisteme bolje razumeli. PODATKOVNE BAZE 3. letnik UNI, Informatika - 17 - ©Laboratorij za podatkovne tehnologije
  • 18. Splošno o modeliranju…  Model je poenostavitev realnosti, pri čemer je abstrakcija realnosti poljubno natančna.  Pomembno je, da model prikazuje pomembne elemente in izpušča tiste, ki nas ne zanimajo. PODATKOVNE BAZE 3. letnik UNI, Informatika - 18 - ©Laboratorij za podatkovne tehnologije
  • 19. Splošno o modeliranju…  Modeliranje prinaša naslednje bistvene prednosti: – Omogoča vizualizacijo sistema, – Prikazuje tako statične kot dinamične lastnosti sistema, – Predstavlja šablono za nadaljnjo gradnjo sistema, – Dokumentira sprejete odločitve. PODATKOVNE BAZE 3. letnik UNI, Informatika - 19 - ©Laboratorij za podatkovne tehnologije
  • 20. Splošno o modeliranju…  Izbira modelov za modeliranje sistemov – Za modeliranje sistema lahko izberemo različne modele. – Izbira modelov določa, kako bomo pristopili k reševanju problema ter kako oblikovali rešitev. – Modeli morajo podpirati izraţanje na različnih ravneh natančnosti. – Najboljši modeli so tesno povezani z realnostjo. – En sam model nikoli ni dovolj. Sistem je potrebno modelirati iz različnih vidikov. Najboljši pristop je izbira nekaj modelov, ki kar najbolje pokrijejo najpomembnejše vidike sistema. – Metodologije razvoja IS predlagajo različne modele. PODATKOVNE BAZE 3. letnik UNI, Informatika - 20 - ©Laboratorij za podatkovne tehnologije
  • 21. Splošno o modeliranju  Primer – Če IS izdelujemo po strukturnem pristopu, potem v analizi izdelamo tri modele:  Podatkovni model,  Procesni model in  Model procesne logike. Model sistema Podatkovni model Procesni model Model procesne logike PODATKOVNE BAZE 3. letnik UNI, Informatika - 21 - ©Laboratorij za podatkovne tehnologije
  • 22. Pomen konceptualnega načrtovanja  Je najbolj kritično – napake se prenašajo naprej na naslednje modele.  Zahteva sodelovanje uporabnikov. Uporabniki so nosilci znanja o poslovni domeni, so poznavalci semantike.  Konceptualno načrtovanje mora upoštevati tudi poslovna pravila. PODATKOVNE BAZE 3. letnik UNI, Informatika - 22 - ©Laboratorij za podatkovne tehnologije
  • 23. Umestitev konceptualnega načrtovanja svet mentalni model konceptualni model logični model PB PODATKOVNE BAZE 3. letnik UNI, Informatika - 23 - ©Laboratorij za podatkovne tehnologije
  • 24. Predstavitev konceptualnih modelov  Najpogosteje uporabljana tehnika za predstavitev konceptualnih podatkovnih modelov sta entitetni model (model entiteta-razmerje) ter razredni diagram. Obravnavali bomo prvega!  Nazivi, ki se uporabljajo: – Konceptualni podatkovni model – Podatkovni model – Entitetni model – ER model  Obstaja tudi razširjeni model entiteta razmerje PODATKOVNE BAZE 3. letnik UNI, Informatika - 24 - ©Laboratorij za podatkovne tehnologije
  • 25. Gradniki entitetnega modela  Entitetni tip  Atribut  Razmerje  Enolični identifikator PODATKOVNE BAZE 3. letnik UNI, Informatika - 25 - ©Laboratorij za podatkovne tehnologije
  • 26. Entitetni tip – entiteta...  Entitete so posamezni primerki tipov objektov iz poslovne domene: dogodki, predmeti, osebe, pravila, dejstva  O entitetah obstaja določena predstava o tem: – kakšne lastnosti dejansko imajo – kakšne lastnosti jim moramo določiti (morajo imeti), da bodo izpolnjevale poslanstvo entitetnega modela  Na osnovi predstave o tem in percepcije, lahko entitete klasificiramo v entitetne tipe: vse entitete, ki ustrezajo določeni predstavi, pripadajo posameznemu entitetnemu tipu. PODATKOVNE BAZE 3. letnik UNI, Informatika - 26 - ©Laboratorij za podatkovne tehnologije
  • 27. Entitetni tip – entiteta  Vsak trenutek pripada posameznemu entitetnemu tipu mnoţica entitet tega entitetnega tipa, ki jo imenujemo entitetna mnoţica  Entitetna mnoţica je časovno spremenljiva: entitete nastajajo, se spreminjajo in tudi izginjajo (izstopajo iz mnoţice).  Entitetna mnoţica je v nekem trenutku lahko tudi prazna. PODATKOVNE BAZE 3. letnik UNI, Informatika - 27 - ©Laboratorij za podatkovne tehnologije
  • 28. Predstavitev entitetnega tipa Ime entitetnega tipa Ime entitetnega tipa Prostor za atribute PODATKOVNE BAZE 3. letnik UNI, Informatika - 28 - ©Laboratorij za podatkovne tehnologije
  • 29. Atribut...  Entitete imajo določene lastnosti, posamezne entitete (istega entitetnega tipa) se med seboj razlikujejo po vrednosti njihovih lastnosti  Entiteta ima praviloma veliko lastnosti, le del teh lastnosti je zanimiv oz. pomemben za opazovano poslovno domeno  Lastnosti, ki so pomembne za opazovano poslovno domeno, vključimo v konceptualni model tako, da jih kot atribute določimo entiteti (entitetnemu tipu) PODATKOVNE BAZE 3. letnik UNI, Informatika - 29 - ©Laboratorij za podatkovne tehnologije
  • 30. Atribut...  Govorimo lahko o več vrstah lastnosti: – Entitetna imena: naziv, ime, opis – Prave entitetne lastnosti: višina, teţa, cena, vrednost – Lastnosti, ki jih določimo za potrebe poslovnih procesov, poslovnih funkcij in poslovnih pravil: statusi  Atribut določimo za tisto lastnost, ki je za poslovno domeno pomembna PODATKOVNE BAZE 3. letnik UNI, Informatika - 30 - ©Laboratorij za podatkovne tehnologije
  • 31. Atribut  Kardinalnost atributa je minimalna in maksimalna Glede na kardinalnost atributa ločimo: – Totalni atribut (1,n), kjer je n >= 1 – Parcialni atribut (0,n), kjer je n >= 1 – Enovrednostni atribut (m,1), kjer je m € {0,1} – Večvrednostni atribut (m,n), kjer je m € {0,1} in n>1  Minimalna števnost 0 pomeni, da je atribut lahko brez vrednosti (ni obvezen).  Atribut pripada določenemu tipu: numerični, znakovni,…  Za večino tipov je potrebno (1,1) EMŠO določiti tudi dolţino. (1,3) Ime OSEBA (1,1) Priimek (0,n) Vzdevek PODATKOVNE BAZE 3. letnik UNI, Informatika - 31 - ©Laboratorij za podatkovne tehnologije
  • 32. Predstavitev atributa (1,1) EMŠO (1,3) Ime OSEBA (1,1) Priimek (0,n) Vzdevek OSEBA EMŠO Ime Priimek Vzdevek PODATKOVNE BAZE 3. letnik UNI, Informatika - 32 - ©Laboratorij za podatkovne tehnologije
  • 33. Razmerja med entitetami  Entitete niso svet zase, medsebojno se povezujejo preko razmerij, povezav  Razmerje ima določen pomen  Predstavitev razmerja v modelu entiteta-razmerje je povezava.  Med opazovanim parom (v splošnem podmnoţici) entitet je lahko več razmerij: OSEBA, KRAJ – stalno bivališče, začasno bivališče PODATKOVNE BAZE 3. letnik UNI, Informatika - 33 - ©Laboratorij za podatkovne tehnologije
  • 34. Predstavitev razmerja... OSEBA ţivi KRAJ ţivi OSEBA KRAJ Pomen razmerja PODATKOVNE BAZE 3. letnik UNI, Informatika - 34 - ©Laboratorij za podatkovne tehnologije
  • 35. Predstavitev razmerja OSEBA ţivi KRAJ ţivi v ima OSEBA KRAJ Vloga entitete v razmerju PODATKOVNE BAZE 3. letnik UNI, Informatika - 35 - ©Laboratorij za podatkovne tehnologije
  • 36. Kardinalnost razmerja...  Kardinalnost (števnost) predstavlja število entitet entitetnega tipa, ki so v razmerju glede na pomen razmerja.  Vsaka entiteta ima svojo kardinalnost v razmerju – kardinalnost glede na vlogo. Entiteti OSEBA, POŠTA: – Ena (naključno izbrana) oseba ima stalno bivališče v enem kraju – V enem (naključno izbranem) kraju ima stalno bivališče več oseb PODATKOVNE BAZE 3. letnik UNI, Informatika - 36 - ©Laboratorij za podatkovne tehnologije
  • 37. Kardinalnost razmerja... A B A (n,m) A B povezava A B (p,r) B A B PODATKOVNE BAZE 3. letnik UNI, Informatika - 37 - ©Laboratorij za podatkovne tehnologije
  • 38. Kardinalnost razmerja  Razmerji med entitetama OSEBA in POŠTA Stalno prebivališče OSEBA POŠTA Začasno prebivališče PODATKOVNE BAZE 3. letnik UNI, Informatika - 38 - ©Laboratorij za podatkovne tehnologije
  • 39. Obveznost razmerja  Obveznost pove, ali sta dve entiteti vedno v razmerju ali lahko tudi nista v razmerju: obvezno, neobvezno razmerje  Obveznost lahko obravnavamo pod okriljem števnosti, zaradi česar dodatno uvedemo števnost 0 PODATKOVNE BAZE 3. letnik UNI, Informatika - 39 - ©Laboratorij za podatkovne tehnologije
  • 40. Razmerje tudi opisuje lastnost entitete  Razmerje tudi opisuje lastnost entitete  Primer: OSEBA, POŠTA  Razmerje ima atributiven značaj PODATKOVNE BAZE 3. letnik UNI, Informatika - 40 - ©Laboratorij za podatkovne tehnologije
  • 41. Enolični identifikator entitete...  Enolični identifikator entitete je podmnoţica lastnosti entitete (atributov in razmerij – drugih entitet), ki enolično razlikujejo posamezno instanco entitete znotraj entitetne mnoţice  Z ozirom na to, ali tvorijo enolični identifikator entitete le atributi entitete ali pa je v enoličnem identifikatorju tudi kakšno razmerje, ločimo med močnim entitetnim tipom in šibkim entitetnim tipom PODATKOVNE BAZE 3. letnik UNI, Informatika - 41 - ©Laboratorij za podatkovne tehnologije
  • 42. Enolični identifikator entitete  Imamo lahko več enoličnih identifikatorjev, vendar moramo enega izbrati – določiti  Izbrani – določeni enolični identifikator je podlaga za ključ v relacijskem modelu PODATKOVNE BAZE 3. letnik UNI, Informatika - 42 - ©Laboratorij za podatkovne tehnologije
  • 43. Predstavitev enoličnega identifikatorja (1,1) EMŠO (1,3) Ime OSEBA (1,1) Priimek (0,n) Vzdevek OSEBA EMŠO Ime Priimek Vzdevek PODATKOVNE BAZE 3. letnik UNI, Informatika - 43 - ©Laboratorij za podatkovne tehnologije
  • 44. Močni entitetni tip  Enolični identifikator sestavljajo le atributi entitete (identifikacijski atributi)  {a1, … ak} je enolični identifikator entitete A, če ustreza naslednjim pogojem: a) a1, … ak so vsi totalni enovrednostni atributi, kar zagotavlja, da imajo vsi identifikacijski atributi definirano natanko eno vrednost (eno dimenzijo) b) T: V1 x …x Vk  ET je totalna ali parcialna enovrednostna funkcija, kar zagotavlja, da se vsak element kartezijskega produkta vrednostnih mnoţic, ki so območja identifikacijskih atributov, preslika v največ eno entiteto tipa A c) Je minimalna podmnoţica, ne obstaja prava podmnoţica, za katero bi tudi veljal pogoj b) PODATKOVNE BAZE 3. letnik UNI, Informatika - 44 - ©Laboratorij za podatkovne tehnologije
  • 45. Šibki entitetni tip  Enolični identifikator ni sestavljen le iz lastnih atributov, temveč tudi iz razmerij oz. drugih entitet v razmerju oz. njenih identifikatorjev.  {a1, … ak} IT1 .. ITn je enolični identifikator entitete A, če ustreza naslednjim pogojem: a) a1, … ak so vsi totalni enovrednostni atributi, I pa identifikatorji entitetnih tipov b) T: V1 x …x Vkx ET1 x .. X ETn  ET je totalna ali parcialna enovrednostna funkcija, kar zagotavlja, da se vsak element kartezijskega produkta vrednostnih mnoţic, ki so območja identifikacijskih atributov, preslika v največ eno entiteto tipa A c) Je minimalna podmnoţica, ne obstaja prava podmnoţica, za katero bi tudi veljal pogoj b) PODATKOVNE BAZE 3. letnik UNI, Informatika - 45 - ©Laboratorij za podatkovne tehnologije
  • 46. Generalizacija in specializacija...  Entitetni tip A s podtipoma B in C  B in C pokrivata A totalno in ekskluzivno, če velja: EB EC = EA in EB EC = {}  B in C pokrivata A totalno in prekrivno, če velja: EB EC = EA in EB EC ≠ {}  B in C pokrivata A delno in ekskluzivno, če velja: EB EC EA in EB EC = {}  B in C pokrivata A delno in prekrivno, če velja: EB EC EA in EB EC ≠ {} PODATKOVNE BAZE 3. letnik UNI, Informatika - 46 - ©Laboratorij za podatkovne tehnologije
  • 47. Generalizacija in specializacija OSEBA Totalno in ekskluzivno MOŠKI ŢENSKA OSEBA Delno in prekrivno ŠTUDENT ŠPORTNIK PODATKOVNE BAZE 3. letnik UNI, Informatika - 47 - ©Laboratorij za podatkovne tehnologije
  • 48. Metoda konceptualnega načrtovanja  Moţni koraki konceptualnega načrtovanja: – K1.1: Identificiraj entitetne tipe – K1.2: Identificiraj povezave – K1.3: Identificiraj in z entitetnimi tipi poveţi atribute – K1.4: Atributom določi domene – K1.5: Določi kandidate za ključe; izmed kandidatov izberi primarni ključ – K1.6: Po potrebi uporabi elemente razširjenega diagrama entiteta – razmerje – K1.7: Preveri, če v modelu obstajajo odvečni elementi – K1.8: Preveri, če model “zdrţi” transkacije – K1.9: Preveri model z uporabnikom PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 48 - ©Laboratorij za podatkovne tehnologije
  • 49. K1.1 – Identificiraj entitetne tipe...  Na voljo različne tehnike  Ena izmed tehnik je pregled uporabniških zahtev: – Pregledamo vse omenjene samostalnike in fraze (npr. profesor, predmet, izpit, rok, datum izpita,...) – Pozorni smo na pomembne objekte (npr. ljudje, lokacije...) – Skušamo ločiti objekte (npr. profesor, izpit,...) od lastnosti objektov (ime, vpisna številka,...) – Lastnosti objektov zdruţujemo v entitetne tipe PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 49 - ©Laboratorij za podatkovne tehnologije
  • 50. K1.1 – Identificiraj entitetne tipe...  Teţave: – Entitete niso vedno jasno predstavljene v dokumentaciji  Uporaba primerov, analogij, sinonimov, homonimov  Uporaba konkretnih imen oseb – Ni vedno jasno, kaj je entitetni tip, kaj povezava in kaj atribut (npr. izpit)  Načrtovanje je subjektivne narave – moţnih je več (pravilnih) rešitev.  Načrt zavisi od uporabnikove presoje in izkušenj PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 50 - ©Laboratorij za podatkovne tehnologije
  • 51. K1.1 – Identificiraj entitetne tipe  Entitetne tipe je potrebno dokumentirati  Primer dokumentacije: Naziv Opis Sinonim Število entitet entitetnega tipa Profesor Predstavlja pedagoškega Pedagoški Vsaka katedra ima delavca, ki je nosilec enega delavec enega ali več ali več predmetov profesorjev Izpitni rok Predstavlja datum, na Rok, pisni Na leto se razpiše katerega je za nek predmet in izpit, okrog 300 pisnih določeno ciljno skupino kolokvij izpitov. Vsak predmet (letnik, smer,...) razpisan mora imeti vsaj tri roke izpitni rok. letno ... PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 51 - ©Laboratorij za podatkovne tehnologije
  • 52. K1.2 – Identificiraj povezave...  Ko smo identificirali entitetne tipe, skušamo opredeliti vse povezave med njimi  Uporabimo lahko podoben postopek kot v K1 (pregled uporabniških zahtev): – Iščemo glagole (npr. profesor razpiše rok, študent polaga izpit, študent izbere mentorja, študent se vpiše v letnik,...) – Zanimajo nas samo tiste povezave, ki so res potrebne (očitne povezave ali povezave, ki nas ne zanimajo z vidika hranjenja podatkov, so odveč) PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 52 - ©Laboratorij za podatkovne tehnologije
  • 53. K1.2 – Identificiraj povezave...  Postopek identifikacije povezav (nadaljevanje) – Pozorni smo na povezave, ki niso binarne - povezujejo več kot dve entiteti ali so rekurzivne. Npr. študent opravi izpit za nek predmet pri nekem profesorju. Ali, pedagoški delavec ima asistenta, ki je tudi pedagoški delavec. – Preverimo, če smo zajeli vse povezave (načeloma lahko preverimo za vsak par entitetnih tipov, če med njima obstaja povezava) – postopek je lahko zelo potraten, zato ga ne izvajamo vedno (preverjanje modela je stvar K8) PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 53 - ©Laboratorij za podatkovne tehnologije
  • 54. K1.2 – Identificiraj povezave...  Postopek identifikacije povezav (nadaljevanje) – Povezavam določimo števnost – Preverimo, če obstajajo kakšne dvoumne ali nepopolne povezave (ang. chasm and fan tramps) Primer dvoumne povezave je član vključuje Profesor 1..* 1..1 Katedra 1..1 1..* Laboratorij Pr1 L1 K1 Pr2 L2 K2 Pr3 L3 PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 54 - ©Laboratorij za podatkovne tehnologije
  • 55. K1.2 – Identificiraj povezave....  Dvoumno povezavo odpravimo z restrukturiranjem modela je član vključuje Profesor Laboratorij Katedra 1..* 1..1 1..* 1.1 Pr1 K1 L1 Pr2 K2 L2 Pr3 K3 PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 55 - ©Laboratorij za podatkovne tehnologije
  • 56. K1.2 – Identificiraj povezave... Primer nepopolne povezave ima je skrbnik Katedra 1..1 1..* Član 0..1 0..* Oprema K1 Čl1 O1 K2 Čl2 O2 K3 Čl3 O3 Kateri katedri pripada oprema O2? PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 56 - ©Laboratorij za podatkovne tehnologije
  • 57. K1.2 – Identificiraj povezave...  Tudi nepopolno povezavo odpravimo z restrukturiranjem modela ima je skrbnik Katedra 1..1 1..* Član 0..1 0..* Oprema 1..1 1..* pripada K1 Čl1 O1 K2 Čl2 O2 K3 Čl3 PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 57 - ©Laboratorij za podatkovne tehnologije
  • 58. K1.2 – Identificiraj povezave  Povezave je potrebno dokumentirati  Primer dokumentacije: Entitetni Števnost Povezava Števnost Entitetni tip tip Član 1..* Pripada 1..1 Katedra 1..1 Je predstojnik 0..1 Laboratorij 1..* Sodi v 1..1 Katedra ... PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 58 - ©Laboratorij za podatkovne tehnologije
  • 59. K1.3 – Identificiraj atribute...  Skušamo identificirati lastnosti entitet ter povezav  Uporabimo lahko tehniko proučevanja uporabniških zahtev – iščemo samostalnike, ki predstavljajo lastnosti, opisne vrednosti ali identifikatorje objektov  Korak določanja atributov entitetnih tipov je relativno enostaven PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 59 - ©Laboratorij za podatkovne tehnologije
  • 60. K1.3 – Identificiraj atribute...  Nekaj primerov, kjer je potrebna pazljivost: – Enostavni in sestavljeni atributi (npr. naslov  ulica, hišna številka, številka pošte, naziv pošte). Kaj potrebuje uporabnik? – Eno- in več-vrednostni atributi (npr. telefonska števila  domača, v sluţni, mobilna... – Izpeljani atributi (npr. skupna cena računa, starost študenta,...)  pogosto ne kaţemo v konceptualnih modelih. Obravnavamo pri fizičnem načrtovanju. PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 60 - ©Laboratorij za podatkovne tehnologije
  • 61. K1.3 – Identificiraj atribute...  Dodatna priporočila: – Če identificiramo atributi, ki navidez pripadajo več entitetam, preverimo:  Ali je moţno zdruţiti entitete (npr. asistent in profesor zdruţimo v pedagoški delavec);  Če imajo entitete več skupnih vendar tudi svoje atribute, razmislimo o uporabi generalizacije (npr. poleg entitetnega tipa asistent in profesor uvedemo še entitetni tip pedagoški delavec, ki prevzame vse skupne atribute.) – Če identificiramo atribut, ki odraţa povezavo (npr. atribut katedra v entitetnem tipu Profesor predstavlja povezavo z entiteto katedra):  Če povezava obstaja, potem je atribut odveč  Če povezava ne obstaja, jo je potrebno dodati ter atribut zbrisati PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 61 - ©Laboratorij za podatkovne tehnologije
  • 62. K1.3 – Identificiraj atribute  Atribute je potrebno dokumentirati: – Naziv atributa, opis, podatkovni tip, dolţina, sinonimi, ali je atribut sestavljen (iz katerih atributov je sestavljen?), ali je atribut izpeljan (iz katerih atributov je izpeljan?),...  Primer dokumentacije: Entitetni Atributi Opis Podatkovni Dolžina ... tip tip Študent VpisSt Vpisna številka študenta Number 8 ... Ime Ime študenta Character 20 Priimek Priimek študenta Character 20 ... ... ... PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 62 - ©Laboratorij za podatkovne tehnologije
  • 63. K1.4 – Atributom določi domene...  Domena je mnoţica vrednosti, ki jih lahko zavzamejo atributi, vključeni v to domeno.  Domeni lahko določimo: – Seznam dovoljenih vrednosti – Minimalno in maksimalno vrednost – Podatkovni tip in dolţino – Dovoljene operacije nad atributom (še v raziskavi)  Primeri domen: – Barva  {bela, rumena, oranţna, rdeča} – Opis elementa  character 50 – Starost  [0..120] – EMSO  number 13 PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 63 - ©Laboratorij za podatkovne tehnologije
  • 64. K1.4 – Atributom določi domene  Tudi domene dokumentiramo  Zapišemo naziv domene ter lastnosti oz. pravila, ki jih domena določa. PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 64 - ©Laboratorij za podatkovne tehnologije
  • 65. K1.5 - Določi kandidate za ključe...  Za vsak entitetni tip določimo kandidate za ključ ter izberemo enega za primarni ključ.  Kandidati za ključ so minimalne podmnoţice atributov, ki enolično identificirajo vsako entiteto.  Če je kandidatov več, izberemo enega, ki je primeren za primarni ključ. Primer Študent EMŠO VpisSt DavcnaSt Ime Priimek DtmRoj PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 65 - ©Laboratorij za podatkovne tehnologije
  • 66. K1.5 - Določi kandidate za ključe...  Nekaj priporočil za izbiro ključa, če je več kandidatov: – Kandidat z najmanj atributi; – Kandidat, za katerega je najmanj verjetno, da se bodo njegove vrednosti spreminjale; – Kandidat z najmanjšo dolţino znakov (za alfanumerične kandidate); – Kandidat z najmanjšo maksimalno vrednostjo (za numerične kandidate); – Kandidat, ki ga je najlaţje uporabiti s stališča uporabnika PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 66 - ©Laboratorij za podatkovne tehnologije
  • 67. K1.5 - Določi kandidate za ključe  Dodatna priporočila: – Imena navadno niso dober kandidat za ključ – Bodi pozoren na šibke entitetne tipe (šibkim entitetam v okviru konceptualnega načrtovanja ne moremo določiti ključa)  Tudi primarne in alternativne ključe je potrebno dokumentirati. PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 67 - ©Laboratorij za podatkovne tehnologije
  • 68. K1.6 – uporabi elemente EER diagrama...  EER – razširjen ER diagram  Elementi razširjenega ER diagrama so: – Specializacija: ugotovljamo razlike med entitetami doočenega tipa in entitetni tip razbiti na več specializiranih entitet. – Generalizacija: ugotavljamo skupne lastnosti entitet različnih tipov in kreirati nov tip s skupnimi lastnostmi. – Agregacija: modeliramo povezavo “je del” oziroma “ima”, s katero določimo pripadnost tipa “del” tipu “celota”. – Kompozicija: posebna vrsta agregacije z močnim lastništvom  “del” ne more obstajati brez “celote”. PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 68 - ©Laboratorij za podatkovne tehnologije
  • 69. K1.6 – uporabi elemente EER diagrama... Primer specializacije Znak za specializacijo/ generalizacijo. Študent Lahko tudi: Redni študent Izredni študent PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 69 - ©Laboratorij za podatkovne tehnologije
  • 70. K1.6 – uporabi elemente EER diagrama... Primer generalizacije Pedagoški delavec Profesor Asistent PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 70 - ©Laboratorij za podatkovne tehnologije
  • 71. K1.6 – uporabi elemente EER diagrama... Primer agregacije Navadna povezava pripada Študent Indeks Znak za 1..1 1..* agregacijo. pripada Študent Indeks 1..1 1..* Agregacija povečuje semantiko modela PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 71 - ©Laboratorij za podatkovne tehnologije
  • 72. K1.6 – uporabi elemente EER diagrama... Primer kompozicije Navadna povezava pripada Študent Indeks Znak za 1..1 1..* kompozicijo. pripada Študent Indeks 1..1 1..* Kompozicija povečuje semantiko modela PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 72 - ©Laboratorij za podatkovne tehnologije
  • 73. K1.6 – uporabi elemente EER diagrama  Kdaj uporabiti elemente razširjenega ER diagrama? – Elementi razširjenega diagrama povečajo semantiko modela vendar lahko negativno vplivajo na “berljivost” modela – Berljivost, enostavnost modela naj bo vodilo pri odločanju o uporabi naprednih modelirnih elementov (predvsem agregacija in kompozicija) PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 73 - ©Laboratorij za podatkovne tehnologije
  • 74. K1.7 - Preveri obstoj odvečnih elem....  Preverimo, če v modelu obstajajo redundantni elementi: – Pregledamo povezava 1 – 1 – Odstranimo odvečne povezave – Preverimo “časovni okvir” PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 74 - ©Laboratorij za podatkovne tehnologije
  • 75. K1.7 - Preveri obstoj odvečnih elem....  Povezave 1 – 1 – Pri identifikaciji entitetnih tipov smo morda zajeli več tipov, ki predstavljajo iste objekte (npr. Profesor, Pedagoški delavec, Asistent) – Če taki tipi obstajajo, jih je potrebno zdruţiti – Če so primarni ključi različni, izberemo enega Profesor Pedagog Asistent EMŠO EMŠO EMŠO DavcnaSt DavcnaSt DavcnaSt Ime Ime Ime Priimek Priimek Priimek DtmRoj DtmRoj DtmRoj PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 75 - ©Laboratorij za podatkovne tehnologije
  • 76. K1.7 - Preveri obstoj odvečnih elem....  Odstrani odvečne povezave – Povezava je odvečna, če je moţno priti do iste informacije prek drugih povezav! – Izdelati ţelimo minimalen podatkovni model  odvečne povezave zato odstranimo. – Zgolj pregledovanje poti med entitetnimi tipi ne zadošča (povezave imajo lahko različen pomen) PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 76 - ©Laboratorij za podatkovne tehnologije
  • 77. K1.7 - Preveri obstoj odvečnih elem....  Ali je kakšna povezava odveč? je predstojnik Profesor Katedra 1..1 0..1 1..* 1..1 pripada 1..* je član 1..1 Laboratorij PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 77 - ©Laboratorij za podatkovne tehnologije
  • 78. K1.7 - Preveri obstoj odvečnih elem....  Ali je kakšna povezava odveč? pripada Profesor Katedra 1..* 1..1 1..* 1..1 pripada 1..* je član 1..1 Laboratorij PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 78 - ©Laboratorij za podatkovne tehnologije
  • 79. K1.7 - Preveri obstoj odvečnih elem....  Preveri časovni okvir – Časovni okvir povezav je lahko pomemben je poročen z Oče Mati 0..1 0..1 1..1 1..1 je mati ? 0..* je oče Otrok 0..* – Kaj če ima oče otroka iz prejšnjega zakona? PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 79 - ©Laboratorij za podatkovne tehnologije
  • 80. K1.8 - Preveri če model zdrţi transkacije...  Preveriti moramo če model, ki smo ga dobili s koraki od K1 do K7, podpira vse zahtevane transakcije. – Transakcije izvajamo ročno – Če neke transkacije ne uspemo izvesti, je model pomanjkljiv (manjka bodisi entitetni tip, povezava ali atribut)  Moţna dva pristopa: – Preverjanje opisa transakcij – Preverjanje transakcijskih poti PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 80 - ©Laboratorij za podatkovne tehnologije
  • 81. K1.8 - Preveri če model zdrţi transkacije...  Preverjanje opisa transakcij – Vsako transakcijo opišemo; – Preverimo, če model zajema vse entitetne tipe, povezave in atribute, ki jih transakcija potrebuje. PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 81 - ©Laboratorij za podatkovne tehnologije
  • 82. K1.8 - Preveri če model zdrţi transkacije...  Primer opisa transakcijskih zahtev – Vnos podatkov:  Vnesi podatke o študentih (npr. 24010637, Monika Jemec,...)  Vnesi podatke o predmetih (npr. 70029, Razvoj IS, Letni,...)  ... – Urejanje in brisanje podatkov:  Uredi/briši podatke o študentu  Uredi/briši podatke o predmetih  ... – Poizvedbe  Izpiši vse študente, ki so se vpisali v določen letnik, določene smeri, določenega programa  Izpiši vse predmete, ki jih je opravil določen študent  ... PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 82 - ©Laboratorij za podatkovne tehnologije
  • 83. K1.8 - Preveri če model zdrţi transkacije...  Preverjanje transakcijskih poti – Transakcije preverimo na modelu – pot transakcije narišemo – Pristop načrtovalcu omogoča:  Da identificira pomanjkljivosti modela (če pot za neko transkacijo ni moţna)  Da identificira dele modela, ki so transakcijsko kritični  Da odkrije odvečne dele modela (deli, ki jih ne potrebuje nobena transakcija)  Preverjanje transkacij je zamudno vendar pomembno delo!! PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 83 - ©Laboratorij za podatkovne tehnologije
  • 84. K1.8 - Preveri, če model zdrţi transkacije a) Izpiši vse predmete, ki jih je opravil določen študent b) Izpiši vse študente, ki so se vpisali v določen letnik, določene smeri, določenega programa ima ? Program Smer progID 1..1 0..1 smerID b 1..* se predava na 1..* se nanaša na Rok za Predmet Prijava 0..* 1..1 rokID 1..1 predID 0..* 0..* 1..1 pripada 1..1 Študent je opravljal Izpit 0..* iz vpisSt 1..1 0..* stPol a PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 84 - ©Laboratorij za podatkovne tehnologije
  • 85. K1.9 – Preveri model z uporabnikom  Na koncu model preverimo z uporabnikom  Anomalije, pomanjkljivosti, napake,... lahko vodijo v ponovitev korakov od K1 do K9.  V mnogih podjetjih mora uporabnik podpisati podatkovni model PODATKOVNE BAZE II 3. Letnik UNI, Informatika - 85 - ©Laboratorij za podatkovne tehnologije
  • 86. Logično načrtovanje  Logično modeliranje podatkovne baze nastopi za konceptualnim modeliranjem.  Osnova logičnega modela je jezik, ki je razumljiv ciljnemu SUPB.  Če izberemo relacijski SUPB, potem govorimo o relacijskem modelu. svet mentalni model konceptualni model logični model PB PODATKOVNE BAZE 3. letnik UNI, Informatika - 86 - ©Laboratorij za podatkovne tehnologije
  • 87. Podpora orodij CASE Konceptualni PM i-CASE Odločitev o PB: -Relacijska -Hierarhična -Objektna Logični PM Logično načrtovanje Fizični PM (skripta) Reverse Engineering Podatkovna ODBC baza SUPB PODATKOVNE BAZE 3. letnik UNI, Informatika - 87 - ©Laboratorij za podatkovne tehnologije
  • 88. Prehod iz konceptualnega v logični model  Prehod iz konceptualnega v logični model je navadno avtomatiziran s strani CASE orodij. Primer: vrsta baze: relacijska SUPB: Oracle ANALIZA NAČRTOVANJE Konceptualni model Relacijski model Entitetni tip Relacija / Tabela Atribut Atribut / Stolpec Enolični identifikator Ključ Povezava 1:n Tuji ključ PODATKOVNE BAZE Povezava m:n Vmesna tabela 3. letnik UNI, Informatika - 88 - ©Laboratorij za podatkovne tehnologije
  • 89. Ponovitev Funkcionalne odvisnosti...  Relacija je model nekega stanja v svetu  njena vsebina ne more biti poljubna.  Realne omejitve ne omogočajo, da bi bili odnosi v svetu kakršnikoli; moţna so le določena stanja.  Odvisnosti so sredstvo, s katerim lahko v relacijskem modelu povemo, katere vrednosti relacij so veljavne in katere sploh ne morejo obstajati. PODATKOVNE BAZE 3. letnik UNI, Informatika - 89 - ©Laboratorij za podatkovne tehnologije
  • 90. Funkcionalne odvisnosti...  Poznamo več vrst odvisnosti: – Funkcionalne odvisnosti (functional dependency) – Večvrednostne odvisnosti (multivalued dependency) – Stične odvisnosti (join dependency)  Obravnavali bomo funkcionalne odvisnosti; ostale bodo obravnavane v okviru postopka razširjene normalizacije (PB2, drugi semester). PODATKOVNE BAZE 3. letnik UNI, Informatika - 90 - ©Laboratorij za podatkovne tehnologije
  • 91. Funkcionalne odvisnosti...  Predpostavimo, da obstaja relacijska shema R z mnoţico atributov, katere podmnoţici sta X in Y.  V relacijski shemi R velja X  Y (X funkcionalno določa Y oziroma Y je funkcionalno odvisen od X), če v nobeni relaciji, ki pripada shemi R, ne obstajata dve n-terici, ki bi se ujemali v vrednostih atributov X in se ne bi ujemali v vrednostih atributov Y. PODATKOVNE BAZE 3. letnik UNI, Informatika - 91 - ©Laboratorij za podatkovne tehnologije
  • 92. Funkcionalne odvisnosti  Mnoţico funkcionalnih odvisnosti, ki veljajo med atributi funkcionalne sheme R in v vseh njenih relacijah, označimo s F XY F r ( Sh(r) = R t, u (t r in u r in t.X = u.X t.Y = u.Y ) kjer t.X, u.X, t.Y in u.Y označujejo vrednosti atributov X oziroma Y v n-tericah t oziroma u. PODATKOVNE BAZE 3. letnik UNI, Informatika - 92 - ©Laboratorij za podatkovne tehnologije
  • 93. Primeri funkcionalnih odvisnosti  Imamo relacijo s shemo Izpit( VpŠt, Priimek, Ime, ŠifraPredmeta, Datum izpita, OcenaPisno, OcenaUstno)  z naslednjim pomenom: Študent z vpisno številko VpŠt ter priimkom Priimek in imenom Ime je na DatumIzpita opravljal izpit iz predmeta s šifro ŠifraPredmeta. Dobil je oceno OcenaPisno in OcenaUstno.  Funkcionalne odvisnosti relacijske sheme Izpit so: F { VpŠt  (Priimek, Ime), (VpŠt, ŠifraPredmeta, DatumIzpita)  (OcenaPisno, OcenaUstno) } PODATKOVNE BAZE 3. letnik UNI, Informatika - 93 - ©Laboratorij za podatkovne tehnologije
  • 94. Ponovitev Ključi relacije...  Ker je relacija mnoţica n-teric, so v njej vse n- terice ločene med seboj.  Za sklicevanje na posamezno n-terico ni potrebno poznati vseh vrednosti atributov n-terice, če v shemi nastopajo funkcionalne odvisnosti.  Mnoţici atributov, ki določajo vsako n-terico, pravimo ključ relacije oziroma ključ relacijske sheme. PODATKOVNE BAZE 3. letnik UNI, Informatika - 94 - ©Laboratorij za podatkovne tehnologije
  • 95. Ključi relacije...  Predpostavimo, da obstaja relacijska shema z atributi A1 A2 ... An katere podmnoţica je mnoţica atributov X.  Atributi X so ključ relacijske sheme oziroma pripadajočih relacij, če sta izpolnjena naslednja dva pogoja: (1) X  A1 A2 ... An (2) ne obstaja X‟, ki bi bila prava podmnoţica od X in ki bi tudi funkcionalno določala A1 A2 ... An PODATKOVNE BAZE 3. letnik UNI, Informatika - 95 - ©Laboratorij za podatkovne tehnologije
  • 96. Ključi relacije...  Poznamo več vrst ključev: – Kandidat za ključ (a key candidate) – Primarni ključ (primary key) – Superključ (superkey) – Tuji ključ (foreign key)  Kandidat za ključ je vsaka podmnoţica atributov relacije, ki relacijo enolično določa. PODATKOVNE BAZE 3. letnik UNI, Informatika - 96 - ©Laboratorij za podatkovne tehnologije
  • 97. Ključi relacije  Primarni ključ je tisti kandidat za ključ, ki ga izberemo za shranjevanje relacij v fizični podatkovni bazi.  Superključ je vsaka mnoţica atributov, v kateri je vsebovan ključ  ključ je podmnoţica superključa.  Tuji ključ je mnoţica atributov, v okviru ene relacije, ki je enaka kandidatu za ključ neke druge ali iste relacije. PODATKOVNE BAZE 3. letnik UNI, Informatika - 97 - ©Laboratorij za podatkovne tehnologije
  • 98. Primeri ključev ARTIKEL Šifra Naziv Zaloga A10 Telovadni copati Nike 10 A12 Trenerka Bali 4 BC80 Moška jakna QuickSilver 1 X12 Ţenska jakna QuickSilver 0 Primarni ključ v tabeli Artikel RAČUN Račun Šifra artikla Količina Primarni ključ v tabeli Račun 15/05 A10 1 15/05 X12 1 Tuji ključ v tabeli Račun  kaţe na primarni ključ v tabeli Artikel PODATKOVNE BAZE 3. letnik UNI, Informatika - 98 - ©Laboratorij za podatkovne tehnologije
  • 99. Normalizacija...  Kaj si bomo pogledali? – Namen normalizacije. – Uporaba normalizacije pri načrtovanju relacijske podatkovne baze. – Problemi zaradi redundance podatkov v osnovnih relacijah. – Postopek normalizacije. – Normalne oblike:  I. normalna oblika,  II. normalna oblika,  III. normalna oblika  IV. poslovna normalna oblika  Boyce Coddova normalna oblika  IV. normalna oblika  V. normalna oblika PODATKOVNE BAZE 3. letnik UNI, Informatika - 99 - ©Laboratorij za podatkovne tehnologije
  • 100. Namen normalizacije...  Normalizacija je postopek, s katerem pridemo do mnoţice primernih relacij, ki ustrezajo potrebam poslovne domene.  Nekaj lastnosti primernih relacij: – Relacije imajo minimalen nabor atributov  zgolj tiste, ki so potrebni za pokritje potreb poslovnega sistema; – Atributi, ki so logično povezani, so zajeti v isti relaciji; – Med atributi relacij je minimalna redundanca  vsak atribut (razen tujih ključev) je predstavljen samo enkrat. PODATKOVNE BAZE 3. letnik UNI, Informatika - 100 - ©Laboratorij za podatkovne tehnologije
  • 101. Namen normalizacije  Prednosti uporabe podatkovnih baz, ki jih sestavljajo mnoţice primernih relacij, so: – Enostavnejša dostop do podatkov ter vzdrţevanje podatkov; – Večja učinkovitost; – Boljša izraba diskovnih kapacitet. PODATKOVNE BAZE 3. letnik UNI, Informatika - 101 - ©Laboratorij za podatkovne tehnologije
  • 102. Prednosti pravilnega načrtovanja  Osnovni cilj načrtovanja relacijske podatkovne baze je grupirati atribute v relacije tako, da bo čim manj redundance med podatki.  Potencialne koristi pravilnega načrtovanja so: – Spremembe podatkov v podatkovni bazi doseţemo z minimalnim številom operacij  večja učinkovitost; manj moţnosti za podatkovne nekonsistentnosti. – Manjše potrebe po diskovnih kapacitetah za shranjevanje osnovnih relacij  manjši stroški. PODATKOVNE BAZE 3. letnik UNI, Informatika - 102 - ©Laboratorij za podatkovne tehnologije
  • 103. Primer  Relacija StaffBranch ima odvečne podatke. Atribut z odvečnimi (ponavljajočimi) podatki PODATKOVNE BAZE 3. letnik UNI, Informatika - 103 - ©Laboratorij za podatkovne tehnologije
  • 104. Aţurne anomalije  Relacije, ki vsebujejo odvečne podatke lahko povzročajo anomalije pri spreminjanju podatkov  govorimo o aţurnih anomalijah.  Poznamo več vrst anomalij: – Anomalije pri dodajanju n-teric v relacijo – Anomalije pri brisanju n-teric iz relacije – Anomalije pri spreminjanju n-teric PODATKOVNE BAZE 3. letnik UNI, Informatika - 104 - ©Laboratorij za podatkovne tehnologije
  • 105. Anomalije pri dodajanju  Primeri anomalij: – Če ţelimo dodati podatke o novih članih (staff) za neko organizacijsko enoto (branch) moramo vpisati tudi vse podrobnosti o organizacijski enoti. – Če ţelimo dodati podatke o novi organizacijski enoti, ki še nima nobenega člana, moramo v vsa polja , ki člane opisujejo, vpisati Null. PODATKOVNE BAZE 3. letnik UNI, Informatika - 105 - ©Laboratorij za podatkovne tehnologije
  • 106. Anomalije pri brisanju  Primeri anomalij: – Če iz relacije zbrišemo n-terico, ki predstavlja zadnjega člana v neki organizacijski enoti, zgubimo tudi podatke o tej organizacijski enoti. PODATKOVNE BAZE 3. letnik UNI, Informatika - 106 - ©Laboratorij za podatkovne tehnologije
  • 107. Anomalije pri spreminjanju  Primeri anomalij: – Če ţelimo spremeniti vrednost nekega atributa določene organizacijske enote (npr. naslov), moramo popraviti vse n-terice, v katerih takšna vrednost atributa nastopa. PODATKOVNE BAZE 3. letnik UNI, Informatika - 107 - ©Laboratorij za podatkovne tehnologije
  • 108. Postopek normalizacije  Postopku preoblikovanja relacij v obliko, pri kateri do aţurnih anomalij ne more priti, pravimo normalizacija.  Obstaja več stopenj normalnih oblik. Obravnavali bomo osnovne: 1NO, 2NO, 3NO, 4PNO in razširjene, redke oblike: BCNO, 4NO, 5NO. PODATKOVNE BAZE 3. letnik UNI, Informatika - 108 - ©Laboratorij za podatkovne tehnologije
  • 109. 1NO – prva normalna oblika  Relacija je v prvi normalni obliki, če: – Nima ponavljajočih atributov  ne obstajajo atributi ali skupine atributov, ki bi imele več vrednosti pri isti vrednosti ostalih atributov (na presečišču ene vrstice in enega stolpca je več vrednosti) – Ima definiran primarni ključ in določene funkcionalne odvisnosti  Koraki: – Odstranimo ponavljajoče atribute – Določimo funkcionalne odvisnosti – Določimo primarni ključ PODATKOVNE BAZE 3. letnik UNI, Informatika - 109 - ©Laboratorij za podatkovne tehnologije
  • 110. Primer – relacija v nenormalizirani obliki Indeks( VŠ, priimek, ime, pošta, kraj, ( šifra predmeta, naziv, ocena ) ) Skupina ponavljajočih se atributov. VŠ priime ime pošta kraj šifra predmeta naziv ocena k 64010632 Bratina Simon 4100 Kranj 20020 IS 10 20021 TPO 8 20033 IPI 8 64016209 Bizjak Tadeja 2250 Ptuj 20060 E1 9 20033 IPI 6 PODATKOVNE BAZE 3. letnik UNI, Informatika - 110 - ©Laboratorij za podatkovne tehnologije
  • 111. Primer – pretvorba v 1NO... Indeks( VŠ, priimek, ime, pošta, kraj, ( šifra predmeta, naziv, ocena ) ) Odpravimo ponavljajoče atribute Indeks( VŠ, priimek, ime, pošta, kraj, šifra predmeta, naziv, ocena ) Identificiramo funkcionalne odvisnosti F { VŠ  (priimek, ime, pošta, kraj), šifra predmeta  naziv, pošta  kraj, (VŠ, šifra predmeta)  ocena } Določimo primarni ključ Indeks( VŠ, priimek, ime, pošta, kraj, šifra predmeta, naziv, ocena ) PODATKOVNE BAZE 3. letnik UNI, Informatika - 111 - ©Laboratorij za podatkovne tehnologije
  • 112. Primer – pretvorba v 1NO VŠ priime ime pošta kraj šifra predmeta naziv ocena k 64010632 Bratina Simon 4100 Kranj 20020 IS 10 20021 TPO 8 20033 IPI 8 64016209 Bizjak Tadeja 2250 Ptuj 20060 E1 9 20033 IPI 6 VŠ priime ime pošta kraj šifra predmeta naziv ocena k 64010632 Bratina Simon 4100 Kranj 20020 IS 10 64010632 Bratina Simon 4100 Kranj 20021 TPO 8 64010632 Bratina Simon 4100 Kranj 20033 IPI 8 64016209 Bizjak Tadeja 2250 Ptuj 20060 E1 9 64016209 Bizjak Tadeja 2250 Ptuj 20033 IPI 6 PODATKOVNE BAZE 3. letnik UNI, Informatika - 112 - ©Laboratorij za podatkovne tehnologije
  • 113. 2NO – druga normalna oblika  Relacija je v drugi normalni obliki: – Če je v prvi normalni obliki in – Ne vsebuje parcialnih odvisnosti  noben atribut, ki ni del ključa, ni funkcionalno odvisen le od dela primarnega ključa, temveč od celotnega ključa  Druga normalna oblika je odvisna predvsem od ključa relacije. Relacija je avtomatsko v drugi normalni obliki, če: – Je njen primarni ključ sestavljen le iz enega atributa, – Je njen primarni ključ sestavljen iz vseh atributov relacije ali – Je njen primarni ključ sestavljen iz vseh razen enega atributa relacije PODATKOVNE BAZE 3. letnik UNI, Informatika - 113 - ©Laboratorij za podatkovne tehnologije
  • 114. Primer – pretvorba v 2NO... ! Indeks( VŠ, šifra predmeta, priimek, ime, pošta, kraj, naziv, ocena ) ! Relacijo razbijemo Študent( VŠ, priimek, ime, pošta, kraj) Predmet( šifra predmeta, naziv) Indeks( #VŠ, #šifra predmeta, ocena) PODATKOVNE BAZE 3. letnik UNI, Informatika - 114 - ©Laboratorij za podatkovne tehnologije
  • 115. Primer – pretvorba v 2NO VŠ priime ime pošta kraj šifra predmeta naziv ocena k 64010632 Bratina Simon 4100 Kranj 20020 IS 10 64010632 Bratina Simon 4100 Kranj 20021 TPO 8 64010632 Bratina Simon 4100 Kranj 20033 IPI 8 64016209 Bizjak Tadeja 2250 Ptuj 20060 E1 9 64016209 Bizjak Tadeja 2250 Ptuj 20033 IPI 6 VŠ priime ime pošta kraj VŠ šifra predmeta ocena k 64010632 20020 10 64010632 Bratina Simon 4100 Kranj 64010632 20021 8 64016209 Bizjak Tadeja 2250 Ptuj 64010632 20033 8 šifra predmeta naziv 64016209 20060 9 20020 IS 64016209 20033 6 20021 TPO 20033 IPI 20060 E1 PODATKOVNE BAZE 3. letnik UNI, Informatika 20033 - 115 - IPI ©Laboratorij za podatkovne tehnologije
  • 116. 3NO – tretja normalna oblika  Relacija je v tretji normalni obliki: – Če je v drugi normalni obliki in – Če ne vsebuje tranzitivnih funkcionalnih odvisnosti  med atributi, ki niso del primarnega ključa, ni odvisnosti.  Relacija je avtomatsko v tretji normalni obliki, če: – Je njen ključ sestavljen iz vseh atributov relacije – Je njen ključ sestavljen iz vseh razen enega atributa relacije. PODATKOVNE BAZE 3. letnik UNI, Informatika - 116 - ©Laboratorij za podatkovne tehnologije
  • 117. Primer – pretvorba v 3NO... ! Študent( VŠ, priimek, ime, pošta, kraj) Predmet( šifra predmeta, naziv) Indeks( #VŠ, #šifra predmeta, ocena) Relacijo razbijemo Študent( VŠ, priimek, ime, #pošta) Pošta(pošta, kraj) Predmet( šifra predmeta, naziv) Indeks( #VŠ, #šifra predmeta, ocena) PODATKOVNE BAZE 3. letnik UNI, Informatika - 117 - ©Laboratorij za podatkovne tehnologije
  • 118. Primer – pretvorba v 3NO VŠ priime ime pošta kraj k 64010632 Bratina Simon 4100 Kranj 64016209 Bizjak Tadeja 2250 Ptuj VŠ priime ime pošta pošta kraj k 4100 Kranj 64010632 Bratina Simon 4100 2250 Ptuj 64016209 Bizjak Tadeja 2250 PODATKOVNE BAZE 3. letnik UNI, Informatika - 118 - ©Laboratorij za podatkovne tehnologije
  • 119. 4PNO – četrta poslovna normalna oblika  Relacija je v četrti poslovni normalni obliki, če: – je v tretji normalni obliki in – v relaciji ne obstajajo atributi, ki bi bili odvisni od vrednosti primarnega ključa. PODATKOVNE BAZE 3. letnik UNI, Informatika - 119 - ©Laboratorij za podatkovne tehnologije
  • 120. Primer – pretvorba v 4PNO... Študent( VŠ, priimek, ime, #pošta, datum plačila šolnine, rok diplome) Za izredne študenta Za redne študenta Študent( VŠ, priimek, ime, #pošta) Redni študent( #VŠ, rok diplome) Izredni študent( #VŠ, datum plačila šolnine) PODATKOVNE BAZE 3. letnik UNI, Informatika - 120 - ©Laboratorij za podatkovne tehnologije
  • 121. Primer – pretvorba v 4PNO VŠ Priimek Ime Datum plačila šolnine Rok diplome 64010632 Bratina Simon 15.3.2005 64016209 Bizjak Tadeja 19.4.2002 64010670 Berce Marjan 12.4.2004 64620010 Mele Silvana 1.4.2005 65120987 Leban Tibor 15.7.2005 VŠ Priimek Ime VŠ Datum plačila šolnine 64010632 Bratina Simon 64016209 19.4.2002 64016209 Bizjak Tadeja 64010670 12.4.2004 64010670 Berce Marjan 64620010 Mele Silvana VŠ Rok diplome 65120987 Leban Tibor 64010632 15.3.2005 64620010 1.4.2005 PODATKOVNE BAZE 3. letnik UNI, Informatika 65120987 15.7.2005 - 121 - ©Laboratorij za podatkovne tehnologije
  • 122. Uporaba nenormaliziranih relacij...  Včasih zavestno uporabljamo relacije, ki ne ustrezajo najvišjim normalnim oblikam.  Prve in druge normalne oblike nikoli ne kršimo.  Višjim normalnim oblikam se včasih odrečemo na račun doseganja boljše učinkovitosti. PODATKOVNE BAZE 3. letnik UNI, Informatika - 122 - ©Laboratorij za podatkovne tehnologije

Editor's Notes

  1. Zakaj v fd6 nista vključena tudi atributa sName in carReg? Zato, ker ju ne določa trojica (iDate, iTime, staffNo). sName je določen samo z staffNo, carReg pa z iDate, staffNo.
  2. V pred-potrditveni fazi ni dejanskega COMMIT-a, zato je manj možnosti za napake!!!