Funkcijske zavisnosti u bazama podataka

Page 1

Zoran Hercigonja, mag.edu.inf.

ISBN 978-953-59549-2-7


Funkcijske zavisnosti

priručnik za početnike

Impressum: Naslov: Funkcijske zavisnosti u bazama podataka Autor: Zoran Hercigonja, mag.edu.inf. Lektor: Adela Brozd Nakladnik: Vlastita naklada autora Url: https://issuu.com Mjesto i godina izdavanja: Varaždin, 2017.

ISBN 978-953-59549-2-7

Zoran Hercigonja, mag.edu.inf.

2


Funkcijske zavisnosti

priručnik za početnike

Sadržaj 1.Uvod .................................................................................................................................................. 4 2. Funkcijska zavisnost ........................................................................................................................ 5 2.1. Tipovi funkcijskih zavisnosti .................................................................................................... 6 2.1.1. Trivijalna zavisnost: ........................................................................................................... 6 2.1.2. Parcijalna zavisnost: ........................................................................................................... 7 2.1.3.Tranzitivna funkcijska zavisnost:........................................................................................ 7 3.Dekompozicija .................................................................................................................................. 8 4.Normalne forme .............................................................................................................................. 12 4.1.Prva normalna forma ................................................................................................................ 12 4.2.Druga normalna forma ............................................................................................................. 14 4.3.Treća normalna forma .............................................................................................................. 15 4.4.Četvrta normalna forma(4NF) ................................................................................................. 19 4.4.1.Višeznačne zavisnosti ....................................................................................................... 19 4.5.Peta normalna forma (5NF) ..................................................................................................... 22 4.5.1. Spojna zavisnost................................................................................................................... 20 5.Zaključak ......................................................................................................................................... 25 6. Literatura ........................................................................................................................................ 25

Zoran Hercigonja, mag.edu.inf.

3


Funkcijske zavisnosti

priručnik za početnike

1.Uvod Svaki informacijski sustav u vidu korisničke aplikacije posjeduje svoju bazu podataka koja mu omogućuje nesmetan i funkcionalan rad bez poteškoća i mogućeg zastoja. No takva baza podataka se smatra valjanom ukoliko relacije odnosno veze izmeĎu pojedinnih entiteta zadovoljavaju ograničenje. Ograničenje u relacijskom tipu baza podataka definiramo kao funkcijsku zavisnosti. Zavisnosti predstavljaju odreĎena semantička ograničenja (uvjeti integriteta) na sadržaj relacija (veza) u bazi podataka. Ovaj rad je isključivo posvećen razumijevanju funkcijskih zavisnosti da bi se na taj način prikazala jasna ograničenja bez kojih relacijski tip baze podataka ne bi bio konzistentan. Može se smatrati i kratkim priručnikom za rješavanje problema funkcijskih zavisnosti. U priručniku će biti detaljno definiran pojam funkcijskih zavisnosti kao i konkretno prikazana funkcijska ograničenja u vidu normalnih formi, dekompozicije trivijalne, tranzitivne te parcijalne zavisnosti. Priručnik je pisan na način da svojim primjerima olakša razumijevanje funkcijskih zavisnosti te postupak normalizacije za one koji se po prvi puta susreću s time.

Zoran Hercigonja, mag.edu.inf.

4


Funkcijske zavisnosti

priručnik za početnike

2. Funkcijska zavisnost Funkcijska zavisnost predstavlja najjednostavnije ograničenje. Ako su X i Y skupovi atributa relacije R, relacija R zadovoljava uvjete funkcijske zavisnosti XY ako u svakom trenutku za svaku X-vrijednost x postoji samo jedna Y-vrijednost y.1 Funkcijske zavisnosti obuhvaćaju normlizaciju i normalne forme i to 1NF, 2NF, 3NF i BCNF. Najlakši način za objasniti funkcijsku zavisnost je upravo primjer funkcijske zavisnosti. Primjer 1.(Funkcijska zavisnost): Uzmimo za primjer relaciju R = Radnik#, Odjel#, Poslovođa# Ako sada taj izraz pretvorimo u konkretnu relaciju, on će izgledati ovako:

