Dependența funcțională într-o bază de date

Funcționarea dependențelor Ajută la evitarea duplicării datelor

O dependență funcțională într-o bază de date impune un set de constrângeri între atribute. Acest lucru are loc atunci când un atribut dintr-o relație determină în mod unic un alt atribut. Acest lucru poate fi scris A -> B ceea ce înseamnă că "B este funcțional dependent de A." Aceasta se numește și dependența bazei de date .

În această relație, A determină valoarea lui B, în timp ce B depinde de A.

De ce dependența funcțională este importantă în proiectarea bazelor de date

Funcția de dependență ajută la asigurarea valabilității datelor. Consultați o tabelă a angajaților care enumeră caracteristici, inclusiv numărul de securitate socială (SSN), numele, data nașterii, adresa și așa mai departe.

Atributul SSN va determina valoarea numelui, data nașterii, adresa și, eventual, alte valori, deoarece un număr de securitate socială este unic, în timp ce un nume, data nașterii sau adresa nu poate fi. Putem scrie astfel:

SSN -> numele, data nașterii, adresa

Prin urmare, numele, data nașterii și adresa sunt funcțional dependente de SSN. Cu toate acestea, instrucțiunea inversă (nume -> SSN) nu este adevărată deoarece mai mulți angajați pot avea același nume, dar nu vor avea niciodată aceeași SSN. Puneți un alt mod mai concret, dacă știm valoarea atributului SSN, putem găsi valoarea numelui, data nașterii și adresa. Dar dacă cunoaștem valoarea numai a atributului name, nu putem identifica SSN.

Partea stângă a unei dependențe funcționale poate include mai multe atribute. Să presupunem că avem o afacere cu mai multe locații. S-ar putea să avem un angajat de masă cu atribute angajat, titlu, departament, locație și manager.

Angajatul determină locul în care lucrează, deci există o dependență:

angajat -> locație

Dar locația ar putea avea mai mulți administratori, astfel încât angajații și departamentul să determine împreună managerul:

angajat, departament -> manager

Dependența funcțională și normalizarea

Dependența funcțională contribuie la ceea ce se numește normalizarea bazei de date, care asigură integritatea datelor și reduce redundanțele datelor. Fără normalizare, nu există nicio asigurare că datele dintr-o bază de date sunt corecte și de încredere.