Podatkovne baze II                          3. letnik, univerzitetni študij                               smer INFORMATIKA...
I                Splošne informacije...                 Predavatelj                        – Prof. dr. Marko Bajec, univ....
Splošne informacije…                 Priporočena literatura                           – [1] Thomas M. Connolly, Carolyn E...
Splošne informacije                 Priporočena literatura (nadaljevanje):                           – [5] Raghu Ramakris...
II                Vsebina predmeta...                 I. Načrtovanje podatkovnih baz                           –      Pri...
Vsebina predmeta                 II. Obvladovanje transakcij                           –      Transakcije in njihove last...
Povzeto po [1]                                                  Poglavje 1                                         Načrtov...
Pristopi k načrtovanju PB                 Obstajata dva glavna pristopa k načrtovanju                  podatkovne baze:  ...
Pristop od spodaj navzgor                 Pristop od spodaj navzgor:                           – začne z atributi ter jih...
Pristop z vrha navzdol                 Za večje baze primeren pristop z vrha navzdol.                           – Na zače...
Načrtovanje PB po delih                 V praksi načrtovanje pogosto poteka po delih, t.j.                  načrtovanje r...
Načrtovanje PB po delih                                                    Delitev poslovne domene                        ...
Trije nivoji načrtovanja                            Glede na raven abstrakcije ločimo:   visok                           ...
Trije nivoji načrtovanja – trije modeli                                                 Konceptualni                      ...
Konceptualno načrtovanje                 Konceptualno načrtovanje oziroma modeliranje je                  način, s kateri...
Splošno o modeliranju…                 Modeliranje je uveljavljena inţenirska tehnika na                  mnogih področji...
Splošno o modeliranju…                 Modele razvijamo zato, da bi sisteme bolje                  razumeli.PODATKOVNE BA...
Splošno o modeliranju…                 Model je poenostavitev realnosti, pri čemer je                  abstrakcija realno...
Splošno o modeliranju…                 Modeliranje prinaša naslednje bistvene prednosti:                           –     ...
Splošno o modeliranju…                 Izbira modelov za modeliranje sistemov                           – Za modeliranje ...
Splošno o modeliranju                 Primer                           – Če IS izdelujemo po strukturnem pristopu, potem ...
Pomen konceptualnega načrtovanja                 Je najbolj kritično – napake se prenašajo naprej                  na nas...
Umestitev konceptualnega načrtovanja   svet                        mentalni model   konceptualni model   logični model   P...
Predstavitev konceptualnih modelov                 Najpogosteje uporabljana tehnika za predstavitev                  konc...
Gradniki entitetnega modela                       Entitetni tip                       Atribut                       Raz...
Entitetni tip – entiteta...                 Entitete so posamezni primerki tipov objektov iz                  poslovne do...
Entitetni tip – entiteta                 Vsak trenutek pripada posameznemu                  entitetnemu tipu mnoţica enti...
Predstavitev entitetnega tipa                                             Ime                                         enti...
Atribut...                 Entitete imajo določene lastnosti, posamezne                  entitete (istega entitetnega tip...
Atribut...                 Govorimo lahko o več vrstah lastnosti:                           – Entitetna imena: naziv, ime...
Atribut                 Kardinalnost atributa je minimalna in maksimalna                  Glede na kardinalnost atributa ...
Predstavitev atributa                                          (1,1)                                                  EMŠO...
Razmerja med entitetami                 Entitete niso svet zase, medsebojno se                  povezujejo preko razmerij...
Predstavitev razmerja...                           OSEBA               ţivi       KRAJ                                    ...
Predstavitev razmerja                           OSEBA                       ţivi                   KRAJ                   ...
Kardinalnost razmerja...                 Kardinalnost (števnost) predstavlja število entitet                  entitetnega...
Kardinalnost razmerja...                                                          A   B                                   ...
Kardinalnost razmerja                 Razmerji med entitetama OSEBA in POŠTA                                             ...
Obveznost razmerja                 Obveznost pove, ali sta dve entiteti vedno v                  razmerju ali lahko tudi ...
Razmerje tudi opisuje lastnost entitete                 Razmerje tudi opisuje lastnost entitete                 Primer: ...
Enolični identifikator entitete...                 Enolični identifikator entitete je podmnoţica                  lastnos...
Enolični identifikator entitete                 Imamo lahko več enoličnih identifikatorjev,                  vendar moram...
Predstavitev enoličnega identifikatorja                                                 (1,1)                             ...
Močni entitetni tip                 Enolični identifikator sestavljajo le atributi entitete                  (identifikac...
Šibki entitetni tip       Enolični identifikator ni sestavljen le iz lastnih atributov,        temveč tudi iz razmerij oz...
Generalizacija in specializacija...                 Entitetni tip A s podtipoma B in C                 B in C pokrivata ...
Generalizacija in specializacija                                                   OSEBA                                  ...
Metoda konceptualnega načrtovanja                 Moţni koraki konceptualnega načrtovanja:                           –   ...
K1.1 – Identificiraj entitetne tipe...                 Na voljo različne tehnike                 Ena izmed tehnik je pre...
K1.1 – Identificiraj entitetne tipe...                 Teţave:                           – Entitete niso vedno jasno pred...
K1.1 – Identificiraj entitetne tipe                 Entitetne tipe je potrebno dokumentirati                 Primer doku...
K1.2 – Identificiraj povezave...                 Ko smo identificirali entitetne tipe, skušamo                  opredelit...
K1.2 – Identificiraj povezave...                 Postopek identifikacije povezav (nadaljevanje)                          ...
K1.2 – Identificiraj povezave...                 Postopek identifikacije povezav (nadaljevanje)                          ...
K1.2 – Identificiraj povezave....                 Dvoumno povezavo odpravimo z                  restrukturiranjem modela ...
K1.2 – Identificiraj povezave...                Primer nepopolne povezave                                                 ...
K1.2 – Identificiraj povezave...                 Tudi nepopolno povezavo odpravimo z                  restrukturiranjem m...
K1.2 – Identificiraj povezave                 Povezave je potrebno dokumentirati                 Primer dokumentacije:  ...
K1.3 – Identificiraj atribute...                 Skušamo identificirati lastnosti entitet ter                  povezav   ...
K1.3 – Identificiraj atribute...                 Nekaj primerov, kjer je potrebna pazljivost:                           –...
K1.3 – Identificiraj atribute...                 Dodatna priporočila:                           – Če identificiramo atrib...
K1.3 – Identificiraj atribute                 Atribute je potrebno dokumentirati:                           – Naziv atrib...
K1.4 – Atributom določi domene...                 Domena je mnoţica vrednosti, ki jih lahko                  zavzamejo at...
K1.4 – Atributom določi domene                 Tudi domene dokumentiramo                 Zapišemo naziv domene ter lastn...
K1.5 - Določi kandidate za ključe...                 Za vsak entitetni tip določimo kandidate za ključ                  t...
K1.5 - Določi kandidate za ključe...                 Nekaj priporočil za izbiro ključa, če je več                  kandid...
K1.5 - Določi kandidate za ključe                 Dodatna priporočila:                           – Imena navadno niso dob...
K1.6 – uporabi elemente EER diagrama...                 EER – razširjen ER diagram                 Elementi razširjenega...
K1.6 – uporabi elemente EER diagrama...                Primer specializacije                                   Znak za spe...
K1.6 – uporabi elemente EER diagrama...                Primer generalizacije                                              ...
K1.6 – uporabi elemente EER diagrama...                Primer agregacije                                         Navadna p...
K1.6 – uporabi elemente EER diagrama...                Primer kompozicije                                         Navadna ...
K1.6 – uporabi elemente EER diagrama                 Kdaj uporabiti elemente razširjenega ER                  diagrama?  ...
K1.7 - Preveri obstoj odvečnih elem....                 Preverimo, če v modelu obstajajo redundantni                  ele...
K1.7 - Preveri obstoj odvečnih elem....                 Povezave 1 – 1                           – Pri identifikaciji ent...
K1.7 - Preveri obstoj odvečnih elem....                 Odstrani odvečne povezave                           – Povezava je...
K1.7 - Preveri obstoj odvečnih elem....                 Ali je kakšna povezava odveč?                                    ...
K1.7 - Preveri obstoj odvečnih elem....                 Ali je kakšna povezava odveč?                                    ...
K1.7 - Preveri obstoj odvečnih elem....                 Preveri časovni okvir                           – Časovni okvir p...
K1.8 - Preveri če model zdrţi transkacije...                 Preveriti moramo če model, ki smo ga dobili s               ...
K1.8 - Preveri če model zdrţi transkacije...                 Preverjanje opisa transakcij                           – Vsa...
K1.8 - Preveri če model zdrţi transkacije...                 Primer opisa transakcijskih zahtev                          ...
K1.8 - Preveri če model zdrţi transkacije...                 Preverjanje transakcijskih poti                           – ...
K1.8 - Preveri, če model zdrţi transkacije              a)         Izpiši vse predmete, ki jih je opravil določen študent ...
K1.9 – Preveri model z uporabnikom                 Na koncu model preverimo z uporabnikom                 Anomalije, pom...
Logično načrtovanje                 Logično modeliranje podatkovne baze nastopi za                  konceptualnim modelir...
Podpora orodij CASE                                                 Konceptualni                                          ...
Prehod iz konceptualnega v logični model                 Prehod iz konceptualnega v logični model je                  nav...
Ponovitev                Funkcionalne odvisnosti...                 Relacija je model nekega stanja v svetu  njena      ...
Funkcionalne odvisnosti...                 Poznamo več vrst odvisnosti:                           – Funkcionalne odvisnos...
Funkcionalne odvisnosti...                 Predpostavimo, da obstaja relacijska shema R z                  mnoţico atribu...
Funkcionalne odvisnosti                 Mnoţico funkcionalnih odvisnosti, ki veljajo med                  atributi funkci...
Primeri funkcionalnih odvisnosti                 Imamo relacijo s shemo                           Izpit( VpŠt, Priimek, I...
Ponovitev                Ključi relacije...                 Ker je relacija mnoţica n-teric, so v njej vse n-            ...
Ključi relacije...                           Predpostavimo, da obstaja relacijska shema z                            atri...
Ključi relacije...                 Poznamo več vrst ključev:                           –      Kandidat za ključ (a key ca...
Ključi relacije                 Primarni ključ je tisti kandidat za ključ, ki ga                  izberemo za shranjevanj...
Primeri ključev                                                                ARTIKEL                Šifra            Naz...
Normalizacija...                 Kaj si bomo pogledali?                           – Namen normalizacije.                 ...
Namen normalizacije...                 Normalizacija je postopek, s katerem pridemo do                  mnoţice primernih...
Namen normalizacije                 Prednosti uporabe podatkovnih baz, ki jih                  sestavljajo mnoţice primer...
Prednosti pravilnega načrtovanja                 Osnovni cilj načrtovanja relacijske podatkovne                  baze je ...
Primer                 Relacija StaffBranch ima odvečne podatke.                                         Atribut z odvečn...
Aţurne anomalije                 Relacije, ki vsebujejo odvečne podatke lahko                  povzročajo anomalije pri s...
Anomalije pri dodajanju                 Primeri anomalij:                           – Če ţelimo dodati podatke o novih čl...
Anomalije pri brisanju                 Primeri anomalij:                           – Če iz relacije zbrišemo n-terico, ki...
Anomalije pri spreminjanju                 Primeri anomalij:                           – Če ţelimo spremeniti vrednost ne...
Postopek normalizacije                 Postopku preoblikovanja relacij v obliko, pri                  kateri do aţurnih a...
1NO – prva normalna oblika                 Relacija je v prvi normalni obliki, če:                           – Nima ponav...
Primer – relacija v nenormalizirani obliki                 Indeks( VŠ, priimek, ime, pošta, kraj, ( šifra predmeta, naziv,...
Primer – pretvorba v 1NO...                 Indeks( VŠ, priimek, ime, pošta, kraj, ( šifra predmeta, naziv, ocena ) )     ...
Primer – pretvorba v 1NO                           VŠ            priime   ime      pošta kraj    šifra predmeta naziv ocen...
2NO – druga normalna oblika                 Relacija je v drugi normalni obliki:                           – Če je v prvi...
Primer – pretvorba v 2NO...                                         !                    Indeks( VŠ, šifra predmeta, priim...
Primer – pretvorba v 2NO                VŠ                       priime   ime      pošta kraj       šifra predmeta naziv o...
3NO – tretja normalna oblika                 Relacija je v tretji normalni obliki:                           – Če je v dr...
Primer – pretvorba v 3NO...                                                                         !                     ...
Primer – pretvorba v 3NO                                                 VŠ         priime     ime      pošta kraj        ...
4PNO – četrta poslovna normalna oblika                 Relacija je v četrti poslovni normalni obliki, če:                ...
Primer – pretvorba v 4PNO...                   Študent( VŠ, priimek, ime, #pošta, datum plačila šolnine, rok diplome)     ...
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Pb2 predavanja v2011 v04
Upcoming SlideShare
Loading in …5
×

Pb2 predavanja v2011 v04

2,383 views

Published on

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,383
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 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.
  • V pred-potrditveni fazi ni dejanskega COMMIT-a, zato je manj možnosti za napake!!!
  • Pb2 predavanja v2011 v04

    1. 1. Podatkovne baze II 3. letnik, univerzitetni študij smer INFORMATIKA UNIVERZA V LJUBLJANI Fakulteta za računalništvo in informatiko Prof. dr. Marko BajecGradivo, verzija 2.5
    2. 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 II3. Letnik UNI, Informatika -2-©Laboratorij za podatkovne tehnologije
    3. 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 II3. Letnik UNI, Informatika -3-©Laboratorij za podatkovne tehnologije
    4. 4. Splošne informacije  Priporočena literatura (nadaljevanje): – [5] Raghu Ramakrishnan, Johannes Gehrke (2003). Database Management Systems, Third Edition, McGraw-HillPODATKOVNE BAZE II3. Letnik UNI, Informatika -4-©Laboratorij za podatkovne tehnologije
    5. 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črtovanjaPODATKOVNE BAZE II3. Letnik UNI, Informatika -5-©Laboratorij za podatkovne tehnologije
    6. 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 OraclePODATKOVNE BAZE II3. Letnik UNI, Informatika -6-©Laboratorij za podatkovne tehnologije
    7. 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črtovanjaPODATKOVNE BAZE II3. Letnik UNI, Informatika -7-©Laboratorij za podatkovne tehnologije
    8. 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 INDEKSPODATKOVNE BAZE3. letnik UNI, Informatika -8-©Laboratorij za podatkovne tehnologije
    9. 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 BAZE3. letnik UNI, Informatika -9-©Laboratorij za podatkovne tehnologije
    10. 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 INDEKSPODATKOVNE BAZE3. letnik UNI, Informatika - 10 -©Laboratorij za podatkovne tehnologije
    11. 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 shemoPODATKOVNE BAZE3. letnik UNI, Informatika - 11 -©Laboratorij za podatkovne tehnologije
    12. 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 shemaPODATKOVNE BAZE3. letnik UNI, Informatika - 12 -©Laboratorij za podatkovne tehnologije
    13. 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 bazePODATKOVNE BAZE3. letnik UNI, Informatika - 13 -©Laboratorij za podatkovne tehnologije
    14. 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 SUPBPODATKOVNE BAZE3. letnik UNI, Informatika - 14 -©Laboratorij za podatkovne tehnologije
    15. 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 BAZE3. letnik UNI, Informatika - 15 -©Laboratorij za podatkovne tehnologije
    16. 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 BAZE3. letnik UNI, Informatika - 16 -©Laboratorij za podatkovne tehnologije
    17. 17. Splošno o modeliranju…  Modele razvijamo zato, da bi sisteme bolje razumeli.PODATKOVNE BAZE3. letnik UNI, Informatika - 17 -©Laboratorij za podatkovne tehnologije
    18. 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 BAZE3. letnik UNI, Informatika - 18 -©Laboratorij za podatkovne tehnologije
    19. 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 BAZE3. letnik UNI, Informatika - 19 -©Laboratorij za podatkovne tehnologije
    20. 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 BAZE3. letnik UNI, Informatika - 20 -©Laboratorij za podatkovne tehnologije
    21. 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 logikePODATKOVNE BAZE3. letnik UNI, Informatika - 21 -©Laboratorij za podatkovne tehnologije
    22. 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 BAZE3. letnik UNI, Informatika - 22 -©Laboratorij za podatkovne tehnologije
    23. 23. Umestitev konceptualnega načrtovanja svet mentalni model konceptualni model logični model PBPODATKOVNE BAZE3. letnik UNI, Informatika - 23 -©Laboratorij za podatkovne tehnologije
    24. 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 razmerjePODATKOVNE BAZE3. letnik UNI, Informatika - 24 -©Laboratorij za podatkovne tehnologije
    25. 25. Gradniki entitetnega modela  Entitetni tip  Atribut  Razmerje  Enolični identifikatorPODATKOVNE BAZE3. letnik UNI, Informatika - 25 -©Laboratorij za podatkovne tehnologije
    26. 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 BAZE3. letnik UNI, Informatika - 26 -©Laboratorij za podatkovne tehnologije
    27. 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 BAZE3. letnik UNI, Informatika - 27 -©Laboratorij za podatkovne tehnologije
    28. 28. Predstavitev entitetnega tipa Ime entitetnega tipa Ime entitetnega tipa Prostor za atributePODATKOVNE BAZE3. letnik UNI, Informatika - 28 -©Laboratorij za podatkovne tehnologije
    29. 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 BAZE3. letnik UNI, Informatika - 29 -©Laboratorij za podatkovne tehnologije
    30. 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 pomembnaPODATKOVNE BAZE3. letnik UNI, Informatika - 30 -©Laboratorij za podatkovne tehnologije
    31. 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) VzdevekPODATKOVNE BAZE3. letnik UNI, Informatika - 31 -©Laboratorij za podatkovne tehnologije
    32. 32. Predstavitev atributa (1,1) EMŠO (1,3) Ime OSEBA (1,1) Priimek (0,n) Vzdevek OSEBA EMŠO Ime Priimek VzdevekPODATKOVNE BAZE3. letnik UNI, Informatika - 32 -©Laboratorij za podatkovne tehnologije
    33. 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ščePODATKOVNE BAZE3. letnik UNI, Informatika - 33 -©Laboratorij za podatkovne tehnologije
    34. 34. Predstavitev razmerja... OSEBA ţivi KRAJ ţivi OSEBA KRAJ Pomen razmerjaPODATKOVNE BAZE3. letnik UNI, Informatika - 34 -©Laboratorij za podatkovne tehnologije
    35. 35. Predstavitev razmerja OSEBA ţivi KRAJ ţivi v ima OSEBA KRAJ Vloga entitete v razmerjuPODATKOVNE BAZE3. letnik UNI, Informatika - 35 -©Laboratorij za podatkovne tehnologije
    36. 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č osebPODATKOVNE BAZE3. letnik UNI, Informatika - 36 -©Laboratorij za podatkovne tehnologije
    37. 37. Kardinalnost razmerja... A B A (n,m) A B povezava A B (p,r) B A BPODATKOVNE BAZE3. letnik UNI, Informatika - 37 -©Laboratorij za podatkovne tehnologije
    38. 38. Kardinalnost razmerja  Razmerji med entitetama OSEBA in POŠTA Stalno prebivališče OSEBA POŠTA Začasno prebivališčePODATKOVNE BAZE3. letnik UNI, Informatika - 38 -©Laboratorij za podatkovne tehnologije
    39. 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 0PODATKOVNE BAZE3. letnik UNI, Informatika - 39 -©Laboratorij za podatkovne tehnologije
    40. 40. Razmerje tudi opisuje lastnost entitete  Razmerje tudi opisuje lastnost entitete  Primer: OSEBA, POŠTA  Razmerje ima atributiven značajPODATKOVNE BAZE3. letnik UNI, Informatika - 40 -©Laboratorij za podatkovne tehnologije
    41. 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 tipomPODATKOVNE BAZE3. letnik UNI, Informatika - 41 -©Laboratorij za podatkovne tehnologije
    42. 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 modeluPODATKOVNE BAZE3. letnik UNI, Informatika - 42 -©Laboratorij za podatkovne tehnologije
    43. 43. Predstavitev enoličnega identifikatorja (1,1) EMŠO (1,3) Ime OSEBA (1,1) Priimek (0,n) Vzdevek OSEBA EMŠO Ime Priimek VzdevekPODATKOVNE BAZE3. letnik UNI, Informatika - 43 -©Laboratorij za podatkovne tehnologije
    44. 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 BAZE3. letnik UNI, Informatika - 44 -©Laboratorij za podatkovne tehnologije
    45. 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 BAZE3. letnik UNI, Informatika - 45 -©Laboratorij za podatkovne tehnologije
    46. 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 BAZE3. letnik UNI, Informatika - 46 -©Laboratorij za podatkovne tehnologije
    47. 47. Generalizacija in specializacija OSEBA Totalno in ekskluzivno MOŠKI ŢENSKA OSEBA Delno in prekrivno ŠTUDENT ŠPORTNIKPODATKOVNE BAZE3. letnik UNI, Informatika - 47 -©Laboratorij za podatkovne tehnologije
    48. 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 uporabnikomPODATKOVNE BAZE II3. Letnik UNI, Informatika - 48 -©Laboratorij za podatkovne tehnologije
    49. 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 tipePODATKOVNE BAZE II3. Letnik UNI, Informatika - 49 -©Laboratorij za podatkovne tehnologije
    50. 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šenjPODATKOVNE BAZE II3. Letnik UNI, Informatika - 50 -©Laboratorij za podatkovne tehnologije
    51. 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 II3. Letnik UNI, Informatika - 51 -©Laboratorij za podatkovne tehnologije
    52. 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 II3. Letnik UNI, Informatika - 52 -©Laboratorij za podatkovne tehnologije
    53. 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 II3. Letnik UNI, Informatika - 53 -©Laboratorij za podatkovne tehnologije
    54. 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 L3PODATKOVNE BAZE II3. Letnik UNI, Informatika - 54 -©Laboratorij za podatkovne tehnologije
    55. 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 K3PODATKOVNE BAZE II3. Letnik UNI, Informatika - 55 -©Laboratorij za podatkovne tehnologije
    56. 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 II3. Letnik UNI, Informatika - 56 -©Laboratorij za podatkovne tehnologije
    57. 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 Čl3PODATKOVNE BAZE II3. Letnik UNI, Informatika - 57 -©Laboratorij za podatkovne tehnologije
    58. 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 II3. Letnik UNI, Informatika - 58 -©Laboratorij za podatkovne tehnologije
    59. 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 enostavenPODATKOVNE BAZE II3. Letnik UNI, Informatika - 59 -©Laboratorij za podatkovne tehnologije
    60. 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 II3. Letnik UNI, Informatika - 60 -©Laboratorij za podatkovne tehnologije
    61. 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 zbrisatiPODATKOVNE BAZE II3. Letnik UNI, Informatika - 61 -©Laboratorij za podatkovne tehnologije
    62. 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 II3. Letnik UNI, Informatika - 62 -©Laboratorij za podatkovne tehnologije
    63. 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 13PODATKOVNE BAZE II3. Letnik UNI, Informatika - 63 -©Laboratorij za podatkovne tehnologije
    64. 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 II3. Letnik UNI, Informatika - 64 -©Laboratorij za podatkovne tehnologije
    65. 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 DtmRojPODATKOVNE BAZE II3. Letnik UNI, Informatika - 65 -©Laboratorij za podatkovne tehnologije
    66. 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 uporabnikaPODATKOVNE BAZE II3. Letnik UNI, Informatika - 66 -©Laboratorij za podatkovne tehnologije
    67. 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 II3. Letnik UNI, Informatika - 67 -©Laboratorij za podatkovne tehnologije
    68. 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 II3. Letnik UNI, Informatika - 68 -©Laboratorij za podatkovne tehnologije
    69. 69. K1.6 – uporabi elemente EER diagrama... Primer specializacije Znak za specializacijo/ generalizacijo. Študent Lahko tudi: Redni študent Izredni študentPODATKOVNE BAZE II3. Letnik UNI, Informatika - 69 -©Laboratorij za podatkovne tehnologije
    70. 70. K1.6 – uporabi elemente EER diagrama... Primer generalizacije Pedagoški delavec Profesor AsistentPODATKOVNE BAZE II3. Letnik UNI, Informatika - 70 -©Laboratorij za podatkovne tehnologije
    71. 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 modelaPODATKOVNE BAZE II3. Letnik UNI, Informatika - 71 -©Laboratorij za podatkovne tehnologije
    72. 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 modelaPODATKOVNE BAZE II3. Letnik UNI, Informatika - 72 -©Laboratorij za podatkovne tehnologije
    73. 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 II3. Letnik UNI, Informatika - 73 -©Laboratorij za podatkovne tehnologije
    74. 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 II3. Letnik UNI, Informatika - 74 -©Laboratorij za podatkovne tehnologije
    75. 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 DtmRojPODATKOVNE BAZE II3. Letnik UNI, Informatika - 75 -©Laboratorij za podatkovne tehnologije
    76. 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 II3. Letnik UNI, Informatika - 76 -©Laboratorij za podatkovne tehnologije
    77. 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 LaboratorijPODATKOVNE BAZE II3. Letnik UNI, Informatika - 77 -©Laboratorij za podatkovne tehnologije
    78. 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 LaboratorijPODATKOVNE BAZE II3. Letnik UNI, Informatika - 78 -©Laboratorij za podatkovne tehnologije
    79. 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 II3. Letnik UNI, Informatika - 79 -©Laboratorij za podatkovne tehnologije
    80. 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 potiPODATKOVNE BAZE II3. Letnik UNI, Informatika - 80 -©Laboratorij za podatkovne tehnologije
    81. 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 II3. Letnik UNI, Informatika - 81 -©Laboratorij za podatkovne tehnologije
    82. 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 II3. Letnik UNI, Informatika - 82 -©Laboratorij za podatkovne tehnologije
    83. 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 II3. Letnik UNI, Informatika - 83 -©Laboratorij za podatkovne tehnologije
    84. 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 aPODATKOVNE BAZE II3. Letnik UNI, Informatika - 84 -©Laboratorij za podatkovne tehnologije
    85. 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 modelPODATKOVNE BAZE II3. Letnik UNI, Informatika - 85 -©Laboratorij za podatkovne tehnologije
    86. 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 PBPODATKOVNE BAZE3. letnik UNI, Informatika - 86 -©Laboratorij za podatkovne tehnologije
    87. 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 SUPBPODATKOVNE BAZE3. letnik UNI, Informatika - 87 -©Laboratorij za podatkovne tehnologije
    88. 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 tabela3. letnik UNI, Informatika - 88 -©Laboratorij za podatkovne tehnologije
    89. 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 BAZE3. letnik UNI, Informatika - 89 -©Laboratorij za podatkovne tehnologije
    90. 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 BAZE3. letnik UNI, Informatika - 90 -©Laboratorij za podatkovne tehnologije
    91. 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 BAZE3. letnik UNI, Informatika - 91 -©Laboratorij za podatkovne tehnologije
    92. 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 BAZE3. letnik UNI, Informatika - 92 -©Laboratorij za podatkovne tehnologije
    93. 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 BAZE3. letnik UNI, Informatika - 93 -©Laboratorij za podatkovne tehnologije
    94. 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 BAZE3. letnik UNI, Informatika - 94 -©Laboratorij za podatkovne tehnologije
    95. 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 ... AnPODATKOVNE BAZE3. letnik UNI, Informatika - 95 -©Laboratorij za podatkovne tehnologije
    96. 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 BAZE3. letnik UNI, Informatika - 96 -©Laboratorij za podatkovne tehnologije
    97. 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 BAZE3. letnik UNI, Informatika - 97 -©Laboratorij za podatkovne tehnologije
    98. 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 ArtikelPODATKOVNE BAZE3. letnik UNI, Informatika - 98 -©Laboratorij za podatkovne tehnologije
    99. 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 oblikaPODATKOVNE BAZE3. letnik UNI, Informatika - 99 -©Laboratorij za podatkovne tehnologije
    100. 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 BAZE3. letnik UNI, Informatika - 100 -©Laboratorij za podatkovne tehnologije
    101. 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 BAZE3. letnik UNI, Informatika - 101 -©Laboratorij za podatkovne tehnologije
    102. 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 BAZE3. letnik UNI, Informatika - 102 -©Laboratorij za podatkovne tehnologije
    103. 103. Primer  Relacija StaffBranch ima odvečne podatke. Atribut z odvečnimi (ponavljajočimi) podatkiPODATKOVNE BAZE3. letnik UNI, Informatika - 103 -©Laboratorij za podatkovne tehnologije
    104. 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-tericPODATKOVNE BAZE3. letnik UNI, Informatika - 104 -©Laboratorij za podatkovne tehnologije
    105. 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 BAZE3. letnik UNI, Informatika - 105 -©Laboratorij za podatkovne tehnologije
    106. 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 BAZE3. letnik UNI, Informatika - 106 -©Laboratorij za podatkovne tehnologije
    107. 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 BAZE3. letnik UNI, Informatika - 107 -©Laboratorij za podatkovne tehnologije
    108. 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 BAZE3. letnik UNI, Informatika - 108 -©Laboratorij za podatkovne tehnologije
    109. 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 BAZE3. letnik UNI, Informatika - 109 -©Laboratorij za podatkovne tehnologije
    110. 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 6PODATKOVNE BAZE3. letnik UNI, Informatika - 110 -©Laboratorij za podatkovne tehnologije
    111. 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 BAZE3. letnik UNI, Informatika - 111 -©Laboratorij za podatkovne tehnologije
    112. 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 6PODATKOVNE BAZE3. letnik UNI, Informatika - 112 -©Laboratorij za podatkovne tehnologije
    113. 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 relacijePODATKOVNE BAZE3. letnik UNI, Informatika - 113 -©Laboratorij za podatkovne tehnologije
    114. 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 BAZE3. letnik UNI, Informatika - 114 -©Laboratorij za podatkovne tehnologije
    115. 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 E1PODATKOVNE BAZE3. letnik UNI, Informatika 20033 - 115 - IPI©Laboratorij za podatkovne tehnologije
    116. 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 BAZE3. letnik UNI, Informatika - 116 -©Laboratorij za podatkovne tehnologije
    117. 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 BAZE3. letnik UNI, Informatika - 117 -©Laboratorij za podatkovne tehnologije
    118. 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 2250PODATKOVNE BAZE3. letnik UNI, Informatika - 118 -©Laboratorij za podatkovne tehnologije
    119. 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 BAZE3. letnik UNI, Informatika - 119 -©Laboratorij za podatkovne tehnologije
    120. 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 BAZE3. letnik UNI, Informatika - 120 -©Laboratorij za podatkovne tehnologije

    ×