Upload
others
View
5
Download
1
Embed Size (px)
Citation preview
BAZE PODATAKAVježba 4
• Proces daljnjeg dotjerivanja relacijske sheme
• Etape u procesu normalizacije nazivaju se normalne
forme
• Prva normalna forma (1NF)
• Druga normalna forma (2NF)
• Treća normalna forma (3NF)
• Boyce-Codd-ova normalna forma (BCNF)
• Četvrta normalna forma (4NF)
• Peta normalna forma (5NF)
Normalizacija
• Struktura baze podataka je dobra ako je logička
redundancija (ponavljanje) podataka minimalna
• Problemi pri izvođenju nekih operacija nad bazom
nazivaju se anomalije (potreba da se pri izmjeni
jednog atributa, dodavanju ili izbacivanju jedne n-
torke sama operacija mora ponavljati više puta,
odnosno da izbacivanje jednog logičkog skupa
podataka dovodi do neželjenog izbacivanja drugih
podataka)
• Anomalije u dodavanju n-torke, anomalije u
izbacivanju n-torke i anomalije u ažuriranju
Normalizacija
• Relacija je u PRVOJ NORMALNOJ FORMI ako su sve
vrijednosti njenih atributa atomske
Prva normalna forma (1NF)
Br_indexa Ime Semestar Studij Voditelj_studija Šifra_kolegija Naziv_kolegija Ocjena
21 Mate 4 Računarstvo Frane 123
124
267
Baze podataka
Matematika
Fizika
2
4
5
77 Ana 7 Elektronika Jure 678
589
245
567
Polja i valovi
Teorija sustava
Modeliranje
Ele. sklopovi
4
1
4
2
36 Pero 6 Elektronika Jure 678
245
Polja i valovi
Modeliranje
2
3
... ... ... ... ... ... ... ...
STUDENT (Br_indexa, Ime, Semestar, Studij, Voditelj_studija,
Šifra_kolegija, Naziv_kolegija, Ocjena)
Br_indexa Ime Semestar Studij Voditelj_studija Šifra_kolegija Naziv_kolegija Ocjena
21 Mate 4 Računarstvo Frane 123 Baze podataka 2
21 Mate 4 Računarstvo Frane 124 Matematika 4
21 Mate 4 Računarstvo Frane 267 Fizika 5
77 Ana 7 Elektronika Jure 678 Polja i valovi 4
77 Ana 7 Elektronika Jure 589 Teorija sustava 1
77 Ana 7 Elektronika Jure 245 Modeliranje 4
77 Ana 7 Elektronika Jure 567 Ele. sklopovi 2
36 Pero 6 Elektronika Jure 678 Polja i valovi 2
36 Pero 6 Elektronika Jure 245 Modeliranje 3
... ... ... ... ... ... ... ...
STUDENT (Br_indexa, Ime, Semestar, Studij, Voditelj_studija,
Šifra_kolegija, Naziv_kolegija, Ocjena)
Br_indexa Ime Semestar Studij Voditelj_studija
21 Mate 4 Računarstvo Frane
77 Ana 7 Elektronika Jure
36 Pero 6 Elektronika Jure
... ... ... ... ...
PRIJAVA (Br_indexa, Šifra_kolegija,
Naziv_kolegija, Ocjena)
Br_indexa Šifra_kolegija Naziv_kolegija Ocjena
21 123 Baze podataka 2
21 124 Matematika 4
21 267 Fizika 5
77 678 Polja i valovi 4
77 589 Teorija sustava 1
77 245 Modeliranje 4
77 567 Ele. sklopovi 2
36 678 Polja i valovi 2
36 245 Modeliranje 3
... ... ... ...
STUDENT (Br_indexa, Ime,
Semestar, Studij,
Voditelj_studija)
• Druga, treća i Boyce-Codd-ova normalna forma
zasnivaju se na konceptu funkcionalne zavisnosti
atributa relacije
• Funkcionalna zavisnost
• Potpuna funkcionalna zavisnost
• Tranzitivna funkcionalna zavisnost
Funkcionalne zavisnosti
• Atribut Y je funkcionalno zavisan od atributa X ako i
samo ako svakoj vrijednosti X odgovara jedna i samo
jedna vrijednost Y
(X ---> Y) (X -/-> Y)
Funkcionalne zavisnosti
• Atribut Y je potpuno funkcionalno zavisan od
atributa X ako je funkcionalno zavisan od atributa X, a
nije funkcionalno zavisan ni od jednog pravog
podskupa atributa X
Funkcionalne zavisnosti
A--->B
B--->C
A--->C
• Atribut C je tranzitivno funkcionalno zavisan od
atributa A ako je funkcionalno zavisan od nekog
atributa B koji je i sam funkcionalno zavisan od A
Funkcionalne zavisnosti
• Relacija je u DRUGOJ NORMALNOJ FORMI ako i samo
ako je u 1NF i svi njeni neključni atributi potpuno
funkcionalno zavise od primarnog ključa
Druga normalna forma (2NF)
Br_indexa Ime Semestar Studij Voditelj_studija
21 Mate 4 Računarstvo Frane
77 Ana 7 Elektronika Jure
36 Pero 6 Elektronika Jure
... ... ... ... ...
PRIJAVA (Br_indexa, Šifra_kolegija,
Naziv_kolegija, Ocjena)
Br_indexa Šifra_kolegija Naziv_kolegija Ocjena
21 123 Baze podataka 2
21 124 Matematika 4
21 267 Fizika 5
77 678 Polja i valovi 4
77 589 Teorija sustava 1
77 245 Modeliranje 4
77 567 Ele. sklopovi 2
36 678 Polja i valovi 2
36 245 Modeliranje 3
... ... ... ...
STUDENT (Br_indexa, Ime,
Semestar, Studij,
Voditelj_studija)
KOLEGIJ (Šifra_kolegija,
Naziv_kolegija)
Br_indexa Šifra_kolegija Ocjena
21 123 2
21 124 4
21 267 5
77 678 4
77 589 1
77 245 4
77 567 2
36 678 2
36 245 3
... ... ...
PRIJAVA (Br_indexa,
Šifra_kolegija, Ocjena)
Šifra_kolegija Naziv_kolegija
123 Baze podataka
124 Matematika
267 Fizika
678 Polja i valovi
589 Teorija sustava
245 Modeliranje
567 Ele. sklopovi
678 Polja i valovi
245 Modeliranje
... ...
• Relacija je u TREĆOJ NORMALNOJ FORMI ako i samo
ako je u 2NF i ako u njoj ne postoji ni jedan atribut
koji je tranzitivno funkcionalno zavisan o primarnom
ključu
Treća normalna forma (3NF)
Br_indexa Ime Semestar Studij
21 Mate 4 Računarstvo
77 Ana 7 Elektronika
36 Pero 6 Elektronika
... ... ... ...
STUDIJ (Studij,
Voditelj_studija)
STUDENT (Br_indexa, Ime,
Semestar, Studij)
Studij Voditelj_studija
Računarstvo Frane
Elektronika Jure
... ...
• Relacija je u BOYCE-CODD-ovoj NORMALNOJ FORMI
ako i samo ako su sve determinante u relaciji i
kandidati za ključ
• Determinanta relacije je bilo koji atribut,
jednostavan ili složen, o kojem neki drugi atribut u
relaciji potpuno funkcionalno zavisi
Boyce-Codd-ova normalna forma
(BCNF)
• Zadana je relacija RODITELJ koja sadrži zapise o
roditeljima i njihovoj djeci
RODITELJ (JMBG, Ime_i_prezime, God_rođenja_roditelja,
Ime_djeteta, God_rođenja_djeteta)
• Pretvorite ovu relaciju u 1NF
ZADATAK 1
• Trgovina prodaje različite proizvode koje nabavlja od
različitih dobavljača. Isti proizvod može se kupiti od
različitih dobavljača po različitim cijenama, a isti
dobavljač može nuditi više različitih proizvoda.
Situacija je opisana sljedećom relacijom
CJENIK (id_proizvoda, id_dobavljača, Naziv_proizvoda,
Naziv_dobavljača, Adresa_dobavljača, cijena)
• Pretvorite ovu relaciju u 2NF
ZADATAK 2
• Suradnici neke tvrtke rade na različitim projektima,
pri čemu svaki suradnik radi na točno jednom projektu.
Situacija je opisana sljedećom relacijom
SURADNIK (JMBG_suradnika, Ime_i_prezime, Bruto_plaća,
broj_projekata, Rok_završetka_projekta)
• Pretvorite ovu relaciju u 3NF
ZADATAK 3
• Tvornica isporučuje svoje proizvode kupcima. Jedna
isporuka šalje se jednom kupcu, a može sadržavati više
različitih proizvoda. Situacija je opisana sljedećom
relacijom
ISPORUKA (br_isporuke, Datum_slanja, br_kupca,
Ime_kupca, Adresa_kupca, br_proizvoda,
Naziv_proizvoda)
• Pretvorite ovu relaciju u 3NF
ZADATAK 4
• Jedan kolegij održava se uvijek u istoj predavaonici,
ali u nekoliko vremenskih termina tjedno. Situacija je
opisana sljedećom relacijom
RASPORED (br_predavaonice, Termin, br_kolegija)
• Pretvorite ovu relaciju u BCNF
ZADATAK 5
• Zadana je nenormalizirana relacija KNJIGA
KNJIGA(br_knjige, Naziv_knjige, br_strana, Izdavać,
Adresa_izdavaća, Autor)
• Dovedite ovu relaciju do 3NF
ZADATAK 6