r(Radnik# Odjel# Poslovođa#) ======================== R1 O1 P1 R2 O1 P1 R3 O2 P2 sl.1. Funkcijska zavisnost2

Semantika: (x, y, z)  r znači da radnik x radi u odjelu y čiji je poslovoĎa z . U relaciji r vrijedi: svakom radniku odgovara točno jedan odjel. Kažemo da funkcijska zavisnost Radnik#  Odjel# vrijedi u relaciji r . U relaciji r ne vrijedi funkcijska zavisnost Odjel#  Radnik# , jer svakom odjelu ne odgovara točno jedan radnik; odjelu O1 odgovaraju radnici R1 i R2 . Ako su u relacijskoj shemi definirana ograničenja, provjerom se može utvrditi da li ih relacija zadovoljava odnosno da li je relacija „legalna“. Relacija je legalna ako u njoj pohranjeni podaci zadovoljavaju sva ograničenja definirana njezinom relacijskom shemom.3 1 2

Mladen Varga Baze podataka, Konceptualno, logičko i fizičko modeliranje podataka DRIP Zagreb, 1994. Prof. dr. sc. Mirko Maleković, predavanja Baze podataka 2 (2011.)

Zoran Hercigonja, mag.edu.inf.

5


Funkcijske zavisnosti

priručnik za početnike

Neka su u relacijskoj shemi: PARTNER1 (PARTNER_SIFRA, PARTNER_NAZIV, PARTNER_ADRESA, MB) zadane funkcijske zavisnosti: PARTNER_SIFRA  PARTNER_NAZIV, PARTNER_SIFRA  PARTNER_ADRESA PARTNER_SIFRA  MB. PARTNER1 PARTNER_SIFRA 10 20 30 30

PARTNER_NAZIV Zagreb d.o.o. Horizont d.d. Josip Ferić Amalija d.d.

PARTNER_ADRESA Zagreb Sesvete Dugo Selo Pula

MB 3 5 11 9

sl.2.Nelegalna relacija PARTNER1 Relacija je nelegalna jer ne zadovoljava spomenute funkcijske zavisnosti. PARTNER_SIFRAPARTNER_NAZIV ne vrijedi, jer poslovni partner s brojem 30 ima dva naziva. Funkcijske zavisnosti potpuno su aksiomatizirane, jer postoji skup aksioma koji potpuno definira svojstva finkcijskih zavisnosti. Osnovni aksiomi:   

F1. Refleksivnost: ako je Y podskup od X, tada X  Y, F2.Proširenje: ako X  Y, tada XZ  Y, F3.Pseudotranzitivnost: ako X  Y i YZ  W, tada XZ  W.

Ostali (izvedeni) aksiomi su:   

F4. Tranzitivnost: ako X  Y, tada Y  Z i X  Z F5. Aditivnost: ako X  Y tada X  Y1 i X  YY1 F6. Projektvinost: ako X  YZ, tada X  Y.

2.1. Tipovi funkcijskih zavisnosti Funkcijske zavisnosti možemo podijeliti na trivijalnu, parcijalnu i tranzitivnu zavisnost. 2.1.1. Trivijalna zavisnost: Trivijalna zavisnost znači X  Y je trivijalna ako je Y  X.

3

Mladen Varga Baze podataka, Konceptualno, logičko i fizičko modeliranje podataka DRIP Zagreb, 1994.

Zoran Hercigonja, mag.edu.inf.

6


Funkcijske zavisnosti

priručnik za početnike

Funkcijska zavisnost je trivijalna ukoliko vrijedi AB  A, B   Funkcijska zavisnost je netrivijalna ukoliko vrijedi ABBC,   A

Propozicija : Neka je X  Y  FZ(R) trivijalna f.z. Tada X  Y vrijedi u svakoj relaciji r nad R . 2.1.2. Parcijalna zavisnost: Neka je (R, F) relacijska shema, X  Y  FZ(R). X  Y je parcijalna s obzirom na F ako X1  X : F  X1  Y. Primjer 2: Neka je (R, F) relacijska shema, X  Y  FZ(R). X Y je parcijalna s obzirom na F ako X1  X : F  X1  Y

X Y X 1

sl.1.Parcijalna zavisnost 2.1.3.Tranzitivna funkcijska zavisnost: (R, F) , X  Z  FZ(R) . X  Z je tranzitivna funkcijska zavisnost s obzirom na F ako Y  R : (1) F ö X  Y, (2) F ö Y  Z i Y  Z je netrivijalna f.z.(nfz) (3) F û Y  X X

nfz Y

Z sl.3.Tranzitivni dijagram

Zoran Hercigonja, mag.edu.inf.

7


Funkcijske zavisnosti

priručnik za početnike

3.Dekompozicija Normalizacija relacije je postupak prevoĎenja relacije iz niže u višu normalnu formu. Ona se obavlja dekompozicijom, rastavljanjem realcije na dvije ili više relacija u višoj normalnoj formi. Dekompozicija se provodi sve dok se ne dobije skup realacija u traženoj normalnoj formi.4 Dekompozicija relacije R zamjena je relacije R s dvije relacije R1 i R2 koje mogu imati zajedničke atribute R1. X i R2.X. Ako SPOJ(PROJEKCIJA(R,R1), PROJEKCIJA(R, R2), R1-X*R2.X)=R, relacija je dekomponirana bez gubitka informacija, odnosno dekompozicija je pouzdana.

RADNIK MB R1 R2 R3 R4 R5 R6

ODJEL O1 O1 O2 O2 O3 O4

SEKTOR S1 S1 S1 S1 S2 S2

sl.4.Relacija RADNIK Relacija koja će poslužiti kao primjer pouzdane i nepouzdane dekompozicije, opisana je shemom RADNIK(MB, ODJEL, SEKTOR). Značenje je sljedeće: „radnik s matičnim brojem radi u odjelu i sektoru“ U relaciji vrijede funkcijske zavisnosti (MBODJEL, MBSEKTOR) i MBSEKTOR.

4

Mladen Varga Baze podataka, Konceptualno, logičko i fizičko modeliranje podataka DRIP Zagreb, 1994.

Zoran Hercigonja, mag.edu.inf.

8


Funkcijske zavisnosti

priručnik za početnike

SPOJ(ODJEL, RADNIK1,ODJEL.ODJEL*RADNIK1.ODJEL) MB R1 R2 R3 R4 R5 R6

ODJEL O1 O1 O2 O2 O3 O4

ODJEL ODJEL O1 O2 O3 O4

SEKTOR S1 S1 S1 S1 S2 S2 RADNIK1

SEKTOR S1 S1 S2 S2

ODJELSEKTOR

MB R1 R2 R3 R4 R5 R6

ODJEL O1 O1 O2 O2 O3 O4

MBODJEL sl.5. Prva dekompozicija relacije RADNIK

Zoran Hercigonja, mag.edu.inf.

9


Funkcijske zavisnosti

priručnik za početnike

Dekompozicija je pouzdana jer vrijedi: SPOJ(ODJEL,RADNIK1,ODJEL.ODJEL*RADNIK1.ODJEL)=RADNIK to jest prirodni spoj relacija ODJEL i RADNIK1 jednak je početnoj realciji RADNIK.

Drugi primjer dekompozicije čine projekcije realcije RADNIK na relacije ODJEL i RADNIK2.

SPOJ(ODJEL,RADNIK2,ODJEL.SEKTOR*RAD)NIK2.SEKTOR) MB

