normalne forme zasnovane na funkcionalnoj...

31
NORMALNE FORME ZASNOVANE NA FUNKCIONALNOJ ZAVISNOSTI Gordana Pavlović-Lažetić Matematički fakultet, Beograd šk. 2018/19.

Upload: others

Post on 07-Feb-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

  • NORMALNE FORMEZASNOVANE NAFUNKCIONALNOJZAVISNOSTI

    Gordana Pavlović-Lažetić

    Matematički fakultet, Beograd

    šk. 2018/19.

  • Druga normalna forma – 2NF

    IZDAVAC, IZDANJA – ne pokazuju anomalijeIZDAVAC * IZDANJA = R

    • Definicija. Za funkcionalnu zavisnost X → Y kaže se da je potpuna ako ni za jedan pravi podskup X’ od X, Y ne zavisifunkcionalno od X’. Ako za neki podskup X’ od X važi X’ → Y, funkcionalna zavisnost X → Y zove se parcijalna.

    • Definicija. Atribut A relacije R je sporedan u toj relaciji ako ne učestvuje ni u jednom ključu te relacije; u suprotnom je atribut A ključni atribut. Neka je X skup svih sporednih atributa relacije R. Relacija R je u drugoj normalnoj formi, u oznaci 2NF, ako svakiatribut iz X potpuno funkcionalno zavisi od svakog ključa relacijeR.

    2/31

  • Anomalije unošenja, brisanja, ažuriranja

    R

    Jedina FZ: I_SIF -> NAZIV

    Jedini (primarni) ključ: {I_SIF, K_SIF}

    Anomalija unošenja: ne može da se unese novi izdavač (i2, Addison Wesley) bez izdate knjige

    Anomalija brisanja: brisanjem izdanja knjige k4 briše se i izdavač i4Anomalija ažuriranja: promena naziva izdavača kod svih njegovih izdanja

    I_SIF K_SIF NAZIV

    i1 k1 Prosveta.

    i3 k2 Decje novine

    i3 k3 Decje novine

    i4 k4 Matica srpska

    i5 k1 Prosveta

    i5 k2 Prosveta

    3/31

  • Anomalije unošenja, brisanja, ažuriranja

    Uzrok anomalija u R:

    semantički: entitet IZDAVAČ i odnos IZDAVAČ-KNJIGA „sintaksni“: I_SIF -> NAZIV, I_SIF pravi podskup ključa

    - parcijalna zavisnost sporednog atributa od ključaRešenje:

    semantičko: razdvojiti entitet IZDAVAČ i odnos IZDAVAČ-KNJIGA u dve relacije

    „sintaksno“: projektovanje po FZ I_SIF -> NAZIV

    R[I_SIF, NAZIV] = IZDAVAC R[I_SIF,K_SIF] =IZDANJA

    I_SIF NAZIV

    i1 Prosveta

    i3 Decje novine

    I4 Matica srpska

    i5 Prosveta

    I_SIF K_SIF

    i1 k1

    i3 k2

    i3 k3

    i4 k4

    i5 k1

    i5 k2

    4/31

  • Druga normalna forma – 2NF

    • Teorema. (2NF normalizacija) Ako relacija R(A1, ...,An) nije u 2NF, onda postoji dekompozicija relacije R u skup njenih projekcija koje su u 2NF, a iz kojih se operacijom prirodnog spajanja može ponovo dobiti relacija R.

    • Algoritam 2NF normalizacije

    • Ulaz: relacija R sa atributima A1,...,An i skupom FZ F;

    • Izlaz: skup R1,...,Ri (i ≥ 1) projekcija relacije R, koje su sve u 2NF i za koje važi: ako je i = 1, onda je R1≡R; ako je i > 1, onda je

    • R = R1*R2*...* Ri;

    5/31

  • Druga normalna forma – 2NF

    BEGIN

    i := 1;

    WHILE relacija R nije u 2NF DO

    BEGIN

    uočiti parcijalnu FZ X → A, (A- atribut, X-podskup od Atr(R)) sporednog atributa A od ključa X;neka je X = X’X’’, gde je X’ →A potpuna FZ;neka je Z skup atributa relacije R bez X i A;

    zameniti relaciju R njenim projekcijama R[XZ];R[X’A];

    Ri := R[X’A];

    i := i + 1;

    R := R[XZ]

    END;

    Ri := R

    END.

    6/31

  • Druga normalna forma – 2NF

    • Relacija R[X’A] je u 2NF

    • R[XZ] je u 2NF ili ulazi u algoritam 2NF normalizacije

    • Postupak je korektan (R[X’A]*R[XZ]=R)

    • Postupak je konačan• Efikasnost: R[X’Y] umesto R[X’A] za sve sporedne atribute (Y)

    koji su parcijalno zavisni od X a potpuno od X’

    7/31

  • Treća normalna forma – 3NF

    I relacija u 2NF može da pokazuje anomalijePosledica druge vrste nepoželjnih odnosa među atributima- tranzitivne zavisnosti sporednih atributa od ključa Primer: S(P_SIF, I_SIF, DRZAVA)

    • predstavljen tip entiteta IZDAVAČ (atributi I_SIF i DRZAVA) i odnos tog tipa entiteta sa tipom entiteta PISAC (predstavljen atributom P_SIF)

    • Neka je PK u relaciji S atribut P_SIF,

    • Neka važe FZ P_SIF → I_SIF i I_SIF → DRZAVA• Neka NE VAŽE FZ I_SIF → P_SIF ni DRZAVA → I_SIF• (interpretacija)

    • Anomalija unošenja

    • Anomalija brisanja

    • Anomalija ažuriranja

    8/31

  • Treća normalna forma – 3NF

    • Relacija S je u 2NF

    • Anomalije su posledica tzv. tranzitivne zavisnosti sporednog atributa DRZAVA od ključa P_SIF

    • Otklanjaju se zamenom relacije S projekcijama

    • S[I_SIF,DZAVA]

    • S[P_SIF,I_SIF]

    • U 3NF

    • Bez gubitka informacije

    9

  • Treća normalna forma – 3NF

    • Definicija. Neka su X,Y,Z skupovi atributa relacije R(A1,…, An). Kaže se da skup atributa Z tranzitivno zavisi od X ako važi

    X → Y, Y → Z, i ne važi Y →X . • Definicija. Relacija R je u trećoj normalnoj formi (u oznaci 3NF)

    ako je u 1NF i nijedan njen sporedni atribut ne zavisi tranzitivno niod jednog njenog ključa.

    • Ako je relacija R u 3NF, onda je relacija R u 2NF

    • Teorema (3NF normalizacija). Ako relacija R(A1,…,An) nije u 3NF, onda postoji dekompozicija relacije R u skup njenih projekcija koje jesu u 3NF, koje čuvaju sve polazne FZ relacije R, a iz kojih se operacijom prirodnog spajanja može ponovo dobitirelacija R.

    10/31

  • Treća normalna forma – 3NF

    • Algoritam 3NF normalizacije

    • Ulaz: relacija R sa atributima A1, ..., An i skupom FZ F;

    • Izlaz: skup R1,...,Rm (m ≥ 1) projekcija relacije R, koje su sve u 3NF i za koje važi: ako je m = 1, onda je R1 ≡ R; ako je m > 1, onda je R = R1*R2*...* Rm;

    11/31

  • Treća normalna forma – 3NF

    BEGINi := 1;WHILE relacija R nije u 3NF, DOBEGIN

    uočiti tranzitivnu zavisnost X → Y, Y → A, NIJE Y → X , sporednog atributa A od ključa X, za koju je Y → A potpuna

    funkcionalna zavisnost;neka je Z skup atributa relacije R bez X i A;zameniti relaciju R projekcijama R[YA]; R[XZ];Ri := R[YA];i := i + 1;R := R[XZ]

    END;Ri := R

    END.

    12/31

  • Treća normalna forma – 3NF

    • Algoritam 3NF normalizacije je korektan

    • Algoritam 3NF normalizacije je konačan

    • Algoritam 3NF normalizacije može da popravi efikasnost: R[YW] umesto R[YA] za sve sporedne atribute (W) koji su tranzitivno zavisni od ključa i netranzitivno zavisni od Y

    13/31

  • Algoritam sinteze 3NF relacija

    • Algoritmi dekompozicije (analize): univerzalna relacija

    • Usitnjene relacije, veliki broj

    • Algoritam sinteze minimalnog broja relacija u 3NF

    • Polazi od skupa funkcionalnih zavisnosti nad skupom atributa

    • Ne uključuje koncept univerzalne relacije niti ključa

    • Algoritam se zasniva na

    • algebri funkcionalnih zavisnosti,

    • Armstrongovim aksiomama,

    • pojmu zatvorenja i pokrivanja skupa funkcionalnih zavisnosti

    • i pretpostavci o jedinstvenosti funkcionalne zavisnosti

    14/31

  • Algoritam sinteze 3NF relacija

    • Algoritam sinteze 3NF relacija iz zadatog skupa funkcionalnih zavisnosti

    • Ulaz: skup F funkcionalnih zavisnosti;

    • Izlaz: minimalni skup relacija R1,...,Rm koje su u 3NF i kojezadovoljavaju sve funkcionalne zavisnosti iz F;

    • koraci:

    1.Eliminacija nebitnih atributa: eliminisati nebitne atribute iz levih strana FZiz F; neka je G tako dobijeni skup FZ.

    2.Nalaženje pokrivanja: naći neredundantno pokrivanje H skupa G.

    3.Particionisanje: particionisati skup H u particije H1,...,Hk tako da svefunkcionalne zavisnosti u jednoj particiji imaju identične leve strane.

    15/31

  • Algoritam sinteze 3NF relacija

    4.Spajanje ekvivalentnih ključeva: za svaki par particija Hi;Hj sa levimstranama X,Y, redom, takvim da postoje obe FZ X → Y; Y → X u H+,spojiti particije Hi i Hj i dodati FZ X → Y, Y → X skupu “dvostranih” FZ J. Iz H izbrisati svaku FZ oblika X → A za A iz Y, i svaku FZ oblika Y → B za B iz X.

    5.Eliminacija tranzitivnih zavisnosti: naći podskup H’ skupa FZ H takav da je (H’ J)+ = (H J)+, i da nijedan pravi podskup od H’ nema to svojstvo. Dodati svaku FZ iz J odgovarajućoj particiji iz H’.

    6.Konstruisanje relacija: za svaku particiju FZ iz H’ konstruisati relaciju kojasadrži sve atribute te particije. Leva strana svake funkcionalne zavisnostije jedan ključ relacije, a svaki takav ključ zove se sintetizovani ključ.

    16/31

  • Algoritam sinteze 3NF relacija

    Neredundantno pokrivanje (korak 2.) može da se odredi algoritmom NEREDUND

    Tranzitivne zavisnosti (korak 5.) mogu da se eliminišu algoritmom ČLAN

    Složenost algoritma je kvadratna u odnosu na dužinu niske kojom se zadaju funkcionalne zavisnosti polaznog skupa F

    17/31

  • Algoritam sinteze 3NF relacija

    • Primer: Neka je dat skup FZ

    F = {A → B; A → C; B → C; B → D; D → B; ABE → F}.

    Primena algoritma sinteze 3NF relacija odvija se u sledećim koracima:

    1.(eliminacija nebitnih atributa):

    G = {A → B; A → C; B → C; B → D; D → B; AE → F}

    2.(nalaženje pokrivanja): H = {A → B; B → C; B → D; D → B; AE → F};

    3.(particionisanje):

    H1 = {A → B}

    H2 = {B → C; B → D}

    H3 = {D → B}

    H4 = {AE → F};

    18

  • Algoritam sinteze 3NF relacija

    4.(spajanje ekvivalentnih ključeva):H1 = {A → B}H2 = {B → C}H3 = {AE → F}J = {B → D; D → B}

    5.(eliminacija tranzitivnih zavisnosti): H’ = H

    H’1 = {A → B}H’2 = {B → C; B → D; D → B}H’3 = {AE → F}

    6.(konstruisanje relacija):

    R1(A;B) (ključ A),R2(B;C;D) (ključ B; ključ D),R3(A;E; F) (ključ {A;E})

    19/31

  • Boyce-Codd normalna forma - BCNF

    I relacija u 3NF može da pokazuje anomalijePosledica tranzitivne zavisnosti ključnog atributa od ključa• Primer: R(I_SIF, NAZIV, K_SIF, TIRAZ)

    • Važe funkcionalne zavisnosti:

    • {I_SIF, K_SIF} → TIRAZ;• I_SIF → NAZIV; NAZIV → I_SIF; • {NAZIV, K_SIF} → TIRAZ. • Jedan ključ relacije R je par atributa (I_SIF, K_SIF), • Drugi ključ (kandidat za ključ) je par atributa (NAZIV, K_SIF).• R u 3NF

    • Anomalije, npr. promena naziva izdavača uz svaku izdatu knjigu• Uzrok: tranzitivna zavisnost ključnog atributa NAZIV od ključa: • {I_SIF,K_SIF} →I_SIF, I_SIF →NAZIV, NE VAŽI I_SIF →{I_SIF,K_SIF}

    20/31

  • Boyce-Codd normalna forma - BCNF

    Zamenom relacije R projekcijama

    R[I_SIF, NAZIV], R[I_SIF, K_SIF, TIRAZ]

    • Uklanjaju se anomalije

    • Dekompozicija korektna

    • Projekcije su u tzv. BCNF

    • Definicija. Relacija R(A1,…,An) je u Boyce-Codd-ovoj normalnoj formi (uoznaci BCNF) ako egzistencija FZ X → Y , gde je X,Y ⊆ {A1,…,An} i X∩Y =Ø, povlači egzistenciju FZ X → Ai, za svako i = 1,2,…,n.

    • Sve FZ su posledica ključa

    21

  • Boyce-Codd normalna forma - BCNF

    • Teorema (BCNF normalizacija). Ako relacija R(A1,...,An) nije u BCNF, onda postoji dekompozicija relacije R u skup njenih projekcija koje su u BCNF, a iz kojih se operacijom prirodnog spajanja može ponovo dobitirelacija R.

    • Algoritam BCNF normalizacije

    • Ulaz: relacija R sa atributima {A1,...,An} i skupom FZ F;

    • Izlaz: skup R1,…,Rm (m ≥ 1) projekcija relacije R, koje su sve u BCNF i za koje važi: ako je m = 1, onda je R1 ≡ R; ako je m > 1, onda je R = R1*R2*...*Rm;

    22/31

  • Boyce-Codd normalna forma - BCNF

    BEGIN

    IF relacija R nije u BCNF, THEN

    BEGIN

    uočiti funkcionalnu zavisnost X → Y u kojoj leva stranaX nije ključ relacije R i X∩Y =Ø ;

    neka je Z = Atr(R) \ XY ;

    zameniti relaciju R njenim projekcijama R[XY ],R[XZ];

    ponoviti rekurzivno algoritam za relaciju R[XY ];

    ponoviti rekurzivno algoritam za relaciju R[XZ]

    END

    ELSE

    izdati relaciju R na izlazu

    END.

    23/31

  • Boyce-Codd normalna forma - primer

    • Relacija SPN( STUDENT, PREDMET, NASTAVNIK)

    • važe FZ:

    • {STUDENT,PREDMET} → NASTAVNIK,• NASTAVNIK → PREDMET, ali• NE VAŽI PREDMET → NASTAVNIK• Interpretacija

    • PK: (STUDENT, PREDMET)

    • SPN u 3NF, nije u BCNF

    • SPN[STUDENT,NASTAVNIK], SPN[NASTAVNIK,PREDMET] u BCNF

    • Jedina netrivijalna FZ je NASTAVNIK → PREDMET• Iz nje se ne izvodi FZ {STUDENT,PREDMET} → NASTAVNIK • Projekcije se ne mogu nazavisno ažurirati

    • Dekompozicija nije poželjna

    24/31

  • Odnos normalnih formi

    • Teorema: Neka je 2NFRel oznaka za skup relacija koje su u 2NF, slično 3NFRel, BCNFRel. Tada važe inkluzije

    • BCNFRel 3 3NFRel 2NFRel. Ove inkluzije su stroge (kaošto pokazuju uvodni primeri za definicije 3NF i BCNF).

    25/31

  • Dobre i loše dekompozicije

    • Dobre, korektne ali nekorisne, nekorektne

    • Na primer, u relaciji

    • IZDAVAC(I_SIF,STATUS, DRZAVA)

    važe FZ I_SIF → DRZAVA, DRZAVA → STATUS, a prema tranzitivnosti i FZ I_SIF → STATUS

    • Nije u 3NF

    26/31

  • Dobre i loše dekompozicije

    • Dekompozicija na 3 načina:

    • A:

    I1(I_SIF, DRZAVA) = IZDAVAC[I_SIF, DRZAVA]

    I2(DRZAVA, STATUS) = IZDAVAC[DRZAVA, STATUS]

    • B:

    I1( I_SIF, DRZAVA) = IZDAVAC[I_SIF, DRZAVA]

    I3(I_SIF, STATUS) = IZDAVAC[I_SIF, STATUS]

    • C:

    I2(DRZAVA, STATUS) = IZDAVAC[DRZAVA, STATUS]

    I3(I_SIF, STATUS) = IZDAVAC[I_SIF, STATUS]

    27/31

  • Dobre i loše dekompozicije

    • A: korektna i korisna (dobra)

    • B: korektna i nekorisna (FZ DRZAVA → STATUS se ne može izvesti u projekcijama I1, I3)

    • C: nije korektna jer nije izvedena po FZ

    • Pravila dekompozicije:1. zajednički atributi projekcija moraju biti ključ u bar jednoj od projekcija (da bi

    se informacija sačuvala);2. potrebno je da se sve FZ polazne relacije mogu izvesti iz FZ u projekcijama

    dobijenim dekompozicijom;

    • kada su zadovoljena oba pravila, dobijene projekcije su nezavisne u smisluda se mogu nezavisno ažurirati; u slučaju da se drugo pravilo ne može primeniti (kao u nekim slučajevima BCNF dekompozicije), dekompozicija je nekorisna.

    28

  • Normalizacija- primer• Baza podataka sadrži podatke o predavanjima, sa informacijama o predavaču

    (lični broj, ime, zvanje, naučni stepen), predmetu (šifri predmeta, nazivu, smeru, godini predavanja, fondu časova), vremenu i mestu održavanja. Logičkoprojektovanje relacione baze metodom normalnih formi polazi od univerzalne relacije koja sadrži sve navedene informacije kao svoje atribute i koja je u 1NF (atributi primarnog ključa su podvučeni):

    • predavanje( predavač#, ime, zvanje, stepen, šifra_predmeta, naziv,šifra_smera, naziv smera, godina, fond_časova, vreme, br.sale, sprat)

    • Funkcionalne zavisnosti u ovoj relaciji su:

    • 1. predavač# → ime, zvanje, stepen• 2. šifra_predmeta → naziv• 3. šifra_predmeta, šifra_smera → godina, fond_časova• 4. šifra_predmeta, šifra_smera, predavač#, vreme → br_sale, sprat• 5. šifra smera → naziv_smera• 6. br.sale → sprat

    29/31

  • Normalizacija- primer• Iz funkcionalnih zavisnost 1, 2, 3 i 5, sledi parcijalna zavisnost sporednih

    atributa ime, zvanje, stepen, naziv, godina, fond_časova i naziv_smera, od primarnog ključa

    • 2NF normalizacija proizvodi 2NF relacije:

    • 1. predavač (predavač#, ime, zvanje, stepen )

    • 2. predmet (šifra_predmeta, naziv)

    • 3. predmet-smer (šifra_predmeta, šifra_smera, godina, fond_časova )

    (ova se relacija može nazvati i “nastavni plan”)

    • 4. smer (šifra_smera, naziv_smera )

    • 5. predavanje2 (predavač#, šifra_predmeta, šifra_smera, vreme, br.sale, sprat)

    30/31

  • Normalizacija- primer• Relacije 1-4 su i u 3NF

    • Relacija predavanje2 ima tranzitivnu zavisnost sporednog atributa sprat od kluča {predavač#, šifra_predmeta, šifra_smera, vreme}, pa se zamenjuje 3NF projekcijama

    • sala ( br.sale, sprat)

    • predavanje3 ( predavač#, šifra_predmeta, šifra_smera, vreme, br.sale)

    • Rezultat logičkog projektovanja je skup relacija

    {predavač, predmet, predmet-smer, smer, sala, predavanje3}

    31/31