44
Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije i denormalizacija Normalizacija i denormalizacija relacijske sheme baze podataka 11. tjedan T. Cari´ c, T. Erdeli´ c Zavod za inteligentne transportne sustave Fakultet prometnih znanosti Sveuˇ ciliˇ ste u Zagrebu Baze podataka T. Cari´ c, T. Erdeli´ c ITS::Baze podataka (11. tjedan)1/44

Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Embed Size (px)

Citation preview

Page 1: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

Normalizacija i denormalizacijarelacijske sheme baze podataka

11. tjedan

T. Caric, T. Erdelic

Zavod za inteligentne transportne sustaveFakultet prometnih znanosti

Sveuciliste u Zagrebu

Baze podataka

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)1/44

Page 2: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Pregled 1. poglavlja

Normalizacija baza podataka1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Denormalizacija baza podataka

Usporedba normalizacije i denormalizacija

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)2/44

Page 3: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Uvod

I Normalizacija je proces rasclambe i izmjene strukturerelacijske tablice s ciljem

I Smanjenja zalihosti podataka (sve preslike zalihosnih podatakamoraju biti jednake) i

I Smanjenja nepravilnosti u podacima (kod unosa, obnavljanja ibrisanja)

I Normalne formeI 1. normalna forma (1NF)I 2. normalna forma (2NF)I 3. normalna forma (3NF)I Boyce–Coddova normalna forma (BCNF)

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)3/44

Page 4: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Uvod

I Strukturalno tablica u 2NF je urednija od tablice u 1NF, a3NF je urednija od 2NF

I Vrijedi: visa forma – manja zalihostI Normalizacija predstavlja primjenu

I matematickih iI formalnih pravila

I Osigurava ispravno postavljanje modela podataka i njihovulogicku povezanost

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)4/44

Page 5: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

1NF

PRVA NORMALNA FORMARelacijska shema je u 1NF ako:

I domena atributa sadrzi samo jednostavne (nedjeljive)vrijednosti

I atribut ne sadrzi skup podatakaI relacija nema ponavljajuce grupe stupacaI i ako su nekljucni atributi funkcijski ovisni o primarnom kljucu

I Shema relacijske baze podataka R = {R1, R2, ..., Rn} je u 1NFako je svaka relacija R1, R2, ..., Rn u 1NF

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)5/44

Page 6: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Funkcijska zavisnost atributa

I DEF: Funkcijska zavisnost atributaI Za tablicu R koja sadrzi atribute X i Y koji mogu biti slozeni

vrijedi funkcijska zavisnost atributa Y o atributu X , tj.X → Y , ako je svaka pojedina vrijednost atributa X povezanasa samo jednom vrijednoscu atributa Y

I Moze se reci daI Y funkcijski ovisi o X (X → Y ) ako u tablici R ne postoje

dva reda sa istom vrijednoscu atributa X , a razlicitimvrijednostima atributa Y

I pravilo je jednostavno i proizlazi iz definicije primarnog kljucaI naglasava transformacijsko pravilo prikaza visevrijednosnih

atributa

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)6/44

Page 7: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Funkcijska zavisnost atributa

I prikaz visevrijednosnog atributa sport za entitet STUDENTkoji ima head(STUDENT)={Student id, Ime, Prezime,Dat.rodenja, Mj.rodenja, JMBG, Sport}

I card(Ime, STUDENT)=(1,1),I card(Prezime, STUDENT)=(1,1),I card(Dat.rodenja, STUDENT)=(1,1),I card(Mj.rodenja, STUDENT)=(1,1),I card(JMBG, STUDENT)=(1,1),I card(Sport, STUDENT)=(0,n)

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)7/44

Page 8: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Funkcijska zavisnost atributa

I Tablica je u skladu sa pravilom da nije dozvoljen unos visevrijednosti pojedinog atributa u jednom retku.

I Tablica nije u prvoj normalnoj formi, jer svi nekljucni atributinisu funkcijski zavisni o kljucu

I Student id 6→ Sport

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)8/44

Page 9: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Anomalije

I Osim posljedice da ne mozemo na jedinstveni nacin doci dozapisa tj. da je povrijedena je jedinstvenost primarnog kljucajavljaju se razne anomalije

I Problemi koji se javljaju pri unosu i manipuliranju podacimasu:

I Anomalija unosa:I za svaki sport kojim se bavi pojedini student, potrebno je

ponovno unijeti vrijednost svih atributa vezanih za togstudenta: Ime, Prezime, itd.

I Anomalija azuriranja/promjene podataka:I kod promjene vrijednosti nekog atributa potrebno je taj

atribut promijeniti u svim redovima

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)9/44

Page 10: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Anomalije

I problem visevrijednosnog atributa sada je u skladu satransformacijskim pravilom, atribut je prikazan novomtablicom PK(SPORT)=(Student id,Sport)

