E-gradiva > Računalništvo > Podatkovne baze > a_podatkovne_baze > 17_normalizacija > Funkcionalne odvisnosti

Prijava

Glavne značilnost funkcionalnih odvisnosti

Glavne značilnost funkcionalnih odvisnosti, ki jih uporabimo pri normalizaciji so:

Opombe glede določanja funkcionalnih odvisnosti:

Vrste funkcionalnih odvisnosti

Obstajajo tri vrste funkcionalnih odvisnosti:

Pri postopku normalizacije PB mora načrtovalec poznati značilnosti različnih vrst funkcionalnih odvisnosti in načine za odpravljanje delnih in tranzitivnih funkcionalnih odvisnosti.

Delna funkcionalna odvisnost

Delna funkcionalna odvisnost obstaja, ko je atribut relacije funkcionalno odvisen le od dela ključa relacije. Lahko se pojavil le, če tabela ima sestavljene ključe.

Primer: Izdelki(IzdelekID,Dobavitelj,ImeIzdelka, OpisIzdelka)

Izdelki
IzdelekID Dobavitelj ImeIzdelka OpisIzdelka
305 Rupro FujiFilmNF300 Drobni inventar
305 ABCComputer FujiFilmNF300 Drobni inventar
320 Murkart Putek02 Pijača
320 Šumko Putek02 Pijača

V relaciji Izdelki obstajajo naslednje funkcionalne odvisnosti:

Očitno je, da sta atributa ImeIzdelka in OpisIzdelka funkcionalno odvisna le od dela ključa tabele Izdelki in sicer le od atributa IzdelekID.

Polna funkcionalna odvisnost

Polna funkcionalna odvisnost obstaja, ko je atribut funkcionalno odvisen od celotnega ključa. Denimo, da sta A in B atributa relacije R. Atrubut B je polno funkcionalno odvisen od atributa A le, če je B funkcionalno odvisen od atributa A in hkrati ni funkcionalno odvisen od katerekoli podmnožice atributov iz skupine A.

Primer: Indeksi(StudentID,ProfesorID,PredmetID, Ocena) // Opomba: v indeks se vpisujejo le pozitivne ocene.

 Indeksi
 StudentID ProfesorID PredmetID  Ocena 
 305 100  MA1  10 
 305  200 KE1  9
 320  100 MA1
 6
 305  100 MA2
 10

Funkcionalna odvisnost v relaciji Indeksi: StudentID, ProfesorID, PredmetID -> Ocena. Atribut ocena je polno funkcionalno odvisen od celotnega ključa tabele Indeksi.

Tranzitivna funkcionalna odvisnost

Tranzitivna funkcionalna odvisnost obstaja, ko je atribut posredno funkcionalno odvisen od ključa tabele. V tem primeru je posrednik atribut, ki je polno ali delno funkcionalno odvisen od ključa relacije.

Razlaga koncepta tranzitivnosti:

Primer: Dijak(DijakID,Ime,KrajRojstva,DržavaRojstva)

 Dijak
 DijakID Ime KrajRojstva  DrzavaRojstva 
 305 Jure  Ljubljana   Slovenija
 306 Charles Paris
 Francija
 307 Mateja  Ljubljana
 Slovenija
 308 John
London
 Anglija

Funkcionalne odvisnosti v relaciji Dijak:

Povzetek

Avtorji: Tea Lončarić , Andreja Vehovec, Marko Kastelic , David Drofenik, Saša Divjak, Alenka Kavčič , Matija Marolt, Marko Privošnik, Milan Podbršček, Janko Harej, Andrej Florjančič