Andmebaasi funktsionaalne sõltuvus

Funktsionaalsed sõltuvused aitavad vältida andmete dubleerimist

Andmebaasi funktsionaalne sõltuvus kindlustab atribuutide seas piirangud. See tekib siis, kui üks atribuut suhe määratleb unikaalselt teise atribuudi. Seda saab kirjutada A-> B, mis tähendab, et "B funktsionaalselt sõltub A-st". Seda nimetatakse ka andmebaasi sõltuvusse .

Selles suhes määrab A väärtus B, kuid B sõltub A-st.

Miks funktsionaalne sõltuvus on oluline andmebaasi disain

Funktsionaalne sõltuvus aitab tagada andmete õigsust. Vaadake tabelit Töötajad, kes loetlevad omadused, sealhulgas sotsiaalkindlustuse number (SSN), nimi, sünniaeg, aadress jne.

Atribuut SSN määrab nime, sünnikuupäeva, aadressi ja ehk teiste väärtuste väärtuse, sest sotsiaalkindlustuse number on unikaalne, samas kui nimi, sünniaeg või aadress ei pruugi olla. Me saame seda kirjutada nii:

SSN -> nimi, sünniaeg, aadress

Seetõttu on nimi, sünnikuupäev ja aadress sõltuvalt SSNist funktsionaalselt. Kuid vastupidine avaldus (nimi -> SSN) ei ole tõene, kuna rohkem kui ühel töötajal võib olla sama nimi, kuid tal pole kunagi sama SSN-i. Pane veel üks konkreetne viis, kui me teame SSN atribuudi väärtust, võime leida nime, sünniaja ja aadressi väärtuse. Kuid kui me asemel teame ainult nime atribuudi väärtust, ei saa me SSN-i tuvastada.

Funktsionaalse sõltuvuse vasak pool võib sisaldada rohkem kui ühte atribuuti. Oletame, et meil on mitu asukohta omav ettevõte. Meil võib olla tabel Employee koos atribuutidega töötaja, pealkiri, osakond, asukoht ja haldur.

Töötaja määrab kindlaks, 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 kokku juht:

töötaja, osakond -> juht

Funktsionaalne sõltuvus ja normaliseerimine

Funktsionaalne sõltuvus aitab kaasa andmebaasi normaliseerimisele , mis tagab andmete terviklikkuse ja vähendab andmete koondamist. Ilma normaliseerimiseta ei ole kindel, et andmebaasis olevad andmed on täpsed ja töökindlad.