NORMALIZACIJA ANA KIUREK 781 DINO DUANI 715 RAZVOJ

  • Slides: 38
Download presentation
NORMALIZACIJA ANA KIŠUREK, 781 DINO DUŠANIĆ, 715

NORMALIZACIJA ANA KIŠUREK, 781 DINO DUŠANIĆ, 715

RAZVOJ NORMALIZACIJE • Edgar F. Codd: A Relational Model of Data for Large Shared

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 •

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ć

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

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:

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

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

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:

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,

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

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

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

Č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

Č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

Č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

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ć

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

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

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

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,

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