Upload
truongdieu
View
357
Download
10
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Normalizacija baza podatakaDenormalizacija baza podataka
Usporedba normalizacije i denormalizacijaUsporedba
Pitanja
T. Caric, T. Erdelic ITS::Baze podataka (11. tjedan)44/44