I tablica sadrzi i atribut Dat.rodenjaI datum rodenja je vezan za studenta, neovisno o tome da li se

bavi sportom ili ne vrijedi (Student id→ Dat.rodenja)I Student id je podskup primarnog kljuca u tablici SPORT

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)10/44

Page 11: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Anomalije

I Anomalije koje se javljaju kada nekljucni atributi ovise samo odijelu kljuca

I Anomalija unosaI Ne moze se unijeti datum rodenja za studenta koji se ne bavi

sportomI Anomalija promjene

I Promjena datuma rodenja uzrokuje promjenu u svim redovimakoji su vezani za tog studenta.

I Anomalija brisanjaI Brisanjem posljednjeg sporta kojim se student bavi, gubi se i

podatak o njegovom datumu rodenja

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)11/44

Page 12: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

2NF

DRUGA NORMALNA FORMARelacijska shema je u 2NF ako:

I se tablica vec nalazi u 1NF iI ako su svi nekljucni atributi potpuno funkcijski zavisni o kljucu

I Pravilo druge normalne forme vrijedi za slozeni primarni kljuckoji se sastoji od vise atributa

I Shema relacijske baze podataka R = {R1, R2, ..., Rn} je u 2NFako je svaka relacija R1, R2, ..., Rn u 2NF

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)12/44

Page 13: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Potpuna funkcijska zavisnost atributa

I DEF: Potpuna funkcijska zavisnost atributaI U tablici R koja sadrzi atribute X i Y koji mogu biti i slozeni,

kada vrijedi X → Y , tada ne smije postojati niti jedanpodskup Z (Z ⊂ X )), za koji bi vrijedilo Z → Y .

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)13/44

Page 14: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Potpuna funkcijska zavisnost atributa

I Problem se rjesava na nacin :I Atribut koji je funkcijski zavisan o podskupu primarnog kljuca

(student id), prebacuje se u drugu tablicuI u kojoj je taj atribut-podskup primarni kljucI to je u ovom slucaju tablica STUDENT

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)14/44

Page 15: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Potpuna funkcijska zavisnost atributa

I Anomalija unosa: Nije moguce unijeti mjesto rodenja zapojedinog studenta, dok se ne unese njegov upisni list.

I Anomalija azuriranja podataka: Kod promjene mjesta rodenjapojedinog studenta, taj podatak treba mijenjati u svimupisnim listovima, koji su vezani za tog studenta.

I Anomalija brisanja: Brisanjem upisnog lista brise se podatak omjestu rodenja

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)15/44

Page 16: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Potpuna funkcijska zavisnost atributa

I ulist id → student idI svaki upisni list vezan je samo za jednog studenta

I student id 6→ ulist idI jedan student ima vise upisnih listova

I student id → Mj.rodenjaI student je roden u jednom odredenom mjestu

I Mj.rodenja 6→ student idI u jednom mjestu moze biti rodeno vise studenata

I Kako vrijedi ulist id → student id → Mj.rodenjaI atribut mjesto rodenja je tranzitivno (posredno) funkcijski

zavisan o primarnom kljucu tablice (ulist id).

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)16/44

Page 17: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

3NF

TRECA NORMALNA FORMARelacijska shema je u 3NF ako:

I se tablica vec nalazi u 2NF iI ako niti jedan nekljucni atribut nije tranzitivno funkcijski

zavisan o primarnom kljucu

I Shema relacijske baze podataka R = {R1, R2, ..., Rn} je u 3NFako je svaka relacija R1, R2, ..., Rn u 3NF

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)17/44

Page 18: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Tranzitivna funkcijska zavisnost atributa

I DEF: Tranzitivna funkcijska zavisnost atributaI U tablici R koja sadrzi atribute X , Y i A, vrijedi da je A

tranzitivno funkcijski ovisan o atributu X , ako jeX → Y , Y 6→ X , Y → A i A 6→ Y

I Simbolicki tranzitivna zavisnost se prikazujeI X → Y → A

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)18/44

Page 19: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Svodenja tablice na 3NF

I Svodenja tablice na trecu normalnu formu rjesava se tako da:I atribut koji je tranzitivno zavisan o kljucu, preseli u se tablicu,

u kojoj je atribut koji posreduje u tranzitivnoj vezi (u ovomslucaju student id) primarni kljuc.

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)19/44

Page 20: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Svodenja tablice na 3NF

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)20/44

Page 21: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Primjer normalizacije

I Upravljanje projektimaI Projekt opisan atributima (oznaka (broj) projekta, naziv

projekta, popis suradnika)I Suradnik je opisan atributima (Oznaka suradnika, naziv

suradnika, zanimanje suradnika)I Tvrtka naplacuje usluge prema satu rada na projektuI Naplata po satu je povezana s zanimanjem suradnikaI Periodicki se objavljuje izvjesce o radu na projektuI Ukupni trosak je izvedeni atribut izracunat umnoskom cijene

