Pb2 predavanja v2011 v041. 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
XY 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 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!!!