200 likes | 360 Views
Normalizacija BP. Pojam normalizacije. Normalizacija modela baze podataka je proces definisanja strukture baze podataka (entiteti, atributi i relacije) u optimalni format. Cilj normali zacije je otklanjanje redudantnosti. 1 normalna forma.
E N D
Pojam normalizacije Normalizacija modela baze podataka je proces definisanja strukture baze podataka (entiteti, atributi i relacije) u optimalni format. Cilj normalizacije je otklanjanje redudantnosti.
1 normalna forma • Relacija se nalazi u prvoj normalnoj formi ako ne sadrži grupe podataka koje se ponavljaju.
1 normalna forma • Ono što se ponavlja u više redova tabele a ima isti sadržaj izdvojiti u posebnu tabelu.
1 normalna forma • Ono što se ponavlja u više redova tabele a ima isti sadržaj izdvojiti u posebnu tabelu.
2 normalna forma • Relacija se nalazi u drugoj normalnoj formi ako svi njeni atributi, koji nisu kandidati za ključ, potpuno zavise od primarnog ključa. • Atribut X je funkcionalno zavistan od atributa Y u oznaci YX ako za svaku vrednost atributa Y postoji tačno jedna vrednost atributa X. • Atribut X potpuno funkcionlno zavisi od Y ako funkcionalno zavisi od Y i nije funkcionalno zavistan od bilo kog podskupa atributa Y.
2 normalna forma • Atribut X je funkcionalno zavistan od atributa Y u oznaci YX ako za svaku vrednost atributa Y postoji tačno jedna vrednost atributa X. To znači: Ako postoje dve n-torke sa istom vrednošću za atribut Y onda u njima i atribut X mora imati istu vrednost. • Atribut X potpuno funkcionlno zavisi od atributa Y ( složenog ) ako funkcionalno zavisi od Y i nije funkcionalno zavistan od bilo kog podskupa atributa Y.
2 normalna forma Naziv robe i cena funkcionalno zavise od šifre robe i nisu funkcionalno zavisni od broja narudžbenice. Zato ih treba izdvojiti u posebnu relaciju( tabelu).
2 normalna forma
3 normalna forma • Relacija se nalazi u trećoj normalnoj formi ako je u 2NF i nijedan od atributa koji nisu kandidati za ključ nije prenosno(tranzitivno) zavistan od primarnog ključa. • Prenosna zavisnost: AC zato što je AB i BC • Treba izolovati podatke koji na prvi pogled zavise samo od primarnog ključa, ali u stvari zavise i od nekog drugog podatka u relaciji.
3 normalna forma • Podatak Naziv kupca treba izdvojiti u posebnu tabelu jer imamo posrednu zavisnost: Broj narudžbenice šifra kupca Šifra kupca naziv kupca Sledi : Broj narudžbenice naziv kupca
Baza Porudžbine
Još jedan primer... • Napravimo bazu članova foruma koji imaju nekakvo znanje o raznim oblastima: linux, muzika, hardver, ...
1 NF • Ponavljanje je sadržano u polju znanje koje u nekim redovima sadrži više od jedne vrednosti i zato ga izdvajamo u posebnu relaciju.
1 NF • Ili, kao u prvom primeru, polazna tabela može i ovako da izgleda: Izdvojiti u dve tabele
1 NF • 1 NF zadovoljavaju sledeće relacije ( tabele ) relacija Korisnik Priprema za 2 NF: Korisnik_IDZnanje_ime Znanje_IDZnanje_ime relacija Znanje
2 NF relacija Znanje relacija Korisnik_znanje
3 NF • U relaciji Korisnik atribut Korisnik_zivi nije zavistan od primarnog ključa Korisnik_ID pa se izdvaja u posebnu relaciju. relacija Korisnik relacija Drzava
Baza Forum relacija Drzava relacija Korisnik relacija Korisnik_znanje relacija Znanje