NORMALIZACIJA ANA KIUREK 781 DINO DUANI 715 RAZVOJ






































- Slides: 38
NORMALIZACIJA ANA KIŠUREK, 781 DINO DUŠANIĆ, 715
RAZVOJ 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. ” 11/29/2020 2
RAZVOJ NORMALIZACIJE • • • 1 NF- Codd, 1970. 2 NF- Codd, 1971. 3 NF- Codd, 1971. BCNF- Boyce i Codd, 1974. 4 NF- Fagin, 1977. 5 NF- Fagin, 1979. 11/29/2020 3
RAZVOJ NORMALIZACIJE • osnovni ciljevi relacijskog modela - zaštita korisnika - lakši pristup podacima • to se postiže tako da se: - sprečavaju anomalije održavanja podataka - na minimum svede potreba za reorganizacijom - omogući bolje korištenje informacija 11/29/2020 4
REDUNDANCIJA • memoriranje više kopija iste informacije • velik broj kopija čini njihovo održavanje izuzetno teškim • velike probleme izaziva nekontrolirana redundancija tj. kada se kopije informacija pojavljuju neželjeno i nesvjesno od strane korisnika 11/29/2020 5
ANOMALIJE ODRŽAVANJA Anomalije održavanja su: - potencijalna inkonzistencija - anomalije unosa - anomalije brisanja podataka u bazi 11/29/2020 6
ANOMALIJE ODRŽAVANJA POTENCIJALNA INKONZISTENCIJA • najuočljivija 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 točan 11/29/2020 7
ANOMALIJE ODRŽAVANJA ANOMALIJA UNOSA zap. ID Br. Projekta ime. Projekta zap. ID prezime 1001 Perić Pero 1005 Ivanić Ivana 1029 Josipić Josipa 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 11/29/2020 8
ANOMALIJE ODRŽAVANJA ANOMALIJA UNOSA • Javlja se u slučajevima 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 općini u kojoj radnik boravi • može imati za posljedicu gubitak informacija 11/29/2020 9
ANOMALIJE 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 11/29/2020 10
ANOMALIJE ODRŽAVANJA ANOMALIJA BRISANJA Br. Projekta ime. Projekta telefon 3 ABCPromo 278 -235 6 DEFPromo 270 -242 1 GHIPromo 396 -360 zap. ID Br. Projekta ime. Projekta 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 11/29/2020 11
FUNKCIONALNA OVISNOST • način opisivanja nezavisnosti atributa ili polja u našim tablicama • možemo objasniti različite forme normalizacije • npr. ako znam zap. ID mogu ti reći prezime zaposlenika, odnosno zap. ID funcionalno određuje prezime zaposlenika • simbolički: zap. ID→prezime 11/29/2020 12
FUNKCIONALNA OVISNOST • atribut B je funkcionalno ovisan o atributu A (A→B) ako vrijednost od A jednoznačno određuje vrijednost od B • ako u isto vrijeme postoje dvije n-torke s jednako vrijednošću A, tada te n-torke moraju imati jednaku vrijednost B • IZVJEŠTAJ (BR_INDEKSA, BR_KOLEGIJA, NASLOV_KOLEGIJA, IME_NASTAVNIKA, BR_SOBE_ NASTAVNIKA, OCJENA) 11/29/2020 13
FUNKCIONALNA OVISNOST (BR_INDEKSA, BR_KOLEGIJA)→OCJENA BR_KOLEGIJA→ NASLOV_KOLEGIJA BR_KOLEGIJA→ IME_NASTAVNIKA BR_KOLEGIJA→ BR_SOBE_ NASTAVNIKA IME_NASTAVNIKA→ BR_SOBE_ NASTAVNIKA 11/29/2020 14
FUNKCIONALNA 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 ključu ali ta funkcionalna ovisnost ne mora biti potpuna. 11/29/2020 15
FUNKCIONALNA OVISNOST VRSTE FUNKCIONALNIH OVISNOSTI • OCJENA je potpuno funkcionalno ovisna o primarnom ključu • NASLOV_KOLEGIJA, IME_NASTAVNIKA I BR_SOBE_NASTAVNIKA su parcijalno ovisni o ključu • Za BR_SOBE_NASTAVNIKA kaže se da je tranzitivno ovisan o BR_KOLEGIJA 11/29/2020 16
METODE 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 ) 11/29/2020 17
METODE 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 11/29/2020 18
METODE NORMALIZACIJE • Dekompozicija mora biti: - provedena bez gubitka informacija - provedena bez izmjene funkcionalnih ovisnosti - reverzibilna 11/29/2020 19
PRVA NORMALNA FORMA • Prvi korak normalizacije relacijsku shemu transformira u 1 NF • Relacijska shema R nalazi se u prvoj normalnoj formi ako su svi neključni atributi funkcionalno ovisni o ključu 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 1 NF ako je vrijednost svakog atributa nedjeljiva i jednostruka 11/29/2020 20
PRVA NORMALNA FORMA • PRIMJER: KUPACID IME 32 Ivan 33 11/29/2020 PREZIME TELEFON Ivić 031/222 -555 031/222 -556 Josip Josić 031/111 -111 21
DRUGA NORMALNA FORMA • u drugom koraku normalizacije relacijsku shemu prevodimo u drugu normalnu formu (2 NF) • relacijska shema R nalazi se u 2 NF ako se svi neključni atributi nalaze u potpunoj funkcionalnoj ovisnosti o ključu od R. Baza podataka nalazi se u 2 NF ako se svaka relacijska shema u njoj nalazi • podrazumijeva da tablica zadovoljava prvu normalnu formu i tiče se samo tablica sa složenim primarnim ključem (sastavljen od više atributa) 11/29/2020 22
DRUGA NORMALNA FORMA • Svođenje na 2 NF: Polaznu relaciju razbijamo na dvije relacije: 1. iz stare relacije uzmemo sve atribute koji su parcijalno ovisno o ključu i napravimo novu relaciju 2. drugu relaciju čine ostali atributi tj. oni koji su bili potpuno ovisni o ključu 11/29/2020 23
DRUGA NORMALNA FORMA • IZVJEŠTAJ (BR_INDEKSA, BR_KOLEGIJA, NASLOV_KOLEGIJA, IME_NASTAVNIKA, BR_SOBE_ NASTAVNIKA, OCJENA) 1. KOLEGIJ (BR_KOLEGIJA, NASLOV_KOLEGIJA, IME_NASTAVNIKA, BR_SOBE_ NASTAVNIKA) 2. IZVJEŠTAJ (BR_INDEKSA, BR_KOLEGIJA, OCJENA) 11/29/2020 24
TREĆA NORMALNA FORMA • u trećem koraku normalizacije relacijsku shemu prevodimo u treću normalnu formu (3 NF) • relacijska shema R nalazi se u 3 NF ako je u 1 NF i ako niti jedan neključni atribut nije tranzitivno ovisan o ključu od R. Baza podataka nalazi se u 3 NF ako se svaka relacijska shema u njoj nalazi u 3 NF. • podrazumijeva da se relacija nalazi u 2 NF • cilj je da se izbjegnu tranzitivne funkcionalne ovisnosti unutar jedne relacije 11/29/2020 25
TREĆA NORMALNA FORMA • Svođenje na 3 NF: Polaznu relaciju razbijamo na dvije relacije: 1. zadržite u relaciji samo atribute koji potpuno ovise o primarnom ključu 2. grupirajte u jednu relaciju sve atribute koji su tranzitivno ovisni, atribut o kojemu su ovisni navedeni atributi duplicirajte u početnoj relaciji i odaberite ga za primarni ključ nove relacije 11/29/2020 26
TREĆA NORMALNA FORMA • 1. 2. KOLEGIJ (BR_KOLEGIJA, NASLOV_KOLEGIJA, IME_NASTAVNIKA, BR_SOBE_ NASTAVNIKA) KOLEGIJ (BR_KOLEGIJA, NASLOV_KOLEGIJA, IME_NASTAVNIKA) NASTAVNIK (IME_NASTAVNIKA, BR_SOBE_ NASTAVNIKA) 11/29/2020 27
BOYCE- 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 ključ • Očito je relacija koja je u BCNF također i u 2 NF i 3 NF, no postoje relacije koje su u 3 NF, no nisu u BCNF 11/29/2020 28
BOYCE- CODDOVA NF • UPISAO (BR_INDEKSA, IME_NASTAVNIKA, BR_KOLEGIJA) 1. KLASA (BR_INDEKSA, IME_NASTAVNIKA) 2. PREDAJE (IME_NASTAVNIKA, BR_KOLEGIJA) 11/29/2020 29
ČETVRTA NORMALNA FORMA • IZVOZ (KOMPANIJA, PROIZVOD, ZEMLJA) KOMPANIJA PROIZVOD ZEMLJA IBM IBM IBM HP HP HP Fujitsu Desktop Mainframe Desktop Server Mainframe Francuska Italija Velika Britanija Francuska Španjolska Irska Italija Francuska 11/29/2020 30
ČETVRTA NORMALNA FORMA • RADI (KOMPANIJA, PROIZVODI) • PRODAJE (KOMPANIJA, ZEMLJA) KOMPANIJA ZEMLJA IBM IBM HP HP HP Fujitsu Francuska Italija Velika Britanija Francuska Španjolska Irska Italija Francuska 11/29/2020 KOMPANIJA PROIZVOD IBM HP HP Fujitsu Desktop Mainframe Desktop Server Mainframe 31
ČETVRTA NORMALNA FORMA • zadana je relacija R(A, B, C). Višeznačna 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 4 NF ako vrijedi: kad god postoji višeznačna ovisnost u R, na primjer A→→B, tada su svi atributi od R funkcionalno ovisni o A. • ekvivalentno, R je u 4 NF ako je u BCNF i sve višeznačne ovisnosti u R su zapravo funkcionalne ovisnosti 11/29/2020 32
PETA NORMALNA FORMA • relacija R zadovoljava spojnu ovisnost ako se nakon dekompozicije na tri ili više relacija može ponovo spojiti u početnu relaciju • relacija je u 5 NF ako i samo ako je u spojnoj ovisnosti svaki od atributa kandidat za ključ tablice tj. ako se više ne može reverzibilno dekomponirati • višeznačna ovisnost specijalni slučaj spojne ovisnosti • često je zovu i Project-join normalna forma (PJ/NF) 11/29/2020 33
PETA NORMALNA FORMA • KLASA_PREDAVANJA (MB, P_NAZIV, IME) MB P_NAZIV IME 1 Violina Anić 1 Flauta Perić 2 Violina Perić STUDENT_PREDMET STUDENT_NASTAVNIK PREDMET_NASTAVNIK MB P_NAZIV MB IME P_NAZIV IME 1 Violina 1 Anić Violina Anić 1 Flauta 1 Perić Flauta Perić 2 Violina 2 Perić Violina Perić 11/29/2020 34
DENORMALIZACIJA • ograničeno i kontrolirano narušavanje normalnih formi • razlozi denormalizacije: 1. složeni atribut 2. efikasno čitanje podataka 11/29/2020 35
DENORMALIZACIJA SLOŽENI ATRIBUT • Događa se da nekoliko atributa u relaciji čine cjelinu koja se u aplikacijama nikad ne rastavlja na sastavne dijelove • KUPAC (PREZIME_IME, P_BROJ, GRAD, ULICA) EFIKASNO ČITANJE PODATAKA • Razbijanje relacija na manje otežava čitanje stoga je ponekad bolje ostaviti veću relaciju denormaliziranom 11/29/2020 36
ZAKLJUČAK • ključ za neometano formiranje i održavanje baze podataka • u većini slučajeva se treba provesti • Najčešće je dovoljno dovesti svoju bazu podataka do 3 NF 11/29/2020 37
LITERATURA • • • Baze podataka- osnove programiranja, Free @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 Dukić, 2010. 11/29/2020 38