ODJEL

R1 R2 R3 R4 R1 R2 R3 R4 R5 R6 R5 R6

O1 O1 O1 O1 O2 O2 O2 O2 O3 O3 O4 O4

SEKTOR S1 S1 S1 S1 S1 S1 S1 S1 S2 S2 S2 S2

ODJEL ODJEL O1 O2 O3 O4

SEKTOR S1 S1 S2 S2

ODJELSEKTOR

sl.6.Druga dekompozicija relacije RADNIK

RADNIK2 MB R1 R2 R3 R4 R5 R6

SEKTOR S1 S1 S1 S1 S2 S2

MBSEKTOR

Zoran Hercigonja, mag.edu.inf.

10


Funkcijske zavisnosti

priručnik za početnike

Dekompozicija nije pouzdana (iverzibilna je) jer ne vrijedi: SPOJ(ODJEL,RADNIK2,ODJEL.SEKTOR*RADNIK2.SEKTOR)=RADNIK odnosno prirodni spoj relacija ODJEL i RADNIK2 nije jednak početnoj realciji RADNIK. Nakon ovih primjera se mogu navesti pravila pouzdane dekompozicije. Dekompozicija relacije R na dvije relacije R1 I R2 pouzdana je ako vrijedi R1∩R2R1 ili R1∩R2R2, odnosno ako je presjek skupova atributa relacija R1 i R2 ključ u R1 ili R2.