sata i broja sati rada

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)21/44

Page 22: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Prikaz pocetnog izvjesca / tablice

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)22/44

Page 23: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Postupak normalizacije

I Cilj je ustrojiti tablicu sljedecih znacajkiI Tablica sadrzi sve znacajne podatke o entitetuI Niti jedan podatak se nepotrebno ne pohranjuje u vise od

jedne tabliceI Razlog je obnavljanje na jednom mjestu

I Obiljezja tablice zavise samo o primarnom kljucuI POSTUPAK:

I 1.) Prva normalna forma (1NF) - Format tablice; nema grupapodataka koji se ponavljaju i utvrden je PK

I 2.) Druga normalna forma (2NF) - 1NF bez parcijalnezavisnosti

I 3.) Treca normalna forma (3NF) - 2NF bez tranzitivnezavisnosti

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)23/44

Page 24: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Pretvorba u 1NF ...

I Brisanje grupa podatakaI Uz jedinstveni kljuc se vezuje vise podataka istog tipa (grupa)

– tablica POCETNI FORMATI Izbrisati NULL vrijednosti i njihova mjesta popuniti

odgovarajucim vrijednostima

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)24/44

Page 25: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Pretvorba u 1NF ...

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)25/44

Page 26: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Pretvorba u 1NF ...

I Odredivanje primarnog kljuca (PK)I koji jedinstveno oznacuje preostale atribute retkaI u primjeru je to slozeni kljuc sastavljen od atributa OZN PROJ

i OZN SURADI Odredivanje zavisnosti atributa

I odredivsi PK odredena je zavisnostI OZN PROJ, OZN SURA → NAZ PROJ, NAZ SURAD,

ZANIM SURAD, CIJENA SATA, BROJ SATII ostale zavisnosti

I OZN PROJ → NAZ PROJI OZN SURAD → NAZ SURAD, ZANIM SURAD,

CIJENA SATAI ZANIM SURAD → CIJENA SATA

I prikaz dijagramom zavisnosti

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)26/44

Page 27: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Pretvorba u 1NF ...

I Dijagram zavisnosti 1NF

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)27/44

Page 28: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Znacajke dijagrama zavisnosti

I Obiljezja primarnog kljuca oznacena masno, podvucena inarancaste boje

I Strelice iznad atributa (pozeljne zavisnosti)I zavisnosti obiljezja koje se vezuju uz primarni kljuc

OZN PROJ, OZN SURADI Strelice ispod atributa (nepozeljne zavisnosti)

I Parcijalne zavisnosti - zavisnosti atributa o dijelu slozenogprimarnog kljuca

I Tranzitivne zavisnosti - zavisnosti jednog atributa koji nijeprimarni kljuc o drugom

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)28/44

Page 29: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Prva normalna forma 1NF

I Tablicni format za koji vrijediI utvrdena su svi kljucni atributiI u tablici nema grupa podataka koje se ponavljaju - svako polje

tablice sadrzi samo jednu vrijednost podatkaI svi atributi su zavisni o primarnom kljucu

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)29/44

Page 30: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Pretvorba u 2NF ...

I Zapisati svaki kljucni atribut u poseban redak, a originalni(slozeni) kljuc u zadnji redak

I OZN PROJI OZN SURADI OZN PROJI OZN SURAD

I Svako tako napisani atributi postaje kljuc u novoj tablici -originalna tablica se dijeli u tri tablice (PROJEKT,SURADNIK, PRIDRUZI)

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)30/44

Page 31: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Pretvorba u 2NF ...

I Koristenjem tablice zavisnosti utvrditi atribute entiteta kojazavise o drugim atributima: originalna tablica se dijeli u trinove tablice

I PROJEKT (OZN PROJ, NAZ PROJ)I SURADNIK(OZN SURAD, NAZ SURAD, ZANIM SURAD,

CIJENA SATA)I PRIDRUZI (OZN PROJ, OZN SURAD, PRIDRU SATI)

I Primarni ili kljucni atribut je atribut koje je najmanje dioslozenog kljuca - OZN PROJ i NAZ PROJ su primarni(kljucni) atributi

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)31/44

Page 32: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Rezultati pretvorbe u 2NF

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)32/44

Page 33: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Druga normalna forma 2NF

I Tablicni format za koji vrijedi:I tablica se nalazi u 1NFI ne ukljucuje parcijalne zavisnosti, tj. ne postoji atribut koji

zavisi samo o dijelu slozenog kljucaI tablica ciji je primarni kljuc sastavljen od samo jednog atributa

