baze8_zavisnost i normalne forme (1)

69
26.4.2015 Predavanja 1 Zavisnost i normalne forme

Upload: pera-sreda-geometrija

Post on 17-Dec-2015

17 views

Category:

Documents


4 download

DESCRIPTION

Baze8_Zavisnost i Normalne Forme (1)

TRANSCRIPT

  • 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