Zoran Hercigonja, mag.edu.inf.

11


Funkcijske zavisnosti

priručnik za početnike

4.Normalne forme Najjednostavnije normalne forme temelje se na funkcijskim zavisnostima definiranim u relacijskoj shemi. U te forme spadaju 1NF, 2NF i 3NF odnosno BCNF.

4.1.Prva normalna forma Relacijska shema (R,F) je u prvoj normalnoj formi (1NF) ako su sve domene atributa sastavljene samo od atomarnih (jednostavnih, nedjeljivih) vrijednosti. Relacija se nalazi u prvoj normalnoj formi ako su svi neključni atributi funkcijski zavisni o ključu. Relacija p je u 1NF

p (A B C D) 1 2 3 2 3 2 1 1 2 1 3 1 Relacija r nije u 1NF jer neke vrijednosti atributa nisu atomarne.

r (A B C D) 1 2 1,2 2,3 3 2 1,3 2 2 1,2 3 1 No tu relaciju možemo popraviti tako da bude u prvoj normalnoj formi.

r (A B C D) 1 2 1,2 2,3 3 2 1,3 2 2 1,2 3 1 Tako da za svaku složenu vrijednost otvorimo onoliko redaka koliko atomarnih vrijednosti sadrži.

r1 (A B C D) 1 2 1 2 1 2 1 3 1 2 2 2 1 2 2 3 3 2 1 2 3 2 3 2 2 1 3 1 2 2 3 1

Da primjer bude jasniji, najbolje je pokazati to na konkretnoj relaciji sa stvarnim atributima.

Zoran Hercigonja, mag.edu.inf.

12


Funkcijske zavisnosti

priručnik za početnike

TRGOVAC_PARTNER_0 (0NF)

MB IME_PREZIME ODJEL_BROJ ODJEL_NAZIV PARTNER_NAZIV 3 Ana Horvat P1 O-Zagreb Zagreb d.o.o Horizont d.d. 5 Josip Antić P2 O-Osijek Horizont d.d. Kompakt d.o.o. 9 Ante Ivić P3 O-Split Vicko Stić Hotel F Amalija d.d. 11 Maja Markić P1 O-Zagreb Josip Ferić Brzopromet ? ? ? ? A-Banka d.d. sl.7. Nenormalizirana relacija TRGOVAC_PARTNER_0 Relacija sa slike sl.7. sadržava jednostavne attribute radi primjera. Sadržava MB, IME_PREZIME, ODJEL_BROJ i PARTNER_NAZIV. Iz podataka tablice, vidi se da trgovac Josip Antić radi s poslovnim partnerima Horizont i Kompakt, a da s A-bankom ne radi ni jedan trgovac. TRGOVAC_PARTNER_1(1NF) MB 3 3 5 5 9 9 9 11 11 ?

IME_PREZIME ODJEL_BROJ ODJEL_NAZIV Ana Horvat P1 O-Zagreb Ana Horvat P1 O-Zagreb Josip Antić P2 O-Osijek Josip Antić P2 O-Osijek Ante Ivić P3 O-Split Ante Ivić P3 O-Split Ante Ivić P3 O-Split Maja Markić P1 O-Zagreb Maja Markić P1 O-Zagreb ? ? ? sl.8. Relacija TRGOVAC_PARTNER_1 u 1NF

PARTNER_NAZIV Zagreb d.o.o. Horizont d.d. Horizont d.d. Kompakt d.o.o. Vicko Stić Hotel F Amalija d.d. Josip Ferić Brzopromet A-Banka d.d.

