Funkcionalne zavisnosti Pomozite izbjegavanju dupliranja podataka
Funkcionalna zavisnost u bazi podataka primjenjuje skup ograničenja između atributa. Ovo se dešava kada jedan atribut u odnosu jedinstveno određuje drugi atribut. To može biti napisano A -> B što znači "B funkcionalno zavisi od A." Ovo se takođe naziva zavisnost od baze podataka .
U ovom odnosu, A određuje vrijednost B, dok B zavisi od A.
Zašto je funkcionalna zavisnost važna u dizajnu baze podataka
Funkcionalna zavisnost pomaže u osiguranju valjanosti podataka. Upoznajte tabelu Zaposleni koji navode karakteristike uključujući broj socijalnog osiguranja (SSN), ime, datum rođenja, adresu i tako dalje.
Atribut SSN će odrediti vrijednost imena, datuma rođenja, adrese i možda drugih vrijednosti, jer je broj socijalnog osiguranja jedinstven, dok ime, datum rođenja ili adresa ne mogu biti. Možemo da napišemo ovako:
SSN -> ime, datum rođenja, adresa
Prema tome, ime, datum rođenja i adresa funkcionalno zavise od SSN-a. Međutim, obratna reč (ime -> SSN) nije tačna jer više od jednog zaposlenog može imati isto ime, ali nikada neće imati istu SSN. Stavimo još jedan, konkretniji način, ako znamo vrijednost SSN atributa, možemo pronaći vrijednost imena, datuma rođenja i adrese. Ali ako umesto toga znamo vrednost samo atributa imena, ne možemo identifikovati SSN.
Leva strana funkcionalne zavisnosti može uključiti više od jednog atributa. Recimo da imamo posao sa više lokacija. Možda ćemo imati tabelu Employee sa atributom zaposleni, naslov, odjeljak, lokacija i menadžer.
Zaposleni određuje lokaciju na kojoj radi, tako da postoji zavisnost:
zaposleni -> lokacija
Međutim, lokacija može imati više od jednog menadžera, tako da zaposleni i odjel zajedno utvrđuju menadžer:
zaposlenik, odjel -> menadžer
Funkcionalna zavisnost i normalizacija
Funkcionalna zavisnost doprinosi onome što se zove normalna baza podataka, koja osigurava integritet podataka i smanjuje redundance podataka. Bez normalizacije, nema sigurnosti da su podaci u bazi podataka tačni i pouzdani.