Upload
pera-sreda-geometrija
View
17
Download
4
Embed Size (px)
DESCRIPTION
Baze8_Zavisnost i Normalne Forme (1)
Citation preview
26.4.2015 Predavanja 1
Zavisnost i normalne forme
Sadraj:
eme relacija loe strukture
Loe i dobre dekompozicije
Funkcijske zavisnosti
Dekompozicija skupa funkcijskih zavisnosti
Normalne forme
Postupci normalizacije
26.4.2015 Predavanja 2
Do sada nije razmatrano zato su strukture ema relacija i eme RBP dobre
Kada su postavljene strukture dobre ?
Dobro je kada se kroz upite i samu strukturu RBP ne uoavaju nepogodnosti
Do sada su uvedene samo formalne definicije ema relacije: skup atributa i ogranienja nad
njima
ema RBP: skup ema relacija i ogranienja nad njima
26.4.2015 Predavanja 3
Razmatrana (podrazumevana) ogranienja: Unikatnost atributa u emi relacije i unikatnost
n-torki Uslov identifikacionog integriteta za primarni
klju (nije dozvoljena NULL vrednost za atribut u sastavu primarnog kljua)
Uslov referencijalnog integriteta za strani klju(svaki strani klju u relaciji moe imati ili vrednost primarnog kljua u ciljnoj relaciji ili NULL vrednost)
Vrednosti ostalih atributa u relacijama, mogle su da budu proizvoljne
26.4.2015 Predavanja 4
Iz prakse su poznati primeri ema relacija sa loim strukturama Nepogodnosti u radu sa relacijama Razlog za to je sledei: izmeu atributa jedne
relacije mogu postojati zavisnosti kojima se ograniavaju 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 loe strukture na dve ili vie ema koje su u skladu sa eljenom normalnom formom
26.4.2015 Predavanja 5
Sadraj:
eme relacija loe strukture
Loe i dobre dekompozicije
Funkcijske zavisnosti
Dekompozicija skupa funkcijskih zavisnosti
Normalne forme
Postupci normalizacije
26.4.2015 Predavanja 6
eme relacija loe strukture
Ilustracija kroz nekoliko pogodno odabranih primera izvedenih iz RBP Biblioteka
Primer 1Nova 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, KOJI)
SIFA, SIFN ine primarni klju Odreeni autor je samo jednom autor
odreenog naslova26.4.2015 Predavanja 7
Neka u jednom trenutku postoji sledei sadraj:
Pretpostavimo da u BP elimo da unesemo podatke o novom naslovu ifre:PJC0 Programski jezik C,koji ima dva autora: A.Petrovi i Z.Petrovi
Dobija se sledei sadraj za relaciju autor
26.4.2015 Predavanja 8
autor(SIFA IME SIFN KOJI)JN0 J.Nikoli RBP0 2ZP0 Z.Petrovi PP00 1
autor(SIFA IME SIFN KOJI)JN0 J.Nikoli RBP0 2ZP0 Z.Petrovi PP00 1AP1 A.Petrovi PJC0 1ZP0 Z.Petrovi PJC0 2
U budunosti, moe postojati potreba da se unose novi naslovi za autora: ZP0 Z.Petrovi, pa bi se on pojavljivao vie puta
esto je uz ime potrebno evidentirati i neki dodatni podatak o autoru, koji bi se opet pojavljivao vie puta uz Z.Petrovi
Ako se pokua izbegavanje unosa imena autora vie puta (samo prvi put se upisuje, a u ostalim sluajevima NULL), gube se neke informacije Nemogunost postavljanja upita:
Npr: Imena svih autora jednog naslova Npr: Svi naslovi autora odreenog imena
26.4.2015 Predavanja 9
Osnovni nedostatak relacije autor je:redudansa viestruko ponavljanje u relaciji
Ovaj nedostatak izaziva probleme kod sva tri vida auriranja relacije: Viestruko unoenje: ime autora unosi se
onoliko puta koliko je napisao naslova
Viestruko menjanje: eventualne promene imena autora vre se na svim mestima
Viestruko uklanjanje: ako se eli potpuno uklanjanje podataka o autoru, vri se onoliko puta koliko je napisao naslova
26.4.2015 Predavanja 10
Uz nedostatke auriranja postoje jo dva drastina nedostatka: Anomalija unoenja: 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
26.4.2015 Predavanja 11
Uzrok ogranienja u Primeru 1 Svakoj vrednosti atributa SIFA, koji je deo
primarnog kljua, odgovara jedna vrednost atributa IME koji nije deo primarnog kljua
Kada se u relaciji autor ponovi vrednost atributa SIFA, mora se ponoviti i IME
26.4.2015 Predavanja 12
Primer 2Neka je formirana posebna ema relacije koja objedinjava podatke o naslovima i oblastimaNASLOV( SIFN, NAZIVN, SIFO, NAZIVO)
Za sadraj RBP Biblioteka odgovarajua relacija naslov bi bila:
26.4.2015 Predavanja 13
naslov (SIFN NAZIV SIFO NAZIVO)RBP0 Relacione baze podataka BP Baze podatakaRK00 Raunarske komunikacije RM Raunarske mreePP00 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 viestrukog unoenja, kao u prolom primeru (NULL vrednosti), dovelo bi do gubitka informacije (nemogunost pravog upita)
Uzrok ogranienja: Svakoj vrednosti atributa SIFO, koji nije deo
primarnog kljua, odgovara jedna vrednost atributa NAZIVO, koji takoe nije deo primarnog kljua
Navedeni nedostaci ne postoje u RBP Biblioteka, gde postoje dve eme relacija: NASLOV i OBLAST
26.4.2015 Predavanja 14
Primer 3Posmatra se ema relacije koja evidentira podatke o pozajmicama dopunjene sa iframa naslova:
POZAJMICA(SIFN, SIFC, DATUM, DANA, SIFK)
Posmatrajmo sledee stanje:
26.4.2015 Predavanja 15
Pozajmica ( SIFN SIFC DATUM DANA SIFK)PJC0 JJ0 01.09.95. 5 004 *PP00 PP0 02.09.95. 2 007PJC0 JJ1 03.09.95. 6 005PP00 JJ0 04.09.95. 7 008RBP0 PP0 05.09.95. 4 002PP00 JJ1 06.09.95. 3 009PJC0 JJ1 07.09.95. 2 004 *
Osnovna anomalija: za istu vrednost atributa SIFK, dva puta se morala uneti vrednost PJC0 (atribut SIFN)
Nepogodnost: svakoj vrednosti atributa SIFK odgovara jedna vrednost atributa SIFN
Nepogodnost nije izraena zato to: Atribut SIFN je kompaktan
Atribut SIFN je stabilan, retko e se menjati
U RBP Biblioteka nema nedostataka, zato to su razdvojene eme relacija:POZAJMICA i KNJIGA
26.4.2015 Predavanja 16
Uzrok ogranienja u Primeru 3 Svakoj vrednosti atributa SIFK, koji nije deo
primarnog kljua, odgovara jedna vrednost atributa SIFN koji je deo primarnog kljua
26.4.2015 Predavanja 17
Zakljuak:
Ako je struktura eme relacije takva da postoji viestruko ponavljanje pojedinih vrednosti ne kljunih atributa, takva ema relacije je loa
ema relacije kod koje postoje neeljene veze, moe se zameniti sa vie ema relacija, kod kojih navedeni nedostaci nisu prisutni
26.4.2015 Predavanja 18
Sadraj:
eme relacija loe strukture
Loe i dobre dekompozicije
Funkcijske zavisnosti
Dekompozicija skupa funkcijskih zavisnosti
Normalne forme
Postupci normalizacije
26.4.2015 Predavanja 19
Loe i dobre dekompozicije
Opte 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 sluaju, relacija koja se dekomponuje nije prazna, pa njen sadraj treba preneti u nastale relacije
26.4.2015 Predavanja 20
Primer 1: (Loa dekompozicija)
Sprovedimo sledeu dekompoziciju:
POZAJMICA (SIFN, SIFC, DATUM, DANA, SIFK)POZ1 (SIFC, DATUM, DANA, SIFK)POZ2 (SIFN)
Odgovarajue relacije poz1 i poz2 mogu se dobiti kao rezultat projekcija:
piSIFC,DATUM,DANA,SIFK(pozajmica)poz1
piSIFN(pozajmica)poz2
26.4.2015 Predavanja 21
Sadraj dobijenih relacija je sledei:
26.4.2015 Predavanja 22
Poz1 (SIFC DATUM DANA SIFK)JJ0 01.09.95. 5 004PP0 02.09.95. 2 007JJ1 03.09.95. 6 005JJ0 04.09.95. 7 008PP0 05.09.95. 4 002JJ1 06.09.95. 3 009JJ1 07.09.95. 2 004
Poz2 (SIFN )PJC0PP00RBP0
Uvidom u sadraj relacija zakljuuje se sledee:
Ne postoje veze izmeu ifara naslova i ostalih podataka o pozajmicama
Pokuaj rekonstrukcije svih podataka o pozajmicama: prirodnim spajanjem,
dobie se Dekartov proizvod sa 21 n-torkom
eme relacija nemaju ni jedan zajedniki atribut (presek atributa je prazan skup)
Dobijenih 14 n-torki je nepotrebno
26.4.2015 Predavanja 23
26.4.2015 Predavanja 24
Pozajmica ( SIFN SIFC DATUM DANA SIFK)PJC0 JJ0 01.09.95. 5 004PJC0 PP0 02.09.95. 2 007 ?PJC0 JJ1 03.09.95. 6 005PJC0 JJ0 04.09.95. 7 008 ?PJC0 PP0 05.09.95. 4 002 ?PJC0 JJ1 06.09.95. 3 009 ?PJC0 JJ1 07.09.95. 2 004PP00 JJ0 01.09.95. 5 004 ?PP00 PP0 02.09.95. 2 007PP00 JJ1 03.09.95. 6 005 ?PP00 JJ0 04.09.95. 7 008PP00 PP0 05.09.95. 4 002 ?PP00 JJ1 06.09.95. 3 009PP00 JJ1 07.09.95. 2 004 ?RBP0 JJ0 01.09.95. 5 004 ?RBP0 PP0 02.09.95. 2 007 ?RBP0 JJ1 03.09.95. 6 005 ?RBP0 JJ0 04.09.95. 7 008 ?RBP0 PP0 05.09.95. 4 002RBP0 JJ1 06.09.95. 3 009 ?RBP0 JJ1 07.09.95. 2 004 ?
Primer 2: (Loa dekompozicija)
Opredelimo se za sledeu dekompoziciju:
POZAJMICA (SIFN, SIFC, DATUM, DANA, SIFK)POZ1 (SIFC, DATUM, DANA, SIFK)POZ2 (SIFC,SIFN)
Projekcijama se dobija:
26.4.2015 Predavanja 25
Poz1 (SIFC DATUM DANA SIFK)JJ0 01.09.95. 5 004PP0 02.09.95. 2 007JJ1 03.09.95. 6 005JJ0 04.09.95. 7 008PP0 05.09.95. 4 002JJ1 06.09.95. 3 009JJ1 07.09.95. 2 004
Poz2 (SIFC SIFN )JJ0 PJC0PP0 PP00JJ1 PJC0JJ0 PP00PP0 RBP0JJ1 PP00
Ovoga puta, nastale relacije imaju kao presek zajedniki atribut SIFC
Moe se zakljuiti i sledee: Veze izmeu 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 suvine)
Osnovni kriterijum za ouvanje podataka pri dekompoziciji eme relacije je:Dekompozicija je bez gubitaka ako je reverzibilna, tj. ako se prirodnim spajanjem novonastalih relacija dobija polazna relacija
26.4.2015 Predavanja 26
26.4.2015 Predavanja 27
Pozajmica ( SIFN SIFC DATUM DANA SIFK)PJC0 JJ0 01.09.95. 5 004PJC0 JJ0 04.09.95. 7 008 ?
PP00 PP0 02.09.95. 2 007PP00 PP0 05.09.95. 4 002 ?
PJC0 JJ1 03.09.95. 6 005PJC0 JJ1 06.09.95. 3 009 ?PJC0 JJ1 07.09.95. 2 004
PP00 JJ0 01.09.95. 5 004 ?PP00 JJ0 04.09.95. 7 008
RBP0 PP0 02.09.95. 2 007 ?RBP0 PP0 05.09.95. 4 002
PP00 JJ1 03.09.95. 6 005 ?PP00 JJ1 06.09.95. 3 009PP00 JJ1 07.09.95. 2 004 ?
U prethodnim primerima, problem je to postoji viestruko spajanje n-torki
Vano je da pri dekompoziciji, svaka vrednost zajednikog atributa u bar jednoj od nastalih relacija ne sme da se ponavlja
Formulacija prethodnog uslova: Zajedniki atribut (ili skup atributa) treba da je kandidat klju u bar jednoj od nastalih relacija
Sledei prethodni pristup, dolazi se do dekompozicije koja postoji u RBP Biblioteka
26.4.2015 Predavanja 28
Primer 3: (Dobra dekompozicija)
Opredelimo se za sledeu dekompoziciju:
POZAJMICA (SIFN, SIFC, DATUM, DANA, SIFK)POZ1 (SIFC, DATUM, DANA, SIFK)POZ2 (SIFK,SIFN)
Projekcijama se dobija:
26.4.2015 Predavanja 29
Poz1 (SIFC DATUM DANA SIFK)JJ0 01.09.95. 5 004PP0 02.09.95. 2 007JJ1 03.09.95. 6 005JJ0 04.09.95. 7 008PP0 05.09.95. 4 002JJ1 06.09.95. 3 009JJ1 07.09.95. 2 004
Poz2 (SIFK SIFN )004 PJC0007 PP00005 PJC0008 PP00002 RBP0009 PP00
Ako se pokua rekonstrukcija svih pozajmica prirodnim spajanjem po atributu SifK dobija se 7 n-torki koje odgovaraju prvobitnom sadraju Svaka n-torka relacija poz1 se spaja sa tano
jednom n-torkom relacije poz2
26.4.2015 Predavanja 30
Pozajmica ( SIFN SIFC DATUM DANA SIFK)PJC0 JJ0 01.09.95. 5 004PP00 PP0 02.09.95. 2 007PJC0 JJ1 03.09.95. 6 005PP00 JJ0 04.09.95. 7 008RBP0 PP0 05.09.95. 4 002PP00 JJ1 06.09.95. 3 009PJC0 JJ1 07.09.95. 2 004
Zakljuak: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 zajedniki atribut tj.R1 R2 Tada vai: Uslov ouvanja atributa pri dekompoziciji
R1 R2 = R
Uslov ouvanja podataka (reverzibilnost)piR1(r) >*< piR2(r) = r
Dekompozicija je reverzibilna ako je:R1 R2 R1 R1 R2 R2
(znaenje simbola je jednoznano odreuje)
26.4.2015 Predavanja 31
Sadraj:
eme relacija loe strukture
Loe i dobre dekompozicije
Funkcijske zavisnosti
Dekompozicija skupa funkcijskih zavisnosti
Normalne forme
Postupci normalizacije
26.4.2015 Predavanja 32
Osnovi teorije funkcijskih zavisnosti
Do sada su razmatrane zavisnosti pojedinanih atributa:Svakoj vrednosti jednog atributa odgovara
samo jedna vrednost drugog atributa
U optem sluaju to moe vaiti za podskupove atributa eme relacije
Definicija: Nad emom relacije R postoji funkcijska zavisnost XY ako u relaciji r vai da se svako r[X] preslikava na samo jedan element skupa r[Y]
26.4.2015 Predavanja 33
U praksi je uoeno 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 NAZIVO
Na osnovu prethodnog moe se izvesti da vai:SIFN, SIFO NAZIVN, NAZIVO
26.4.2015 Predavanja 34
Primer:za prethodnu emu relacije NASLOV vai i sledee:SIFN SIFO i SIFO NAZIVONa osnovu prethodnog moe se izvesti da jednoj ifri naslova odgovara samo jedan naziv oblasti:SIFN NAZIVO
Postoji minimalan skup pravila za izvoenje novih zavisnosti iz poetnih: Konani skup zavisnosti koji se moe izvesti iz
polaznih (kompletnost) Ne moe se izvesti ni jedna zavisnost koja ne
proizilazi iz polaznih (pouzdanost)26.4.2015 Predavanja 35
1. Armstrongovo pravilo: ReflektivnostYX R XYSvaki podskup atributa eme relacije jednoznano odreuje svaki svoj sastavni deo
Posebni sluajevi: za Y=X sledi X X, svaki podskup atributa
jednoznano odreuje sam sebe
za Y=0 sledi X , svaki podskup atributa jednoznano odreuje prazan skup
26.4.2015 Predavanja 36
2. Armstrongovo pravilo: UveanjeXY ZW XW YZ
Kod ovog pravila postoje tri specijalna sluaja 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
26.4.2015 Predavanja 37
Dodatna pravila
4. pravilo: UnijaXY X Z X YZ
5. pravilo: DekompozicijaXY ZY X Z
6. pravilo: PseudotranzijentnostXY WY Z XW Z
26.4.2015 Predavanja 38
Sadraj:
eme relacija loe strukture
Loe i dobre dekompozicije
Funkcijske zavisnosti
Dekompozicija skupa funkcijskih zavisnosti
Normalne forme
Postupci normalizacije
26.4.2015 Predavanja 39
Dekompozicija skupa funkcijskih zavisnosti
Dekompozicija je dobra ako su posle nje sauvani atributi i podaci
Pitanje: Ako je na polaznoj emi relacije R vaio neki skup funkcijskih zavisnosti F, kakve zavisnosti postoje posle dekompozicije
Funkcijske zavisnosti u RBP ogranienja izmeu nekih svojstava u sistemu koga ta RBP predstavlja.
Ogranienja uvek moraju biti ispotovana prilikom auriranja
26.4.2015 Predavanja 40
Ako vai XY, onda svakoj vrednosti X (ma koliko puta) mora da odgovara jedno Y
Mogua su dva sluaja: X i Y se nalaze unutar iste eme relacije
X i Y su u razliitim .r., ali se pojavljuju u jednoj relaciji nakon izvrenja upita
Primer 1: X i Y su u istoj emi relacije
Pored ostalog vai: SIFO NAZIVO
26.4.2015 Predavanja 41
naslov (SIFN NAZIV SIFO NAZIVO)RBP0 Relacione baze podataka BP Baze podatakaRK00 Raunarske komunikacije RM Raunarske mreePP00 PASCAL programiranje PJ Programski jeziciPJC0 Programski jezik C PJ Programski jezici
Pri unosu n-torki znamo za pravilo: Ne sme se ponoviti vrednost primarnog kljua
SIFN
Ne sme se uneti NULL vrednost
Kada se unosi n-torka i za SIFO unese PJ, samo prvi put se moe uneti proizvoljno NAZIVO
Ve u drugoj n-torci, unos ne moe biti slobodan, jer bi se u suprotnom pokvarila zavisnost SIFO NAZIVO
26.4.2015 Predavanja 42
Primer 2: (razdvojenost X i Y)
Pretpostavimo da je kod unosa zadnje n-torke u naslov1 grekom uneseno Baze podatakaumesto Programski jezici
26.4.2015 Predavanja 43
naslov2 (SIFN SIFO)RBP0 BPRK00 RMPP00 PJPJC0 PJ
naslov1 (SIFN NAZIVN NAZIVO)RBP0 Relacione baze podataka Baze podatakaRK00 Raunarske komunikacije Raunarske mreePP00 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 Raunarske mreePJ Programski jeziciPJ Baze podataka
Dobio bi se rezultat koji je u suprotnosti za zavisnou SIFO NAZIVO
26.4.2015 Predavanja 44
Dobar sistem za upravljanje RBP mora da sprei prethodna naruavanja
Zbog toga se, prilikom kreiranja BP, zadaju i dodatna ogranienja zasnovana na funk. zav.
ematski prikaz prethodne dekompozicije (SIFN je kandidat klju u bar jednoj relaciji):
26.4.2015 Predavanja 45
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 LOA DEKOMPOZICIJA26.4.2015 Predavanja 46
naslov(sifn,nazivn,sifo,nazivo)
naslov1(sifn,nazivn,nazivo)
naslov2(sifn, sifo)
sifn nazivn,sifo,nazivo
sifo nazivo
sifn nazivn,nazivo
sifn sifo
Bolja dekompozicija
Ne dovodi do gubitka skupa zavisnosti jesledea:
Ouvanje funkcijskih zavisnoti pri dekompoziciji: Ako se iz funkcijskih
26.4.2015 Predavanja 47
naslov(sifn,nazivn,sifo,nazivo)
naslov1(sifn,nazivn,sifo)
naslov2(sifo,nazivo)
sifn nazivn,sifo,nazivo
sifo nazivo
sifn nazivn,sifo
sifo nazivo
Sadraj:
eme relacija loe strukture
Loe i dobre dekompozicije
Funkcijske zavisnosti
Dekompozicija skupa funkcijskih zavisnosti
Normalne forme
Postupci normalizacije
26.4.2015 Predavanja 48
Funkcijske normalne forme i postupci normalizacije
Normalizacija - pogodna dekompozicija eme relacije u cilju otklanjanja anomalija auriranja
Uzroci anomalija su prisustvo neeljenih funkcijskih zavisnosti
Normalna forma odreeni kriterijumi valjanosti neke eme relacije
U nastavku se navode neki specijalni sluajevi funkcijskih zavisnosti
26.4.2015 Predavanja 49
Neka je R ema relacije, a X,Y i Z su podskupovi od R
Definicija 1Funkcijska zavisnost XY je superkljunaako vai XR
Definicija 2Funkcijska zavisnost XY je trivijalna ako vai YX
Definicija 3Funkcijska zavisnost je totalna ako ne postoji ni jedan pravi podskup Z od X za koji vai ZY odnosno: XY Z (ZX ZY)
26.4.2015 Predavanja 50
Definicija 4Funkcijska zavisnost je parcijalna ako postoji neki pravi podskup Z od X za koji vai ZY odnosno: XY Z (ZX ZY)
Definicija 5Funkcijska zavisnost XY je tranzitivnaako postoji neko Z, razliito od X i Y za koje vai:XZ i ZY
26.4.2015 Predavanja 51
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}
26.4.2015 Predavanja 52
Postoje sledei sluajevi specijalnih funkcijskih zavisnosti: superkljune
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
26.4.2015 Predavanja 53
Postupak normalizacije Neka polazna .r. nije u odreenoj
normalnoj formi, ako u skupu funkcijskih zavisnosti F postoji bar jedna koja naruava definiciju normalne forme
U svakom koraku normalizacije: uoava se jedna takva zavisnost (X Y) vri se dekompozicija u cilju uklanjanja takve zavisnosti Ako je u polaznoj vailo 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
26.4.2015 Predavanja 54
Druga normalna forma
Definicija:
.r. R je u II normalnoj formi ako nad njom ne postoji ni jedna funkcijska zavisnost, po kojoj neki ne-kljuni atribut parcijalno zavisi od bilo kog kandidat-kljua
Ili
.r. je u II normalnoj formi ako svi atributi entiteta, koji nisu primarni kljuevi, zavise od celog primarnog kljua
26.4.2015 Predavanja 55
Druga normalna forma
Primer:Posmatra se loa struktura relacijeAUTOR(SIFA,SIFN,IME,KOJI)
kao i skup funkcijskih zavisnostiF={SIFA,SIFNIME,KOJI SIFA IME}
U postupku normalizacije treba SIFA IMEizdvojiti u posebnu emu relacije, a iz polazne eme relacije ukloniti desnu stranu te zavisnosti, tj. IME.
26.4.2015 Predavanja 56
parcijalna zavisnost
Vri se sledea dekompozicija:
AUTOR(SIFA,SIFN,IME,KOJI) {SIFA,SIFNIME,KOJISIFA IME}
AUTOR1 (SIFA,SIFN,KOJI) {SIFA,SIFN KOJI}
AUTOR2 (SIFA,IME) {SIFA IME}
Dekompozicijom polazne relacije uklonjena je neeljena parcijalna funkcijska zavisnost
26.4.2015 Predavanja 57
Trea normalna forma Definicija:
.r. R je u III normalnoj formi ako nad njom ne postoji ni jedna funkcijska zavisnost, po kojoj neki ne-kljuni atribut tranzitivno zavisi od bilo kog kandidat-kljua
Uslovi za III normalnu formu (dozvoljene funkcijske zavisnosti): zavisnost XY je trivijalna tj. YX zavisnost je superkljuna, tj. XR Y je deo kandidat kljua, tj.
Z(YZ Z R) Svaka ema relacije koja je u III normalnoj formi
istovremeno je i u II normalnoj formi
26.4.2015 Predavanja 58
Primer:Posmatra se relacija o naslovima koja sadri sve podatke o naslovima, oblastima i autorima:
NASLOV(SIFN,SIFA,KOJI,NAZIVN,IME,SIFO,NAZIVO)
kao i odgovarajui skup funkcijskih zavisnosti:
F={ SIFN,SIFA KOJI,NAZIVN,IME,SIFO,NAZIVOSIFN NAZIVN,SIFO SIFA IMESIFO NAZIVO}
26.4.2015 Predavanja 59
Normalizacija primenom kriterijuma za III nor. formu:
NASLOV(SIFN,SIFA,KOJI,NAZIVN,IME,SIFO,NAZIVO)Uklanjamo zavisnost SIFONAZIVO
NASLOV1(SIFO,NAZIVO) {SIFONAZIVO}
NASLOV(SIFN,SIFA,KOJI,NAZIVN,IME,SIFO)Uklanjamo zavisnost SIFNNAZIVN,SIFONASLOV2(SIFN,NAZIVN,SIFO)
{SIFNNAZIVN,SIFO}NASLOV(SIFN,SIFA,KOJI,IME)
Uklanjamo zavisnost SIFAIME
NASLOV3(SIFA,IME) {SIFAIME}NASLOV4(SIFN,SIFA,KOJI) {SIFN,SIFAKOJI}
26.4.2015 Predavanja 60
Bojs-Kodova normalna forma
Definicija:.r. R je u Bojs-Kodovoj normalnoj formi ako svaka funkcijska zavisnost XY koja vai nad njom zadovoljava jedan od uslova:
zavisnost je trivijalna tj. YX zavisnost je superkljuna, tj. XR
U odnosu na III normalnu formu, stroija definicija
Eliminiu se dodatne tranzitivne zavisnosti
ema relacije u Bojs-Kodovoj normalnoj formi je istovremeno i u III normalnoj formi
26.4.2015 Predavanja 61
Primer:Posmatra se ema relacije o pozajmicama, koja sadri podatke o naslovima, lanovima i knjigama:
POZAJMICA(SIFN,SIFC,DANA,NAZIVN,SIFK)
kao i odgovarajui skup funkcijskih zavisnosti:
F={ SIFN,SIFC,DANA NAZIVN,SIFKSIFK SIFN SIFN NAZIVN}
26.4.2015 Predavanja 62
Normalizacijom se dobija sledea dekompozicija:
POZAJMICA(SIFN,SIFC,DANA,NAZIVN,SIFK) Uklanjamo zavisnost SIFNNAZIVNPOZAJMICA1(SIFN,NAZIVN)
POZAJMICA(SIFN,SIFC,DANA,SIFK) Uklanjamo zavisnost SIFKSIFNPOZAJMICA2(SIFK,SIFN)
POZAJMICA3(SIFK,SIFC,DATUM)
26.4.2015 Predavanja 63
Prva normalna forma Dolazi do izraaja nova vrsta zavisnosti, koja nije
funkcijskog karaktera
U svim dosadanjim primerima podrazumevano je da su vrednosti svih atributa skalari (a ne i vektori)
Ovo je ogranienje nad tipovima atributa, koje ne postoji u savremenim programskim jezicima
Primer:
26.4.2015 Predavanja 64
je_autor ( SIFN SIFA KOJI)RBP0 AP0 1
JN0 2RK00 DM0 1PP00 ZP0 1
DM0 2IT0 3
PJC0 AP1 1ZP0 2
Uobiajeno je da se zapis vri na sledei nain:JE_AUTOR(SIFN, (SIFA, KOJI))
U klasinim informacionim sistemima reenja su bila sledea:JE_AUTOR(SIFN, SIFA1, KOJI1, SIFA2, KOJI2,...)
Ovakvo reenje podrazumeva promenljivu duinu sloga, pa se onemoguava rad sa direktnim pristupom
Ako se unapred fiksira duina sloga, ograniavamo maksimalni broj autora
Postavljanje upita sa ovakvom strukturom je izuzetno teko
26.4.2015 Predavanja 65
Definicija:.R. je u 1NF, ako je svaki njen atribut skalarnog tipa vrednost svakog atributa je jednostruka i nedeljiva
Normalizacija se formalno prikazuje:R(X,(Y)) R1(X,Y)
Primer:Posmatra se .r.JE_AUTOR(SIFN,(SIFA,KOJI)), nad kojim vai:F={SIFN(SIFA,KOJI), SIFN,SIFA KOJI}
Normalizacijom se dobijaJE_AUTOR1(SIFN,SIFA,KOJI), pri emu je:F1={SIFN,SIFA KOJI}
26.4.2015 Predavanja 66
Normalizacijom relacije je_autor, dobija se relacija je_autor1
26.4.2015 Predavanja 67
je_autor ( SIFN SIFA KOJI)RBP0 AP0 1
JN0 2RK00 DM0 1PP00 ZP0 1
DM0 2IT0 3
PJC0 AP1 1ZP0 2
je_autor1 ( SIFN SIFA KOJI)RBP0 AP0 1RBP0 JN0 2RK00 DM0 1PP00 ZP0 1PP00 DM0 2PP00 IT0 3PJC0 AP1 1PJC0 ZP0 2
1NF
1NF
Primer: Studenti i sportske sekcije
Indeks Ime i prezime Sekcija152/2002 Marko Markovi Fudbal193/2003 Petar Petrovi Koarka, Fudbal, Plivanje98/2002 Jelena Jankovi Tenis
Indeks Ime Prezime Sekcija152/2002 Marko Markovi Fudbal193/2003 Petar Petrovi Koarka193/2003 Petar Petrovi Fudbal193/2003 Petar Petrovi Plivanje98/2002 Jelena Jankovi Koarka
26.4.2015 Predavanja 68
1NF
1NF
1NF Atributi skalarnog tipa
2NF Nema parcijalne zavisnosti ne-kljunog atributa od kandidat kljua
3NF Nema tranzitivne zavisnosti ne-kljunog atributa od kandidat kljua
BC NF Nema dodatnih tranzitivnih zavisnosti
26.4.2015 Predavanja 69
slabo
strogo