Pregledom relacije TRGOVAC_PARTNER_1 koja je u 1NF, vidi se da je njezina redundancija jako velika. Ključ relacije je uzrok redundancije. On je sastavljen od atributa MB i PARTNER_NAZIV. Pritom atribut IME_PREZIME, ODJEL_BROJ I ODJEL_NAZIV nisu zavisni o cijelom ključu, nego samo o njegovom dijelu, točnije o atributu MB. Taj problem je moguće riješiti 2 NF.

Zoran Hercigonja, mag.edu.inf.

13


Funkcijske zavisnosti

priručnik za početnike

4.2.Druga normalna forma

Zavisnost neključnih atributa o dijelovima ključa, odnosno djelomična funkcijska zavisnost nije poželjna. Poželjna je samo potpuna funkcijska zavisnost odnosno zavisnost o čitavome ključu. Drugu normalnu formu definiramo pomoću potpune funkcijske zavisnosti: Relacija se nalazi u drugoj normalnoj formi ako su svi neključni atributi potpuno funkcijski zavisni o bilo kojem ključu realcije.5 Funkcijska zavisnost XY je parcijalna ili Y parcijalno zavisi o X ako postoji X1X takav da vrijedi X1Y. Relacijska shema (R,F) je u drugoj normalnoj formi (2NF) ako je u 1NF i ako nijedan neključni atribut ne zavisi parcijalno o ključu. Pretvorba relacije iz 1NF u 2NF obavlja se po pravilima pouzdane dekompozicije. Izdvajaju se svi atributi koji djelomično zavise o ključu, zajedno s dijelom ključa o kojem ovise, u novu relaciju. U preostaloj relaciji ostaje kompletan ključ i atributi koji funkcijski potpuno zavise o ključu. Relacija TRGOVAC_PARTNER_1 na slici sl.8. nije u 2NF. Zbog toga se dekomponira na relacije TRGOVAC_2 i TRGOVAC_PARTNER_2 prikazane na slici sl.9. koje su u 2NF. TRGOVAC_2(2NF) MB 3 5 9 11

IME_PREZIME Ana Horvat Josip Antić Ante Ivić Maja Markić

TRGOVAC_PARTNER_2(2NF)

ODJEL_BROJ P1 P2 P3 P1

ODJEL_NAZIV O-Zagreb O-Osijek O-Split O-Zagreb

MB 3 3 5 5 9 9 9 11 11

PARTNER_NAZIV Zagreb d.o.o Horizont d.d. Horizont d.d. Kompakt d.o.o Vicko Stić Hotel F Amalija d.d. Josip Ferić Brzopromet

sl.9.Relacije u 2NF Gledajući relaciju TRGOVAC_2 vidi se da još uvijek postoji redundancija, koja uzrokuje anomalije pri obradi. Kod ovog slučaja, problem proizlazi iz zavisnosti neključnog atributa ODJEL_NAZIV o drugom neključnom atributu ODJEL_BROJ. Ovdje atribut ODJEL_NAZIV funkcijski zavisi o dva atributa, o ključu MB i neključnom atributu ODJEL_BROJ. 5

Mladen Varga Baze podataka, Konceptualno, logičko i fizičko modeliranje podataka DRIP Zagreb, 1994.

Zoran Hercigonja, mag.edu.inf.

14


Funkcijske zavisnosti

priručnik za početnike

S obzirom na to da vrijede funkcijske zavisnosti MBODJEL_BROJ i ODJEL_BROJODJEL_NAZIV vrijedi prema aksiomu tranzitivnosti i MBODJEL_NAZIV. Funkcijska zavisnost MBODJEL_NAZIV stoga je u relaciji TRGOVAC_2. bespotrebna odnosno redundantna.

4.3.Treća normalna forma Relacija se nalazi u trećoj normalnoj formi (3NF) ako ni jedan neključni atribut nije tranzitivno zavisan o bilo kojem ključu relacije.6 Dakle svaki neključni atribut treba zavisiti o ključu, cijelom ključu i ni o čemo osim o ključu. Treća normalna forma obično isključuje sve anomalije koje proizlaze iz funkcijskih zavisnosti. Ipak, postoje vrlo rijetki slučajevi u kojima 3NF nije dovoljna. 3NF nije dovoljna: 

