You are on page 1of 32

Projektovanje baza podataka i

informacionih sistema
Normalizacija
Postupak normalizacije i
Prva normalna forma 1NF
Šta ćemo naučiti:
• Pojam normalizacije.
• Kada je relacija u 1NF.
• Šta su normalizovane relacije.
• Šta su anomalije u održavanju.
• .
Normalizacija baze podataka

• Normalizacija je postupak projektovanja logičke


strukture baze podataka.
• Uobičajeno je da se koristi za projektovanje
logičke strukture relacionog modela.
• Postupak normalizacije ima opštiji značaj i treba
ga primenjivati i na druge modele.
Normalizacija baze podataka

• Primena normalnih formi na analizu relacija


• Primena normalnih formi na sintezu relacija
• Transformacija drugih modela u relacioni model
Normalizacija baze podataka

• Normalizacija je proces primene skupa pravila


na postojeći dizajn baze, uglavnom da bi se
postigla minimalna redundansa podataka.
• Većina autora predstavlja normalizaciju kao
proces od tri koraka, koji se vezuje za
normalne forme, koje se mogu obaviti u skoro
algoritamskom poretku.
Normalizacija baze podataka
• Jedan od ključnih ciljeva relacione baze podataka je da se
spreči nepotrebno dupliranje podataka (redundansa).
• U stvari, ovo je jedan od glavnih razloga zašto se koriste
relacione baze podataka, a ne fajlovi, koji podatke skladište
u jednoj tabeli.
• Ponekad se klasa ili objekat dizajnira korektno (zavisi koji
model podataka se koristi), a u relacionoj šemi se tek uoči
problem.
Normalizacija baze podataka
• U teoriji, trebalo bi krenuti od jedinstvene relacione
šeme (nekad se naziva i univerzalna šema, ili U) koja
sadrži sve atribute baze podataka
• zatim se rekurzivno primenjuju pravila kako bi se
dobio skup sve više i više normalizovanih šema pod-
relacija.
• Kada su sve šeme u trećoj normalnoj formi, onda je
cela baza normalizovana.
Normalizacija baze podataka
• U praksi, češće se pravila postepeno primenjuju,
dok se šema svake relacije ne razvije na način na
koji se dobija iz UML dijagrama klasa ili
dijagrama E-R modela.
• Konačna struktura tabela treba da bude slična,
željeno ista, bez obzira koji se metod (ili
kombinacija metoda) primenjuje.
Nenormalizovana relacija
Primer- relacija StudentU
• Anomalije u ažuriranju (dodavanje, brisanje, izmena)
• Anomalije u izveštavanju
BI Ime Sem ŠSmer ImeRuk ŠPred Nazpred Ocena

21 Goran 5 01 Bata 121 MAT 7


323 BP 8
056 IT 8

77 Ana 7 01 Bata 056 OET 10


121 IT 8
Anomalije održavanja i izveštavanja
– Anomalije u dodavanju - u bazu podataka nije moguće ubaciti neki logički
skup podataka, a da se pri tome, zbog strukture relacije, ne zahteva
ubacivanje i nekih drugih podataka.
• Na primer, ako je po novom nastavnom planu definisan novi predmet, ne
mogu se ubaciti podaci o tom predmetu dok ga neki student ne položi.
– Anomalije u izbacivanju - izbacivanje nekog logičkog skupa podataka iz
baze, prouzrokuje i neželjeno izbacivanje nekih drugih podataka.
• Na primer, ako je jedan predmet položio samo jedan student i ako se on
ispiše sa fakulteta, gube se i sve informacije o tom predmetu.
– Anomalije u ažuriranju - promena jednog podatka zahteva i promenu nekih
drugih podataka u bazi.
• Na primer, ako se promeni naziv predmeta, to se mora učiniti na onoliko
mesta koliko je studenata položilo taj predmet.
Anomalije održavanja i izveštavanja
– Problemi u izveštavanju:
• Izveštaj 1.: «Prikaži listu studenata, i svih predmeta koji su položili i
prosečnu ocenu po studentu»,
• Izveštaj 2.: «Prikaži listu predmeta, imena svh studenata koji su ga
položili i prosečnu ocenu na predmetu»,
 Izveštaj 2, zahteva složeniji program ili bi trebalo samu relaciju
prestruktuirati i dobiti dve relacije sa istim skupom podataka za dva
različita zahteva, time bi se redundansa podataka pa samim tim i
problemi održavanja baze podataka umnožili.
 Podjednako teški upiti, zahtevaju različit napor da bi se dobio
