Title: NORMALIZACIJA
1NORMALIZACIJA
- ANA KIŠUREK, 781
- DINO DUŠANIC, 715
2RAZVOJ NORMALIZACIJE
- Edgar F. Codd
- A Relational Model of Data for Large Shared
Data Banks - There is, in fact, a very simple elimination
procedure which we shall call normalization.
Through decomposition nonsimple domains are
replaced by domains whose elements are atomic
(nondecomposable) values.
3RAZVOJ NORMALIZACIJE
- 1NF- Codd, 1970.
- 2NF- Codd, 1971.
- 3NF- Codd, 1971.
- BCNF- Boyce i Codd, 1974.
- 4NF- Fagin, 1977.
- 5NF- Fagin, 1979.
4RAZVOJ NORMALIZACIJE
- osnovni ciljevi relacijskog modela
- - zaštita korisnika
- - lakši pristup podacima
- to se postiže tako da se
- - sprecavaju anomalije održavanja podataka
- - na minimum svede potreba za reorganizacijom
- - omoguci bolje korištenje informacija
5REDUNDANCIJA
- memoriranje više kopija iste informacije
- velik broj kopija cini njihovo održavanje
izuzetno teškim - velike probleme izaziva nekontrolirana
redundancija tj. kada se kopije informacija
pojavljuju neželjeno i nesvjesno od strane
korisnika
6ANOMALIJE ODRŽAVANJA
- Anomalije održavanja su
- - potencijalna inkonzistencija
- - anomalije unosa
- - anomalije brisanja podataka u bazi
7ANOMALIJE ODRŽAVANJA
- POTENCIJALNA INKONZISTENCIJA
- najuocljivija je posljedica nekontrolirane
redundancije - pojava da se podaci ne slažu
- na jednom mjestu piše jedan podataka dok na
drugom piše neki drugi i nismo sigurni koji je od
podataka tocan
8ANOMALIJE ODRŽAVANJA
zapID prezime ime
1001 Peric Pero
1005 Ivanic Ivana
1029 Josipic Josipa
zapID BrProjekta imeProjekta telefon vrijeme
1001 3 ABCPromo 278-235 8
1001 6 DEFPromo 270-242 20
1005 1 GHIPromo 396-360 8
1005 3 ABCPromo 278-235 14
9ANOMALIJE ODRŽAVANJA
- ANOMALIJA UNOSA
- Javlja se u slucajevima kada se informacije o
svojstvima jednog entiteta memorirane u bazi kao
dio opisa nekog drugog entiteta - npr. u okviru opisa svojstva jednog radnika
memorirane informacije o opcini u kojoj radnik
boravi - može imati za posljedicu gubitak informacija
10ANOMALIJE ODRŽAVANJA
- ANOMALIJA BRISANJA
- anomalija brisanja je inverzija anomalije unosa
- kod brisanja podataka ne mislimo da li pri tome
brišemo i podatke o nekim drugim entitetima tako
da možemo nenamjerno uništiti podatke koji su nam
potrebni i važni
11ANOMALIJE ODRŽAVANJA
BrProjekta imeProjekta telefon
3 ABCPromo 278-235
6 DEFPromo 270-242
1 GHIPromo 396-360
zapID BrProjekta imeProjekta telefon vrijeme
1001 3 ABCPromo 278-235 8
1001 6 DEFPromo 270-242 20
1005 1 GHIPromo 396-360 8
1005 3 ABCPromo 278-235 14
12FUNKCIONALNA OVISNOST
- nacin opisivanja nezavisnosti atributa ili polja
u našim tablicama - možemo objasniti razlicite forme normalizacije
- npr. ako znam zapID mogu ti reci prezime
zaposlenika, odnosno zapID funcionalno odreduje
prezime zaposlenika - simbolicki zapID?prezime
13FUNKCIONALNA OVISNOST
- atribut B je funkcionalno ovisan o atributu A
- (A?B) ako vrijednost od A jednoznacno
odreduje vrijednost od B - ako u isto vrijeme postoje dvije n-torke s
jednako vrijednošcu A, tada te n-torke moraju
imati jednaku vrijednost B - IZVJEŠTAJ (BR_INDEKSA, BR_KOLEGIJA,
- NASLOV_KOLEGIJA, IME_NASTAVNIKA,
- BR_SOBE_ NASTAVNIKA, OCJENA)
14FUNKCIONALNA OVISNOST
- (BR_INDEKSA, BR_KOLEGIJA)?OCJENA
- BR_KOLEGIJA? NASLOV_KOLEGIJA
- BR_KOLEGIJA? IME_NASTAVNIKA
- BR_KOLEGIJA? BR_SOBE_ NASTAVNIKA
- IME_NASTAVNIKA? BR_SOBE_ NASTAVNIKA
15FUNKCIONALNA OVISNOST
- VRSTE FUNKCIONALNIH OVISNOSTI
- Atribut B je potpuno funkcionalno ovisan o
složenom atributu A ako je B funkcionalno ovisan
o A i B nije funkcionalno ovisan ni o nijednom
pravom podskupu od A - svaki atribut relacije je funkcionalno ovisan o
kljucu ali ta funkcionalna ovisnost ne mora biti
potpuna.
16FUNKCIONALNA OVISNOST
- VRSTE FUNKCIONALNIH OVISNOSTI
- OCJENA je potpuno funkcionalno ovisna o primarnom
kljucu - NASLOV_KOLEGIJA, IME_NASTAVNIKA I
BR_SOBE_NASTAVNIKA su parcijalno ovisni o kljucu - Za BR_SOBE_NASTAVNIKA kaže se da je tranzitivno
ovisan o BR_KOLEGIJA
17METODE NORMALIZACIJE
- Osnovne tehnike normalizacije su
- - vertikalna ( postupak normalizacije se
izvodi dekompozicijom relacijske sheme ,te se
koristi operacijom projekcije i prirodnog
pridruživanja ) - - horizontalna ( skup atributa u
relacijskoj shemi se ne mijenja,te se koristi
operacijama selekcije i unije za transformaciju
relacija na relacijskoj shemi )
18METODE NORMALIZACIJE
- razlikujemu dvije vertikalne normalizacije
- 1. normalizacija dekompozicijom
- - konstruira izravno u traženoj
normalnoj formi - - ne provodi se u koracima
- 2. normalizacija sintezom
- - provodi se na nenormaliziranoj shemi
- - izvodi se u koracima
19METODE NORMALIZACIJE
- Dekompozicija mora biti
- - provedena bez gubitka informacija
- - provedena bez izmjene funkcionalnih
- ovisnosti
- - reverzibilna
20PRVA NORMALNA FORMA
- Prvi korak normalizacije relacijsku shemu
transformira u 1NF - Relacijska shema R nalazi se u prvoj normalnoj
formi ako su svi nekljucni atributi funkcionalno
ovisni o kljucu od R. Baza podataka nalazi se u
prvoj normalnoj formi ako se svaka relacijska
shema u njoj nalazi u prvoj normalnoj formi - Relacija je u 1NF ako je vrijednost svakog
atributa nedjeljiva i jednostruka
21PRVA NORMALNA FORMA
KUPACID IME PREZIME TELEFON
32 Ivan Ivic 031/222-555 031/222-556
33 Josip Josic 031/111-111
22DRUGA NORMALNA FORMA
- u drugom koraku normalizacije relacijsku shemu
prevodimo u drugu normalnu formu (2NF) - relacijska shema R nalazi se u 2NF ako se svi
nekljucni atributi nalaze u potpunoj
funkcionalnoj ovisnosti o kljucu od R. Baza
podataka nalazi se u 2NF ako se svaka relacijska
shema u njoj nalazi - podrazumijeva da tablica zadovoljava prvu
normalnu formu i tice se samo tablica sa složenim
primarnim kljucem (sastavljen od više atributa)
23DRUGA NORMALNA FORMA
- Svodenje na 2NF
- Polaznu relaciju razbijamo na dvije relacije
- iz stare relacije uzmemo sve atribute koji su
parcijalno ovisno o kljucu i napravimo novu
relaciju - drugu relaciju cine ostali atributi tj. oni koji
su bili potpuno ovisni o kljucu
24DRUGA NORMALNA FORMA
- IZVJEŠTAJ (BR_INDEKSA, BR_KOLEGIJA,
NASLOV_KOLEGIJA, IME_NASTAVNIKA, BR_SOBE_
NASTAVNIKA, OCJENA) - KOLEGIJ (BR_KOLEGIJA, NASLOV_KOLEGIJA,
IME_NASTAVNIKA, BR_SOBE_ NASTAVNIKA) - IZVJEŠTAJ (BR_INDEKSA, BR_KOLEGIJA, OCJENA)
25TRECA NORMALNA FORMA
- u trecem koraku normalizacije relacijsku shemu
prevodimo u trecu normalnu formu (3NF) - relacijska shema R nalazi se u 3NF ako je u 1NF i
ako niti jedan nekljucni atribut nije tranzitivno
ovisan o kljucu od R. Baza podataka nalazi se u
3NF ako se svaka relacijska shema u njoj nalazi u
3NF. - podrazumijeva da se relacija nalazi u 2NF
- cilj je da se izbjegnu tranzitivne funkcionalne
ovisnosti unutar jedne relacije
26TRECA NORMALNA FORMA
- Svodenje na 3NF
- Polaznu relaciju razbijamo na dvije relacije
- zadržite u relaciji samo atribute koji potpuno
ovise o primarnom kljucu - grupirajte u jednu relaciju sve atribute koji su
tranzitivno ovisni, atribut o kojemu su ovisni
navedeni atributi duplicirajte u pocetnoj
relaciji i odaberite ga za primarni kljuc nove
relacije
27TRECA NORMALNA FORMA
- KOLEGIJ (BR_KOLEGIJA, NASLOV_KOLEGIJA,
IME_NASTAVNIKA, BR_SOBE_ NASTAVNIKA) -
- KOLEGIJ (BR_KOLEGIJA, NASLOV_KOLEGIJA,
IME_NASTAVNIKA) - NASTAVNIK (IME_NASTAVNIKA, BR_SOBE_ NASTAVNIKA)
28BOYCE- CODDOVA NF
- Determinanta je atribut (ili kombinacija
atributa) o kojem je neki drugi atribut potpuno
funkcionalno ovisan - Relacija je u BCNF ako je svaka njezina
determinanta ujedno i kandidat za kljuc - Ocito je relacija koja je u BCNF takoder i u 2NF
i 3NF, no postoje relacije koje su u 3NF, no nisu
u BCNF
29BOYCE- CODDOVA NF
- UPISAO (BR_INDEKSA, IME_NASTAVNIKA, BR_KOLEGIJA)
- KLASA (BR_INDEKSA, IME_NASTAVNIKA)
- PREDAJE (IME_NASTAVNIKA, BR_KOLEGIJA)
30CETVRTA NORMALNA FORMA
- IZVOZ (KOMPANIJA, PROIZVOD, ZEMLJA)
KOMPANIJA PROIZVOD ZEMLJA
IBM IBM IBM IBM IBM IBM HP HP HP HP HP HP Fujitsu Fujitsu Desktop Desktop Desktop Mainframe Mainframe Mainframe Desktop Desktop Desktop Server Server Server Mainframe Mainframe Francuska Italija Velika Britanija Francuska Italija Velika Britanija Francuska Španjolska Irska Francuska Španjolska Irska Italija Francuska
31CETVRTA NORMALNA FORMA
- RADI (KOMPANIJA, PROIZVODI)
- PRODAJE (KOMPANIJA, ZEMLJA)
KOMPANIJA PROIZVOD
IBM IBM HP HP Fujitsu Desktop Mainframe Desktop Server Mainframe
KOMPANIJA ZEMLJA
IBM IBM IBM HP HP HP Fujitsu Fujitsu Francuska Italija Velika Britanija Francuska Španjolska Irska Italija Francuska
32CETVRTA NORMALNA FORMA
- zadana je relacija R(A,B,C). Višeznacna ovisnost
A??B vrijedi ako skup B- vrijednosti koji se u R
pojavljuju uz zadani par (A-vrijednosti,
C-vrijednosti) ovisi samo o A- vrijednosti, a ne
i o C-vrijednosti - relacija R je u 4NF ako vrijedi kad god postoji
višeznacna ovisnost u R, na primjer A??B, tada su
svi atributi od R funkcionalno ovisni o A. - ekvivalentno, R je u 4NF ako je u BCNF i sve
višeznacne ovisnosti u R su zapravo funkcionalne
ovisnosti
33PETA NORMALNA FORMA
- relacija R zadovoljava spojnu ovisnost ako se
nakon dekompozicije na tri ili više relacija može
ponovo spojiti u pocetnu relaciju - relacija je u 5NF ako i samo ako je u spojnoj
ovisnosti svaki od atributa kandidat za kljuc
tablice tj. ako se više ne može reverzibilno
dekomponirati - višeznacna ovisnost specijalni slucaj spojne
- ovisnosti
- cesto je zovu i Project-join normalna forma
- (PJ/NF)
34PETA NORMALNA FORMA
MB P_NAZIV IME
1 Violina Anic
1 Flauta Peric
2 Violina Peric
- KLASA_PREDAVANJA
- (MB,P_NAZIV,IME)
STUDENT_PREDMET STUDENT_NASTAVNIK
PREDMET_NASTAVNIK
MB P_NAZIV MB IME P_NAZIV IME
1 Violina 1 Anic Violina Anic
1 Flauta 1 Peric Flauta Peric
2 Violina 2 Peric Violina Peric
35DENORMALIZACIJA
- ograniceno i kontrolirano narušavanje normalnih
formi - razlozi denormalizacije
- složeni atribut
- efikasno citanje podataka
36DENORMALIZACIJA
- SLOŽENI ATRIBUT
- Dogada se da nekoliko atributa u relaciji cine
cjelinu koja se u aplikacijama nikad ne rastavlja
na sastavne dijelove - KUPAC (PREZIME_IME, P_BROJ, GRAD, ULICA)
- EFIKASNO CITANJE PODATAKA
- Razbijanje relacija na manje otežava citanje
stoga je ponekad bolje ostaviti vecu relaciju
denormaliziranom
37ZAKLJUCAK
- kljuc za neometano formiranje i održavanje baze
podataka - u vecini slucajeva se treba provesti
- Najcešce je dovoljno dovesti svoju bazu podataka
do 3NF
38LITERATURA
- Baze podataka- osnove programiranja, Free
_at_nonima, 2000. - Beginning Database Design, Clare Churcher, 2007.
- Database modeling and design, Toby Teorey, Sam
Lightstone, Tom Nadeau, 2006. - Fundementals of database systems, Ramez Elmasri,
Shamkant B. Navathe, 2003. - skripta s PMF-a u Zagrebu, Robert Manger, 2008.
- Baze podataka i poslovni procesi, Branimir Dukic,
2010.