ako relacija ima više kandidatnih ključeva,

ako ti kandidatni ključevi su kompozitni (sastavljeni od višeatributa), teako kandidatni ključevi imaju bar jedan zajednički atribut

Relacija je u 3NF ako su iz nje izbačeni svi tranzitivno zavisni atributi. Ponavljam tranzitivnost je ako neki atribut prelazno (preko nekog drugog atributa) determinira neki treći atribut. Primjer: Atributi: (a1, a2, a3) Funkcijske zavisnosti: z1: a1 a2, z2:a2 a3 Tranzitivna zavisnost (proizlazi iz z1, z2): a1a3 Ako se radi o pretvorbi 2NF u 3NF obavlja se prema pravilima pouzdane dekompozicije. Točnije, izdvajaju se svi neključni atributi izmeĎu kojih postoji funkcijska zavisnost u posebnu relaciju na primjer (ODJEL_BROJODJEL_NAZIV). U prvoj relaciji ostaje samo ključ i ostali atributi, koji o njemu traznitivno ne zavise. Slika sl.10. to prikazuje.

6

Mladen Varga Baze podataka, Konceptualno, logičko i fizičko modeliranje podataka DRIP Zagreb, 1994.

Zoran Hercigonja, mag.edu.inf.

15


Funkcijske zavisnosti

priručnik za početnike

ODJEL (3NF) MB 3 5 9 11

IME_PREZIME Ana Horvat Josip Antić Ante Ivić Maja Markić

ODJEL_BROJ P1 P2 P3 P1

ODJEL_BROJ P1 P2 P3

ODJEL_NAZIV O-Zagreb O-Osijek O-Split

sl.10.Relacije u 3NF

Da bi ova stvar bila jasna navodim i konkretan primjer po koracima i algoritmu rješavanja 3NF. Algoritam za 3NF dekompoziciju: ULAZ: relacijska shema (R,F) IZLAZ: 3NF dekompozicija d(R) 1. Pronaći sve ključeve od R i izolirati neključne atribute 2. Za svaki skup atributa X koji ne sadrži ključ raditi sljedeće: - pronaći mu zatvarač - iz zatvarača izbaciti sve ključne atribute, te sve atribute iz originalnog skupa 3. Dekomponiramo shemu na R1:R \ Y i R2:XY. 4. Postupak ponavljamo za sheme R1 i R2 Konkretan primjer: Neka je dana shema R=ABCDEFG F:ABDEF, ACG, AC Provjerite da li je (R,F) u 3NF i ako nije napravite 3NF dekompoziciju!

Zoran Hercigonja, mag.edu.inf.

16


Funkcijske zavisnosti

priručnik za početnike

Rješenje: 1. Tražimo ključeve od (R,F) Xk=AB ABF+=ABCDEFG 2. Tražimo tranzitivnu zavisnost: AF+=ACG pa imamo tranzitivnu zavisnost neključnih atributa CG o ključu ABA, ACG, AAB 3. R1: ABDEF i R2:ACG 4. tražimo projekcije skupa F na R1 i R2 π[R1](F):ABDEF π[R2](F): ACG 5. Tražimo ključeve od R1 i R2 Za R1 imamo Xk=AB ABF+=ABCDEF, pa je AB jedini ključ od R1 Za R2 imamo Xk=A AF+=ACG, pa je AC jedini ključ od R2 Pošto u R2 i R3 postoji samo po jedna netrivijalna zavisnost, zaključujemo da su R2 i R3 u u 3NF Dobili smo 3NF dekompoziciju d(R):ABDEF,ACG Definicija 3NF je dovoljna za većinu praktičnih situacija no ona ipak ne rješava problem koji se javlja kod složenih primarnih ključeva. Primjerice u relaciji TRGOVAC_POSAO na slici sl.11. vrijede funkcijske zavisnosti MB, POSAO_SIFRAPARTNER_SIFRA

i

PARTNER_SIFRAMB, jer trgovac (MB) veže odreĎeni posao (POSAO_SIFRA) uz jednog partnera (PARTNER_SIFRA), a partner (PARTNER_SIFRA) je vezan uz samo jednog trgovca (MB).