kada se nalazi u 1NF, istovremeno se nalazi u 2NF

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)33/44

Page 34: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Pretvorba u 3NF ...

I Utvrditi svaku novu determinantuI Za svaku tranzitivnu zavisnost, zapisati njezinu determinantu

kao primarni kljuc nove tabliceI determinanta je bilo koji atribut entiteta cija vrijednost

odreduje ostale vrijednosti u retkuI Utvrditi zavisne atribute

I U primjeru: ZANIM SURAD → CIJENA SATAI Uociti zavisne atribute iz tranzitivne zavisnosti

I CIJENA SATA iz SURADNIKI nova tablica SURADNIK (OZN SURAD → NAZ SURAD,

ZANIM SURAD)

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)34/44

Page 35: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Rezultati pretvorbe u 3NF

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)35/44

Page 36: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Prednosti i nedostaci normalizacije

I Prednosti normalizacijeI Potpuno uklanjanje redundantnih podatakaI Minimiziranje prostora za skladistenje podatakaI Rijeseni su problemi s anomalijama unosa, azuriranja i brisanja

podatakaI Nedostaci normalizacije

I Prestroga normalizacija moze dovesti do narusavanjaperformansi sustava

I Pojava prevelikog broja entiteta u bazi dovodi do mnogostrukihspajanja, a to ima svoju cijenu kod kasnijeg procesiranjapodataka

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)36/44

Page 37: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacija

1. normalna forma (1NF)2. normalna forma (2NF)3. normalna forma (3NF)

Treca normalna forma 3NF

I Tablicni format za koji vrijediI tablica se nalazi u 2NFI ne sadrzi tranzitivne zavisnosti

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)37/44

Page 38: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacijaDenormalizacija dupliciranjem atributaDenormalizacija dupliciranjem kljuceva

Pregled 2. poglavlja

Normalizacija baza podataka

Denormalizacija baza podatakaDenormalizacija dupliciranjem atributaDenormalizacija dupliciranjem kljuceva

Usporedba normalizacije i denormalizacija

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)38/44

Page 39: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacijaDenormalizacija dupliciranjem atributaDenormalizacija dupliciranjem kljuceva

Uvod

I Denormalizacija baza podataka je kontrolirano narusavanjenormalnih formi u cilju poboljsanja performansi baze podataka

I Kada denormalizirati, a kada bazu drzati u normalnimformama?

I Pravilo je da se baza tokom dizajna dovede u najmanje 3normalnu formu, pa se po potrebi denormalizira ako se shvatida je cijena normalizacije preskupa po performanse sustava

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)39/44

Page 40: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacijaDenormalizacija dupliciranjem atributaDenormalizacija dupliciranjem kljuceva

Denormalizacija dupliciranjem atributa

I Dupliciranjem atributa Cijena narusena je 3NFI Mana 3NF je ako azuriramo Cijenu proizvoda necemo moci

saznati kolika je bila cijena proizvoda na datum narudzbe, paje ovo dobro rjesenje iako ne postuje 3NF

I Ovo moze biti zahtjevna JOIN operacija nakon nekog vremenakada se skupi veci broj narudzbi i proizvoda u bazi

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)40/44

Page 41: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacijaDenormalizacija dupliciranjem atributaDenormalizacija dupliciranjem kljuceva

Denormalizacija dupliciranjem kljuceva

I Da bi saznali iz koje drzave je koji kupac trebaju se spojiti 3tablice, a to zahtjeva dosta logickih/fizickih citanja

I Ako nam u nekim slicnim scenarijima ovakav upit postaneprespor u tablicu Kupac se moze dodati atribut DrzavaId(strani kljuc) koji ce biti direktno povezan sa tablicom Drzavai kod upita iz koje je drzave korisnik imati cemo direktnu vezus tablicom Drzava

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)41/44

Page 42: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacijaUsporedba

Pregled 3. poglavlja

Normalizacija baza podataka

Denormalizacija baza podataka

Usporedba normalizacije i denormalizacijaUsporedba

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)42/44

Page 43: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacijaUsporedba

Usporedba

I Ako treba birati izmedu performansi i integriteta bazepodataka uvijek je bolje izabrati integritet, a to nam nosistroza normalizacija

I Prevelika denormalizacija baze lose utjece na skalabilnost ifleksibilnost baze podataka

I Previse denormalizirana baza podize troskove odrzavanja bazepodataka

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)43/44

Page 44: Normalizacija i denormalizacija relacijske sheme baze ... podataka/Predavanja/05 - BP - 11... · Normalizacija baza podataka Denormalizacija baza podataka Usporedba normalizacije

Normalizacija baza podatakaDenormalizacija baza podataka

Usporedba normalizacije i denormalizacijaUsporedba

Pitanja

T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)44/44