bp 05_zavisnost i normalne forme
TRANSCRIPT
Baze podataka
Zavisnost i normalne forme
1
Za šeme relacija sa “lošim strukturama” iz prakse se zna◦ Nepogodnosti u radu sa relacijama (između atributa
jedne relacije mogu postojati zavisnosti kojima se ograničavaju vrednosti atributa u n-torkama)
Vremenom je formulisana posebna oblast matematike –
Teorija zavisnosti Iz ove teorije: formulacija normalnih formi - kao
kriterijuma za valjanost šema relacija Normalizacija – dekompozicija šeme relacije loše
strukture na dve ili više šema koje su u skladu sa željenom “normalnom formom”
2
Dobre i loše šeme
3
Clan (SifC,Ime)
Knjiga(SifK,SifN)
Naslov(SifN,Naziv,SifO)
Oblast(SifO,Naziv)
Autor(SifA,Ime)
Pozajmica(SifP, SifC,Dana)
Rezervacija(SifN, SifC,Datum)
Drzi(SifK, SifC,Datum)
Je_autor(SifA,SifN, Izdanje)
Jedna šema relacije može da sadrži više stranih ključeva Strani ključ može biti u sastavu primarnog ključa Strani ključ može istovremeno biti i primarni ključ u
celini
Primera RBP Biblioteka
Primer 1
Nova šema relacije, kao rezultat želje da se smanji šema RBP, tako što će se podaci o naslovima i autorima objediniti u jednu š.r.AUTOR(SIFA, IME, SIFN, IZDANJE)
SIFA, SIFN čine primarni ključ◦ Određeni autor je samo jednom autor određenog
naslova
4
Šema loše strukture
5
Identifikacioni integritet proizilazi iz osobina unikatnosti n-torki u relaciji i svodi se na formulaciju odgovarajućeg uslova
Uslov identifikacionog integriteta: Ni jedan atribut šeme relacije R koji je u sastavu primarnog ključa nikada ne sme imati NULL vrednost u relaciji r.
Ukoliko ovo ne bi bilo ispunjeno, može nastupiti situacija da dve ili više n-torki u relaciji postanu identične
Identifikacioni integritet
6
Je_autor (SifA SifN Izdanje) .................................... AP0 RBP0 1 AP0 PI00 1
Ako bi se dozvolilo da npr. SifN uzme vrednost NULLJe_autor (SifA SifN Izdanje) .................................... AP0 NULL 1 AP0 NULL 1
Dobile bi se dve identične n-torke što je nedozvoljeno u relacionom modelu.
Primer:
7
Suština referencijalnog integriteta je u ograničavanju vrednosti stranog ključa.
Uslov referencijalnog integriteta: Svaki podskup atributa šeme relacije R koji predstavlja strani ključ može u relaciji R imati:◦ ili vrednost primarnog ključa u ciljnoj
relaciji ◦ ili vrednost NULL.
Referencijalni integritet
8
Sa stanovišta izmena (ažuriranja) u relaciji koja sadrži strani ključ to podrazumeva da važe sledeća ograničenja:◦ Ne može se uneti n-torka sa vrednošću stranog
ključa koja nije jednaka nekoj vrednosti primarnog ključa u ciljnoj relaciji ili NULL vrednosti
◦ Ne može se izmeniti n-torka tako da vrednost stranog ključa ne bude jednaka nekoj vrednosti primarnog ključa u ciljnoj relaciji ili NULL vrednosti
Sa stanovišta izmena (ažuriranja) u ciljnoj relaciji:◦ Dodavanje nove n-torke (u ciljnoj relaciji) ne
narušava ref. int. - nastaje samo nova vrednost primarnog ključa
◦ Uklanjanjem n-torke (a izmena ponekad) dovodi do nestanka jedne vrednosti primarnog ključa. Ako bi se ta operacija izvršavala bezuslovno to bi narušilo referencijalni integritet
Referencijalni integritet
Neka u jednom trenutku postoji prethodni sadržaj U budućnosti, može postojati potreba da se unose
novi naslovi za autora: ZP0 Z.Petrović, pa bi se on pojavljivao više puta
Često je uz ime potrebno evidentirati i neki dodatni podatak o autoru, koji bi se opet pojavljivao više puta uz Z.Petrović
9
Š.R. loše strukture
autor(SIFA IME SIFN IZDANJE)JN0 J.Nikolić RBP0 2ZP0 Z.Petrović PP00 1AP1 A.Petrović PJC0 1ZP0 Z.Petrović PJC0 2
Ako se pokuša izbegavanje unosa imena autora više puta (samo prvi put se upisuje, a u ostalim slučajevima NULL), gube se neke informacije◦ Nemogućnost postavljanja upita:
Npr: Imena svih autora jednog naslova Npr: Svi naslovi autora određenog imena
10
Š.R. loše strukture
Osnovni nedostatak relacije autor je:redudansa – višestruko ponavljanje u relaciji
Ovaj nedostatak izaziva probleme kod sva tri vida ažuriranja relacije:◦ Višestruko unošenje: ime autora unosi se onoliko
puta koliko je napisao naslova◦ Višestruko menjanje: eventualne promene imena
autora vrše se na svim mestima◦ Višestruko uklanjanje: ako se želi potpuno
uklanjanje podataka o autoru, vrši se onoliko puta koliko je napisao naslova
11
Š.R. loše strukture
Uz nedostatke ažuriranja postoje još dva drastična nedostatka:◦ Anomalija unošenja: ne mogu se uneti podaci o
autoru, a da se pri tome ne unesu i podaci o bar jednom njegovom naslovu
◦ Anomalija uklanjanja: uklanjanjem podataka o jedinom naslovu koji je napisao neki autor uklanjaju se i podaci o tom autoru
Za razliku od razmatrane šeme relacije autor, šeme relacija iz RBP Biblioteka nemaju navedene nedostatke◦ Ime svakog autora unosi se samo jednom i
nezavisno od podataka o naslovu
12
Š.R. loše strukture
Uzrok ograničenja u Primeru 1◦ Svakoj vrednosti atributa SIFA, koji je deo
primarnog ključa, odgovara jedna vrednost atributa IME koji nije deo primarnog ključa
◦ Kada se u relaciji autor ponovi vrednost atributa SIFA, mora se ponoviti i IME
13
Š.R. loše strukture
AUTOR(SIFA, IME, SIFN, IZDANJE)
Primer 2Neka je formirana posebna šema relacije koja objedinjava podatke o naslovima i oblastimaNASLOV( SIFN, NAZIVN, SIFO, NAZIVO)
Za sadržaj RBP Biblioteka odgovarajuća relacija naslov bi bila:
14
Š.R. loše strukture
naslov (SIFN NAZIVN SIFO NAZIVO)RBP0 Relacione baze podataka BP Baze podatakaRK00 Računarske komunikacije RM Računarske mrežePP00 PASCAL programiranje PJ Programski jeziciPJC0 Programski jezik C PJ Programski jezici
Ako bi se zahtevao novi unos npr: C++, postojalo bi tri puta PJ “Programski jezici”
Izbegavanje višestrukog unošenja, kao u prošlom primeru (NULL vrednosti), dovelo bi do gubitka informacije (nemogućnost pravog upita)
Uzrok ograničenja u Primeru 2:◦ Svakoj vrednosti atributa SIFO, koji nije deo
primarnog ključa, odgovara jedna vrednost atributa NAZIVO, koji takođe nije deo primarnog ključa
15
Š.R. loše strukture
NASLOV( SIFN, NAZIVN, SIFO, NAZIVO)
Primer 3Posmatra se šema relacije koja evidentira podatke o pozajmicama dopunjene sa šiframa naslova:POZAJMICA(SIFN, SIFC, DATUM, DANA, SIFK)
16
Š.R. loše strukture
Pozajmica ( SIFN SIFC DATUM DANASIFK)PJC0 JJ0 01.09.05. 5 004 *PP00 PP0 02.09.05. 2 007PJC0 JJ1 03.09.05. 6 005PP00 JJ0 04.09.05. 7 008RBP0 PP0 05.09.05. 4 002PP00 JJ1 06.09.05. 3 009PJC0 JJ1 07.09.05. 2 004 *
Osnovna anomalija: za istu vrednost atributa SIFK, dva puta se morala uneti vrednost PJC0 (atribut SIFN)
Uzrok ograničenja u Primeru 3◦ Svakoj vrednosti atributa SIFK, koji nije deo
primarnog ključa, odgovara jedna vrednost atributa SIFN koji je deo primarnog ključa
U RBP Biblioteka nema nedostataka, zato što su razdvojene šeme relacija: POZAJMICA i KNJIGA
17
Š.R. loše strukture
POZAJMICA(SIFN, SIFC, DATUM, DANA, SIFK)
Zaključci:◦ Ako je struktura šeme relacije takva da postoji
višestruko ponavljanje pojedinih vrednosti ne ključnih atributa, takva šema relacije je loša
◦ Šema relacije kod koje postoje neželjene veze, može se zameniti sa više šema relacija, kod kojih navedeni nedostaci nisu prisutni
18
Š.R. loše strukture
Opšte napomene:◦ Dekomponuje se i šema relacije i relacija nad njom◦ U nastalim šemama relacija moraju biti prisutni svi
atributi polazne šeme (da se ne izgubi deo podataka)
◦ Ne mogu se pojaviti novi atributi koji nisu postojali u polaznoj šemi relacije
◦ U najnepovoljnijem slučaju, relacija koja se dekomponuje nije prazna, pa njen sadržaj treba preneti u novonastale relacije
19
Loše i dobre dekompozicije
Primer 1: (Loša dekompozicija) Sprovedimo sledeću dekompoziciju:
POZAJMICA (SIFN, SIFC, DATUM, DANA, SIFK)POZ1 (SIFC, DATUM, DANA, SIFK)POZ2 (SIFN)
Odgovarajuće relacije poz1 i poz2 mogu se dobiti kao rezultat projekcija:
SIFC,DATUM,DANA,SIFK(pozajmica)poz1 SIFN(pozajmica)poz2
20
Loše i dobre dekompozicije
Sadržaj dobijenih relacija je sledeći:
21
Loše i dobre dekompozicije
Poz1 ( SIFC DATUM DANASIFK)JJ0 01.09.05. 5 004PP0 02.09.05. 2 007JJ1 03.09.05. 6 005JJ0 04.09.05. 7 008PP0 05.09.05. 4 002JJ1 06.09.05. 3 009JJ1 07.09.05. 2 004
Poz2 ( SIFN )PJC0PP00RBP0
Uvidom u sadržaj relacija zaključuje se sledeće: Ne postoje veze između šifara naslova i ostalih
podataka o pozajmicama Pokušaj rekonstrukcije svih podataka o
pozajmicama: ◦ prirodnim spajanjem,◦ dobiće se Dekartov proizvod sa 21 n-torkom◦ šeme relacija nemaju ni jedan zajednički atribut
(presek atributa je prazan skup)◦ Dobijenih 14 n-torki je nepotrebno
22
Loše i dobre dekompozicije
23
Pozajmica ( SIFN SIFC DATUM DANA SIFK)PJC0 JJ0 01.09.05. 5 004PJC0 PP0 02.09.05. 2 007 ?PJC0 JJ1 03.09.05. 6 005PJC0 JJ0 04.09.05. 7 008 ?PJC0 PP0 05.09.05. 4 002 ?PJC0 JJ1 06.09.05. 3 009 ?PJC0 JJ1 07.09.05. 2 004PP00 JJ0 01.09.05. 5 004 ?PP00 PP0 02.09.05. 2 007PP00 JJ1 03.09.05. 6 005 ?PP00 JJ0 04.09.05. 7 008PP00 PP0 05.09.05. 4 002 ?PP00 JJ1 06.09.05. 3 009PP00 JJ1 07.09.05. 2 004 ?RBP0 JJ0 01.09.05. 5 004 ?RBP0 PP0 02.09.05. 2 007 ?RBP0 JJ1 03.09.05. 6 005 ?RBP0 JJ0 04.09.05. 7 008 ?RBP0 PP0 05.09.05. 4 002RBP0 JJ1 06.09.05. 3 009 ?RBP0 JJ1 07.09.05. 2 004 ?
Primer 2: (Loša dekompozicija)POZAJMICA (SIFN, SIFC, DATUM, DANA, SIFK)
POZ1 (SIFC, DATUM, DANA, SIFK)POZ2 (SIFC,SIFN)
Projekcijama se dobija:
24
Loše i dobre dekompozicije
Poz1 ( SIFC DATUM DANASIFK)JJ0 01.09.05. 5 004PP0 02.09.05. 2 007JJ1 03.09.05. 6 005JJ0 04.09.05. 7 008PP0 05.09.05. 4 002JJ1 06.09.05. 3 009JJ1 07.09.05. 2 004
Poz2 ( SIFC SIFN )JJ0 PJC0PP0 PP00JJ1 PJC0JJ0 PP00PP0 RBP0JJ1 PP00
Ovoga puta, nastale relacije imaju kao presek zajednički atribut SIFC
Može se zaključiti i sledeće:◦ Veze između šifara naslova (SIFN) i ostalih
podataka ne postoje direktno ni u jednoj relaciji◦ Rekonstrukcija svih pozajmica prirodnim spajanjem
po atributu SifC daje 14 n-torki (7 su suvišne)
Osnovni kriterijum za očuvanje podataka pri dekompoziciji šeme relacije je:Dekompozicija je bez gubitaka ako je reverzibilna, tj. ako se prirodnim spajanjem novonastalih relacija dobija polazna relacija
25
Loše i dobre dekompozicije
26
Pozajmica ( SIFN SIFC DATUM DANA SIFK)PJC0 JJ0 01.09.05. 5 004PJC0 JJ0 04.09.05. 7 008 ?
PP00 PP0 02.09.05. 2 007PP00 PP0 05.09.05. 4 002 ?
PJC0 JJ1 03.09.05. 6 005PJC0 JJ1 06.09.05. 3 009 ?PJC0 JJ1 07.09.05. 2 004
PP00 JJ0 01.09.05. 5 004 ?PP00 JJ0 04.09.05. 7 008
RBP0 PP0 02.09.05. 2 007 ?RBP0 PP0 05.09.05. 4 002
PP00 JJ1 03.09.05. 6 005 ?PP00 JJ1 06.09.05. 3 009PP00 JJ1 07.09.05. 2 004 ?
U prethodnim primerima, problem je što postoji višestruko spajanje n-torki
Važno je da pri dekompoziciji, svaka vrednost zajedničkog atributa u bar jednoj od nastalih relacija ne sme da se ponavlja
Formulacija prethodnog uslova: Zajednički atribut (ili skup atributa) treba da je kandidat ključ u bar jednoj od nastalih relacija
Sledeći prethodni pristup, dolazi se do dekompozicije koja postoji u RBP Biblioteka
27
Loše i dobre dekompozicije
Primer 3: (Dobra dekompozicija) POZAJMICA (SIFN, SIFC, DATUM, DANA, SIFK)
POZ1 (SIFC, DATUM, DANA, SIFK)POZ2 (SIFK,SIFN)
Projekcijama se dobija:
28
Loše i dobre dekompozicije
Poz1 ( SIFC DATUM DANASIFK)JJ0 01.09.05. 5 004PP0 02.09.05. 2 007JJ1 03.09.05. 6 005JJ0 04.09.05. 7 008PP0 05.09.05. 4 002JJ1 06.09.05. 3 009JJ1 07.09.05. 2 004
Poz2 ( SIFK SIFN )004 PJC0007 PP00005 PJC0008 PP00002 RBP0009 PP00
Ako se pokuša rekonstrukcija svih pozajmica prirodnim spajanjem po atributu SifK dobija se 7 n-torki koje odgovaraju prvobitnom sadržaju◦ Svaka n-torka relacija poz1 se spaja sa tačno
jednom n-torkom relacije poz2
29
Loše i dobre dekompozicije
Pozajmica ( SIFN SIFC DATUM DANASIFK)PJC0 JJ0 01.09.05. 5 004PP00 PP0 02.09.05. 2 007PJC0 JJ1 03.09.05. 6 005PP00 JJ0 04.09.05. 7 008RBP0 PP0 05.09.05. 4 002PP00 JJ1 06.09.05. 3 009PJC0 JJ1 07.09.05. 2 004
Zaključak:Neka su R i r šema relacije i relacija, koja se dekomponuje na R1 i R2, tj. r1 i r2, pri čemu postoji bar jedan zajednički atribut tj.R1 R2 Tada važi:◦ Uslov očuvanja atributa pri dekompoziciji
R1 R2 = R◦ Uslov očuvanja podataka (reverzibilnost)
R1(r) >*< R2(r) = r◦ Dekompozicija je reverzibilna ako je:
R1 R2 R1 R1 R2 R2(značenje simbola je “jednoznačno određuje”)
30
Loše i dobre dekompozicije
Do sada su razmatrane zavisnosti pojedinačnih atributa:Svakoj vrednosti jednog atributa odgovara samo jedna vrednost drugog atributa
U opštem slučaju to može važiti za podskupove atributa šeme relacije
Definicija: Nad šemom relacije R postoji funkcijska zavisnost XY ako u relaciji r važi da se svako r[X] preslikava na samo jedan element skupa r[Y]
31
Funkcijske zavisnosti
U praksi je uočeno da se na osnovu postojanja nekog skupa zavisnosti, mogu da se izvedu nove zavisnosti
Primer:Posmatra se šema relacije NASLOVNASLOV(SIFN, NAZIVN, SIFO, NAZIVO)Postoje zavisnosti:SIFN NAZIVN i SIFO NAZIVONa osnovu prethodnog može se izvesti da važi:SIFN, SIFO NAZIVN, NAZIVO
32
Funkcijske zavisnosti
Primer:za prethodnu šemu relacije NASLOV važi i sledeće:SIFN SIFO i SIFO NAZIVONa osnovu prethodnog može se izvesti da jednoj šifri naslova odgovara samo jedan naziv oblasti:SIFN NAZIVO
Postoji minimalan skup pravila za izvođenje novih zavisnosti iz početnih:◦ Konačni skup zavisnosti koji se može izvesti iz
polaznih (kompletnost)◦ Ne može se izvesti ni jedna zavisnost koja ne
proizilazi iz polaznih (pouzdanost)
33
Funkcijske zavisnosti
1. ReflektivnostYX R XYSvaki podskup atributa šeme relacije jednoznačno određuje svaki svoj sastavni deo
Posebni slučajevi:◦ za Y=X sledi X X, svaki podskup atributa
jednoznačno određuje sam sebe◦ za Y=0 sledi X , svaki podskup atributa
jednoznačno određuje prazan skup
34
Armstrongovapravila
2. Armstrongovo pravilo: UvećanjeXY ZW XW YZ ◦ Kod ovog pravila postoje tri specijalna slučaja
za Z= sledi XW Y za Z=W sledi XW YW za Z=W=X sledi X YX
3. Armstrongovo pravilo: TranzitivnostiXY Y Z X Z
35
Armstrongovapravila
4. pravilo: Unija XY X Z X YZ
5. pravilo: Dekompozicija XY ZY X Z
6. pravilo: Pseudotranzitivnost XY WY Z XW Z
36
Dodatnapravila
Dekompozicija je dobra ako su posle nje sačuvani atributi i podaci
Pitanje: Ako je na polaznoj šemi relacije R važio neki skup funkcijskih zavisnosti F, kakve zavisnosti postoje posle dekompozicije
Funkcijske zavisnosti u RBP – ograničenja između nekih svojstava u sistemu koga ta RBP predstavlja.
Ograničenja uvek moraju biti ispoštovana prilikom ažuriranja
37
Dekompozicija funkcijskih zavisnosti
Ako važi XY, onda svakoj vrednosti X (ma koliko puta) mora da odgovara jedno Y
Moguća su dva slučaja:◦ X i Y se nalaze unutar iste šeme relacije◦ X i Y su u različitim š.r., ali se pojavljuju u jednoj
relaciji nakon izvršenja upita
38
Dekompozicija funkcijskih zavisnosti
Primer 1: X i Y su u istoj šemi relacije
Pored ostalog važi: SIFO NAZIVO
39
Dekompozicija funkcijskih zavisnosti
naslov (SIFN NAZIV SIFO NAZIVO)RBP0 Relacione baze podataka BP Baze podatakaRK00 Računarske komunikacije RM Računarske mrežePP00 PASCAL programiranje PJ Programski jeziciPJC0 Programski jezik C PJ Programski jezici
Pri unosu n-torki znamo za pravilo: ◦ Ne sme se ponoviti vrednost primarnog ključa SIFN◦ Ne sme se uneti NULL vrednost
Kada se unosi n-torka i za SIFO unese ‘PJ’, samo prvi put se može uneti proizvoljno NAZIVO
Već u drugoj n-torci, unos ne može biti slobodan, jer bi se u suprotnom pokvarila zavisnost SIFO NAZIVO
40
Dekompozicija funkcijskih zavisnosti
Primer 2: (razdvojenost X i Y)
Neka je kod unosa zadnje n-torke u naslov1 greškom uneseno “Baze podataka” umesto “Programski jezici”
41
naslov2 (SIFN SIFO)RBP0 BPRK00 RMPP00 PJPJC0 PJ
naslov1 (SIFN NAZIVN NAZIVO)RBP0 Relacione baze podataka Baze podatakaRK00 Računarske komunikacije Računarske mrežePP00 PASCAL programiranje Programski jeziciPJC0 Programski jezik C Programski jezici
Baze podataka
Ako postavimo upit koji daje šifre i nazive oblasti dobili bi:SELECT n2.sifo, n1.nazivo
FROM naslov1 n1, naslov2 n2WHERE n1.sifn=n2.sifn;
Rezultat:BP Baze podatakaRM Računarske mrežePJ Programski jeziciPJ Baze podataka
Dobio bi se rezultat koji je u suprotnosti za zavisnošću SIFO NAZIVO
42
Dekompozicija funkcijskih zavisnosti
Dobar sistem za upravljanje RBP mora da spreči prethodna narušavanja
Zbog toga se, prilikom kreiranja BP, zadaju i dodatna ograničenja zasnovana na funkcijskim zavisnostima
Šematski prikaz prethodne dekompozicije (SIFN je kandidat ključ u bar jednoj relaciji):
43
Dekompozicija funkcijskih zavisnosti
44
Dekompozicija funkcijskih zavisnosti
naslov(sifn,nazivn,sifo,nazivo)
naslov1(sifn,nazivn,nazivo)
naslov2(sifn, sifo)
sifn nazivn,sifo,nazivo
sifo nazivo
sifn nazivn,nazivo
sifn sifo
• Šematski prikaz prethodne dekompozicije (SIFN je kandidat ključ u bar jednoj relaciji):
• U ovom primeru nije primenjiva zavisnost SIFONAZIVO ni na jednu od nastalih relacija – LOŠA DEKOMPOZICIJA
Bolja dekompozicija◦ Ne dovodi do gubitka skupa zavisnosti:
45
Dekompozicija funkcijskih zavisnosti
naslov(sifn,nazivn,sifo,nazivo)
naslov1(sifn,nazivn,sifo)
naslov2(sifo,nazivo)
sifn nazivn,sifo,nazivo
sifo nazivo
sifn nazivn,sifo
sifo nazivo
Očuvanje funkcijskih zavisnosti pri dekompoziciji: Ako se iz funkcijskih zavisnosti novonastalih relacija mogu izvesti prethodne zavisnosti
Normalizacija - pogodna dekompozicija šeme relacije u cilju otklanjanja anomalija ažuriranja◦ Uzroci anomalija su prisustvo neželjenih funkcijskih
zavisnosti Normalna forma – određeni kriterijumi valjanosti
neke šeme relacije U nastavku se navode neki specijalni slučajevi
funkcijskih zavisnosti
46
Normalne forme i normalizacija
Prednosti normalizacije:◦ Smanjenje fizičkog prostora za smeštanje podataka◦ Bolja organizacija podataka◦ Promene podataka se rade na nivou samo jednog rekorda
Mane normalizacije◦ Fizički prostor diska je danas jeftin – malo bitan (izuzev kod
velikih baza tipa Data warehouses- (DW je baza koja se koristi za izveštaje. Podaci se učitavaju iz operativnog sistema za analizu izveštaja. Primenjuje se za data mining, online analytical processing, market research i decision support)
◦ Minimizacija dovodi do visoke granularnosti. SQL JOIN QUERY se sporo izvršavaju
◦ Nastaju šeme relacija koje karakteriše visoka kompleksnost sa stanovišta dizajnera i programera
47
Normalne forme i normalizacija
Neka je R šema relacije, a X,Y i Z su podskupovi od R◦ Definicija 1
Funkcijska zavisnost XY je superključna ako važi XR
◦ Definicija 2Funkcijska zavisnost XY je trivijalna ako važi YX
◦ Definicija 3Funkcijska zavisnost je totalna ako ne postoji ni jedan pravi podskup Z od X za koji važi ZY odnosno: XY Z (ZX ZY)
48
Normalne formei normalizacija
Definicija 4Funkcijska zavisnost je parcijalna ako postoji neki pravi podskup Z od X za koji važi ZY odnosno: XY Z (ZX ZY)
Definicija 5Funkcijska zavisnost XY je tranzitivna ako postoji neko Z, različito od X i Y za koje važi:XZ i ZY
49
Normalne formei normalizacija
Primer:Posmatra se gruba (nezgrapna) šema relacije o pozajmicama:
pozajmica (SIFN,SIFC,DATUM,DANA,SIFK,NAZIVN,SIFO,NAZIVO)
kao i skup funkcijskih zavisnosti:
F={ SIFN,SIFC,DATUMDANA SIFN,SIFC,DATUM SIFKSIFN,SIFC,DATUMNAZIVN SIFN,SIFC,DATUMSIFOSIFN,SIFC,DATUMNAZIVO SIFKSIFNSIFN SIFO SIFN,SIFC SIFN SIFO NAZIVO}
50
Normalne formei normalizacija
Postoje sledeći slučajevi specijalnih funkcijskih zavisnosti:◦ superključne
SIFN,SIFC,DATUMDANA SIFN,SIFC,DATUM SIFKSIFN,SIFC,DATUMNAZIVN SIFN,SIFC,DATUMSIFOSIFN,SIFC,DATUMNAZIVO
◦ trivijalnaSIFN,SIFC SIFN
◦ totalneSIFN,SIFC,DATUMDANA SIFN,SIFC,DATUM SIFKSIFKSIFN SIFN SIFO SIFO NAZIVO
◦ parcijalneSIFN,SIFC,DATUMNAZIVNSIFN,SIFC,DATUMSIFO
◦ tranzitivneSIFN,SIFC,DATUMNAZIVO
51
Normalne formenormalizacije
Postupak normalizacije◦ Neka polazna š.r. nije u određenoj normalnoj formi,
ako u skupu funkcijskih zavisnosti F postoji bar jedna koja narušava definiciju normalne forme
U svakom koraku normalizacije:◦ uočava se jedna takva zavisnost (X Y)◦ vrši se dekompozicija u cilju uklanjanja takve
zavisnosti◦ Ako je u polaznoj važilo X Y, dekompozicijom
nastaju dve relacije, u prvoj se gube atributi Y, a druga nastaje nad atributima X i Y
◦ Ne dozvoljava se gubitak podataka
52
Normalne formenormalizacije