odgovor.
Nenormalizovana relacija
• Prethodna tabela nije relacija i nije u 1NF jer u
njoj postoje višeznačne zavisnosti između
kandidata za primarni ključ (BI) i nekih
neprimarnih atributa:
BI -/-> ŠPred, NazPred, Ocena.
• Odnosno, u jedno polje tabele treba upisati više
nego jednu vrednost (tabela u tabeli).
Prva normalna forma
• Relacija R je u Prvoj normalnoj formi (1NF) ako su sve
vrednosti njenih atributa atomske.
• Relacioni model zahteva da su sve relacije u 1NF!
• Kada je relacija u 1NF i dalje postoje anomalije
održavanja podataka (unos, brisanje i izmena)!
• Prethodna relacija se prevodi u 1NF tako što se za svaku
vrednost u višeznačnoj relaciji dopune podaci iz
jednoznačnih zavisnosti (redundansa).
Prva normalna forma
• Relacija R je u Prvoj normalnoj formi (1NF) ako su sve
vrednosti njenih atributa atomske.
• Relacija R je u Prvoj normalnoj formi (1NF) ako su svi
neključni atributi funkcionalno zavisni od (primarnog) ključa.
BI Ime Sem ŠSmer ImeRuk ŠPred Nazpred Ocena
21 Goran 5 01 Bata 121 MAT 7
21 Goran 5 01 Bata 323 BP 8
21 Goran 5 01 Bata 056 IT 8

77 Ana 7 01 Bata 056 IT 10


77 Ana 7 01 Bata 121 MAT 8
Normalizacija -1NF
• Nakon ove transformacije, kandidat za ključ relacije
nije više BI, već BI, ŠPred (složeni ključ).
• Svi neključni atributi, uključujući i delove
primarnog ključa, funkcionalno zavise od složenog
ključa: BI, ŠPred.
• Ova relacija je u 1NF i ima iste anomalije
održavanja.
Anomalije održavanja
– Anomalije u dodavanju - u bazu podataka nije moguće ubaciti neki logički
skup podataka, a da se pri tome, zbog strukture relacije, ne zahteva
ubacivanje i nekih drugih podataka.
• Na primer, ako je po novom nastavnom planu definisan novi predmet, ne
mogu se ubaciti podaci o tom predmetu dok ga neki student ne položi.
– Anomalije u izbacivanju - izbacivanje nekog logičkog skupa podataka iz
baze, prouzrokuje i neželjeno izbacivanje nekih drugih podataka.
• Na primer, ako je jedan predmet položio samo jedan student i ako se on
ispiše sa fakulteta, gube se i sve informacije o tom predmetu.
– Anomalije u ažuriranju - promena jednog podatka zahteva i promenu nekih
drugih podataka u bazi.
• Na primer, ako se promeni naziv predmeta, to se mora učiniti na onoliko
mesta koliko je studenata položilo taj predmet.
Baza podataka bez anomalija

• Relacija StudentU predstavlja spoj više različitih


objekata sistema.
• Ona istovremeno predstavlja objekte Student,
Predmet, Smer, Prijava i njihove međusobne veze
• Dekompozicijom na relacije koje predstavljaju
navedene objekte dobili bi sledeće relacije, koje su
bez anomalija:
Baza podataka bez anomalija

Normalizovane relacije dobijene iz početne relacije


StudentU:
STUDENT (BI, Ime, Sem, ŠSmer)
SMER (ŠSmer, ImeRuk)
PREDMET (ŠPred, NazPred)
PRIJAVA (BI, ŠPred, Ocena)
Funkcionalne zavisnosti

• Definicije Druge, Treće i Boyce-Codd-ove


normalne forme se zasnivaju na konceptu
funkcionalne zavisnosti atributa relacije.
Funkcionalne zavisnosti atributa
relacije
• Data je relacija R sa atributima X i Y, moguće
složenim.
Atribut Y je funkcionalno zavistan od atributa X
(ili funkcionalno određuje Y)
R.X -> R.Y,
ako i samo ako svakoj vrednosti X odgovara
jedna i samo jedna vrednost Y.
Funkcionalne zavisnosti atributa relacije

• BI, ŠPred --> Ime, sem, ŠSmer, ImeRuk,