Zoran Hercigonja, mag.edu.inf.

17


Funkcijske zavisnosti

priručnik za početnike

TRGOVAC_POSAO MB 1 3 5 5 9

POSAO_SIFRA A1 B2 C1 C2 D3

PARTNER_SIFRA 10 20 75 75 30

sl.11.Relacija koja ne zadovoljava BCNF Relacija je BCNF ako i samo ako je: svaka njena determinata je kandidatni ključ te relacije. ILI Relacija je u BCNF ako sve njene funkcionalne zavisnosti proizlaze iz njenog ključa KLJUČ

Relacija je 3NF, ali nije u BCNF:

Zoran Hercigonja, mag.edu.inf.

18


Funkcijske zavisnosti

priručnik za početnike

Kandidatni ključevi relacije: 1.(JMBAG, Predmet) 2.(BrIndexa, Predmet) Zajednički atribut je Predmet. Relacija je normalizirana ako se izbaci atribut BrInexa.

4.4.Četvrta normalna forma(4NF) Relacija, u kojoj je zadan skup funkcijskih i višeznačnih zavisnosti, u četvrtoj je normalnoj formi (4NF) ako je svaka višeznačna zavisnost X Y trivijalna ili je X ključ relacije.7 Ova definicija se može protumačiti drugim riječima. Relacija je u 4NF ako su iz nje izbačene sve višeznačne i sve funkcijske zavisnosti osim zavisnosti o ključu. Naravno ako želimo razumijeti prethodnu definiciju, treba uvesti i koncept višeznačnih zavisnosti. 4.4.1.Višeznačne zavisnosti Višeznačna zavisnost postoji u relacijama koje opisuju dvije nezavisne veze tipa M:M. Isto to kaže i definicija: Ako su X i Y disjunktivni skupovi atributa relacije R, a njihov komplement je Z=RXY, relacija R zadovoljava višeznačnu zavisnost XY ako uz dvije promatrane n-torke xy1z1 i xy2z2 sadrži n-torke xy1z2 i xy2z1. Da bi stvari bile jasnije, argumentirati ću ovo s konretnim primjerima.

7

Mladen Varga Baze podataka, Konceptualno, logičko i fizičko modeliranje podataka DRIP Zagreb, 1994.

Zoran Hercigonja, mag.edu.inf.

19


Funkcijske zavisnosti

priručnik za početnike

Primjer(student-predmet-jezik) 1.Student je položio predmet 2.Student poznaje programski jezik

Zoran Hercigonja, mag.edu.inf.

20


Funkcijske zavisnosti

priručnik za početnike

U relaciji STUDENT-PREDMET-JEZIK ne postoje funkcijske zavisnosti meĎu atributima STUDENT, PREDMET, JEZIK. Višeznačne zavisnosti u relaciji STUDENT-PREDMET-JEZIK: ST ->> PR ST ->> JE Prilikom faze poboljšanja modela treba isključiti n-arne veze gdje je n>2 i konstruirati model koji neće dovoditi do anomalija kod ubacivanja, brisanja i dodavanja

Zoran Hercigonja, mag.edu.inf.

21


Funkcijske zavisnosti

priručnik za početnike

Rezultat je : Binarna ER-shema Prevedene relacije su u 4NF (sve višeznačne zavisnosti su prevedene u funkcijske zavisnosti)

4.5.Peta normalna forma (5NF) Relacija R, u kojoj je zadan skup funkcijskih i spojnih zavisnosti, u petoj je normalnoj formi, ako je svaka spojna zavisnost *(R1,R2...Rn) trivijalna ili je svaki Ri ključ u R.8 Dakle relacija je u 5NF ako su iz nje izbačene sve spojne zavisnosti (osim trivijalnih) odnosno koja se više ne može pouzdano dekomponirati. Da bismo razumijeli vrijednost 5NF, trebalo bi spomenuti i spojnu zavisnost.

8

Mladen Varga Baze podataka, Konceptualno, logičko i fizičko modeliranje podataka DRIP Zagreb, 1994.

