Funktsionaalsete sõltuvuste abil tagage täpsed andmed
Funktsionaalne sõltuvus andmebaasis rakendab atribuutide vahel piiranguid. See juhtub siis, kui relatsiooni üks atribuut määrab üheselt teise atribuudi. Seda saab kirjutada A -> B mis tähendab, et "B on funktsionaalselt sõltuv A-st". Seda nimetatakse ka a andmebaasi sõltuvus.
Selles seoses määrab A B väärtuse, samas kui B sõltub A-st.
Miks on funktsionaalne sõltuvus andmebaasi kujundamisel oluline?
Funktsionaalne sõltuvus aitab tagada andmete kehtivuse. Mõelge tabelile Töötajad, milles on loetletud omadused, sealhulgas sotsiaalkindlustuse number (SSN), nimi, sünniaeg, aadress ja nii edasi.
Atribuut SSN määrab nime, sünnikuupäeva, aadressi ja võib-olla ka muude väärtuste väärtuse, kuna sotsiaalkindlustuse number on kordumatu, samas kui nimi, sünnikuupäev või aadress ei pruugi olla. Võime selle kirjutada nii:
SSN -> nimi, sünniaeg, aadress.
Seetõttu on nimi, sünniaeg ja aadress SSN-ist funktsionaalselt sõltuvad. Kuid vastupidine väide (nimi -> SSN) ei vasta tõele, kuna rohkem kui ühel töötajal võib olla sama nimi, kuid neil ei ole kunagi sama SSN. Teisel, konkreetsemal viisil, kui teame SSN-i atribuudi väärtust, leiame nime, sünnikuupäeva ja aadressi väärtuse. Kuid kui me selle asemel teame ainult atribuudi nimi väärtust, ei saa me SSN-i tuvastada.
Funktsionaalse sõltuvuse vasak pool võib sisaldada rohkem kui ühte atribuuti. Oletame, et meil on mitme asukohaga ettevõte. Meil võib olla tabel Töötaja atribuutidega töötaja, ametinimetus, osakond, asukoht ja juht.
Töötaja määrab asukoha, kus ta töötab, seega on sõltuvus:
töötaja -> asukoht.
Kuid asukohal võib olla rohkem kui üks juht, nii et töötaja ja osakond määravad juhi koos:
töötaja, osakond -> juht.
Funktsionaalne sõltuvus ja normaliseerimine
Funktsionaalne sõltuvus aitab kaasa nn andmebaasile normaliseerimine, mis tagab andmete terviklikkuse ja vähendab andmete liiasust. Ilma normaliseerimiseta pole kindlust, et andmebaasis olevad andmed on täpsed ja töökindlad.