NazPred, Ocena
• BI --> Ime, Sem, ŠSmer, ImeRuk
• ŠSmer --> ImeRuk
• ŠPred --> NazPred
Definicije ključa i nadključa
Definicije ključa i nadključa relacije na osnovu definicije
funkcionalne zavisnosti:
• Atribut X (moguće složeni) je nadključ neke relacije R
akko funkcionalno određuje sve ostale atribute
relacije R (jedinstvenost).
• Atribut X (moguće složeni), je ključ relacije R ako je
nadključ, a nijedan njegov pravi podskup nema tu
osobinu (minimalnost).
• U relaciji student složeni atribut BI, ŠPred je ključ.
Funkcionalna zavisnost
• Ako su X i Y atributi, onda se notacija X->Y čita
kao „X funkcionalno određuje Y“ ili „Y je
funkcionalno zavisno od X“.
• Ovo znači da ako dobijemo tabelu sa podacima i
vrednostima X , možemo da odredimo svako Y.
• Nadključ uvek funkcionalno određuje sve atribute
u relaciji (kao i sebe).
• Ovo je takozvana „Dobra“ FD
Funkcionalna zavisnost
• „Loša“ FD se dešava kada postoji
atribut ili skup atributa koji
predstavljaju nadključ za neke atribute,
ali ne i za celu relaciju.
• Ovakvi atributi se nazivaju podključevi
(subkey) relacije.
Podključevi i normalizacija
• Podključevi uvek znače redundantne podatke.
• Ako u tabelama ne postoje podključevi, onda se ona
nalazi u Trećoj normalnoj formi (3NF).
• Međutim, čak i Treća normalna forma dozvoljava
podključeve u nekim izuzetnim slučajevim, a
normalna forma koja striktno ne dozvoljava
podključeve je BCNF (Boyce-Coddova normalna
forma).
Normalizacija

• Normalizacija znači praćenje procedure ili skupa


pravila kako bi se osigurali da je baza podataka
dobro dizajnirana.
• Primena pravila normalizacije omogućava da se
eliminišu redundantni podaci u bazi podataka.
Normalizacija
• Normalizacija predstavlja dekompoziciju (projekciju)
jedne relacije na dve ili više relacija sa ciljem smanjenja,
konačno uklanjanja, redundanse.
• Pri dekompoziciji relacije na njene projekcije, potrebno
je izvršiti takvu dekompoziciju da ne dođe do gubljenja
informacija.
• Relacija R se dekomponuje bez gubljenja informacija u
relacije R1 i R2 ako se operacijom prirodnog spajanja
relacija R1 i R2 može dobiti polazna relacija R:
R1(A,B), R2(B,C) su projekcije R(A,B,C) i R(A,B,C)= R1 [*B] R2
Normalizacija
• Normalne forme (1NF, 2NF, 3NF,BCNF, 4NF, 5NF i
DKNF) predstavljaju hijerarhiju. Svaka normalna
forma podrazumeva da je relacija u svim
prethodnim NF. Sve relacije moraju biti u 1NF.
• Da bi relacija bila u 2NF ona mora biti u 1NF.
• Da bi bila u 3NF, mora diti u 2NF, samim tim i u 1NF.
• Dakle, ako je relacija u 5NF ona je i u 4NF, ..., 1NF.
Postupak normalizacije
• Relacija se prvo dovede u Prvu normalnu formu (1NF).
• Pri normalizaciji se u relaciji koja je u 1NF otkrivaju najpre
potpune i nepotpune funkcionalne zavisnosti.
• Nepotpune zavisnosti se izdvajaju u nove relacije
(dekompozicija, projekcija).
• Preostali deo relacije i dobijene projekcije prestavljaju potpune
zavisnosti. Prevedene su u 2NF.
• Iz relacija koje su potpuno zavisnosne uklanjaju se tranzitivne
zavisnosti projekcijom na više relacija. Ove relacije su u 3NF.
Pitanja za proveru znanja:
• Šta je postupak normalizacije?
• Šta su anomalije pri održavanju i dati primere?
• Kako se sprovodi postupak normalizacije?
• Da li pri normalizaciji dolazi do gubitka
informacija?
• Šta je Prva normalna forma(1NF)?
• Šta čine normalne forme: 1NF, 2NF, ..., 5NF, DKNF?
Najava sledećeg časa
• Na sledećem času, učićemo kako se orklanjaju
neporpune i tranztivne funkcionalne zavisnosti.
Kako se relacija dovodi do 3Nf i da li u 3NF mogu
i pod kojim uslovima postojati anomalije /BCNF).

You might also like