Tietokannan toiminnallinen riippuvuus pakottaa joukon rajoituksia määritteiden välillä. Tämä tapahtuu, kun suhteen yksi attribuutti määrittää yksilöllisesti toisen attribuutin. Tämä voidaan kirjoittaa A -> B tarkoittaa «B on toiminnallisesti riippuvainen A:sta». Tämä tunnetaan myös tietokantariippuvuutena. Tässä suhteessa A määrittää B:n arvon, kun taas B riippuu A:sta.
Miksi toiminnallinen riippuvuus on tärkeää tietokantoja suunniteltaessa?
Toiminnallinen riippuvuus auttaa varmistamaan tietojen oikeellisuuden. Harkitse Työntekijät-taulukkoa, jossa on attribuutteja, kuten sosiaaliturvatunnus (BSN), nimi, syntymäaika, osoite ja niin edelleen. BSN-attribuutti määrittää nimen, syntymäajan, osoitteen ja kenties muiden arvojen arvon, koska BSN on ainutlaatuinen, kun taas nimen, syntymäajan tai osoitteen ei tarvitse olla. Voimme kirjoittaa sen näin: BSN -> nimi, syntymäaika, osoite
type=»code»> Nimi, syntymäaika ja osoite ovat siksi toiminnallisesti riippuvaisia BSN:stä. Käänteinen väite (nimi -> sosiaaliturvatunnus) ei kuitenkaan pidä paikkaansa, koska useammalla kuin yhdellä työntekijällä voi olla sama nimi, mutta heillä ei koskaan ole samaa sosiaaliturvatunnusta. Toisin sanoen konkreettisemmin, jos tiedämme SSN-attribuutin arvon, voimme löytää nimen, syntymäajan ja osoitteen arvon. Mutta jos tiedämme sen sijaan vain attribuutin name arvon, emme voi tunnistaa SSN:ää. Toiminnallisen riippuvuuden vasen puoli voi sisältää useamman kuin yhden määritteen. Oletetaan, että meillä on usealla toimipaikalla toimiva yritys. Meillä voi olla Työntekijätaulukko, jossa on määritteet työntekijä, arvonimi, osasto, sijainti ja johtaja. Työntekijä määrittelee työpaikan, joten riippuvuus on olemassa: työntekijä -> sijainti
type=»code»> Mutta sijainnilla voi olla useampi kuin yksi esimies, joten työntekijä ja osasto määrittävät yhdessä esimiehen: työntekijä, osasto -> johtaja
type=»code»>
Toiminnallinen riippuvuus ja normalisointi
Toiminnallinen riippuvuus edistää ns. tietokannan normalisointia, joka varmistaa tietojen eheyden ja vähentää tietojen redundanssia. Ilman normalisointia ei ole takeita siitä, että tietokannan tiedot ovat tarkkoja ja luotettavia.