Zoran Hercigonja, mag.edu.inf.

22


Funkcijske zavisnosti

priručnik za početnike

4.5.1. Spojna zavisnost Relacija R zadovoljava spojnu zavisnost *(R1,R2,...Rn) ako se pouzdano dekomponira na {R1,R2,...Rn}. Normalizacija se obavlja pouzdanom dekompozicijom kako je to već prije bilo spomenuto na stranicama seminara što je u vezi sa spojnom zavisnosti. Pokazano je da se relacija R(X,Y,Z) s višeznačnom zavisnosti XY|Z može dekomponirati na R1(X,Y) i R2(X,Z), što znači da istovremeno vrijedi i spojna zavisnost *(XY,XZ). Iz toga pak slijedi da je višeznačna zavisnost specijalniji slučaj spojne zavisnosti. Za lakše shvaćanje spojne zavisnosti i općenito 5NF prilažem primjer. Ono što mora 5NF zadovoljiti je sljedeće: 

Povezana je sa projekcijom i spojem

Dekompozicija u normalizaciji mora biti dekompozicija bez gubitka

Dekomponirana relacija KUPNJA na tri relacije se ne može rekonstruirati spojem:

Zoran Hercigonja, mag.edu.inf.

23


Funkcijske zavisnosti

priručnik za početnike

Ako pak bismo te podatke unijeli pomoću SQL-a onda bi to izgledalo ovako:

To upućuje na postavljanje Upita (queria):

Zoran Hercigonja, mag.edu.inf.

24


Funkcijske zavisnosti

priručnik za početnike

5.Zakljucak U svakodnevnom radu, upotrebljavajući baze podataka kao riznicu svih podataka potrebnih za poslovanje i rad s klijentima, neizostavna komponenta su i funkcijske zavisnosti čija logika i svojstva omogućavaju manje redundante baze podataka. Upotrebom tih važnih funkcijskih zavisnosti, smanjujemo zbrku u bazi podataka i stvaramo konzistentne veze. Posebice ugrožen tip pdataka kod baza su relacijski tipovi podataka kod kojih funkcijske zavisnosti imaju velik učinak i veliku ulogu.

6. Literatura 1. Mladen Varga Baze podataka, Konceptualno, logičko i fizičko modeliranje podataka DRIP Zagreb, 1994. 2. S. Tkalac: Relacijski model podataka 3. Robert Manger BAZE PODATAKA Skripta Drugo izdanje Zagreb, veljača 2011. 4. Prof. dr. sc. Mirko Maleković, predavanja Baze podataka 2

Zoran Hercigonja, mag.edu.inf.

25


Funkcijske zavisnosti

priručnik za početnike

O autoru: Zoran Hercigonja, roĎen je 13.04.1990. godine u Varaždinu. Osnovnu školu "Petar Zrinski " završio je 2005. godine u Jalžabetu. Iste godine upisuje Elektrostrojarsku školu Varaždin, smjer "Tehničar za računalstvo" i uspješno položenom maturom završava 2009. godine. Daljnje školovanje nastavlja na Fakultetu organizacije i informatike Varaždin 2009. godine. Preddiplomski studij "Informacijski sustavi" završava 2013. godine. Nastavlja studirati na istom fakultetu na diplomskom studiju za informatičare usmjerenja "Informatika u obrazovanju" koji završava 2015. godine s velikom pohvalom (Magna cum laude). Akademske godine 2013/2014. dobitnik je dekanove nagrade za najboljeg studenta diplomskog studija informatike. Pripravnički staž obavlja na Drugoj gimnaziji Varaždin u razdoblju izmeĎu 2015. i 2016. godine. Državno-stručni ispit za nastavnika informatike uspješno polaže na V. gimnaziji Zagreb 2017. godine. Radi kao profesor informatike i matematike. Autor je više stručnih radova koje redovito objavljuje u časopisima: Pogled kroz prozor, International Journal of Digital Technology and Economy, Matematika i škola, zborniku Carnetove korisničke konferencije te u Zborniku radova Veleučilišta u Šibeniku.

ISBN 978-953-59549-2-7

Zoran Hercigonja, mag.edu.inf.

26


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.