Funkcjonalna zależność w bazie danych wymusza zestaw ograniczeń między atrybutami. Dzieje się tak, gdy jeden atrybut w relacji jednoznacznie określa inny atrybut. To można zapisać A -> B co oznacza "B jest funkcjonalnie zależny od A." Nazywa się to również zależnością od bazy danych.
W tej zależności A określa wartość B, natomiast B zależy od A.
Dlaczego funkcjonalna zależność jest ważna w projektowaniu bazy danych
Funkcjonalna zależność pomaga zapewnić ważność danych. Zastanów się nad tabelą Pracownicy, którzy wymieniają cechy, w tym numer ubezpieczenia społecznego (SSN), imię i nazwisko, datę urodzenia, adres i tak dalej.
Atrybut SSN określa wartość nazwiska, daty urodzenia, adresu i być może innych wartości, ponieważ numer ubezpieczenia społecznego jest unikalny, a nazwisko, data urodzenia lub adres nie mogą być. Możemy napisać tak:
SSN -> imię i nazwisko, data urodzenia, adres
Dlatego nazwa, data urodzenia i adres są funkcjonalnie zależne od SSN. Jednak odwrotna instrukcja (nazwa -> SSN) nie jest prawdziwa, ponieważ więcej niż jeden pracownik może mieć tę samą nazwę, ale nigdy nie będzie miał tego samego numeru SSN. Podaj inny, bardziej konkretny sposób, jeśli znamy wartość atrybutu SSN, możemy znaleźć wartość imienia, daty urodzenia i adresu. Ale jeśli zamiast tego wiemy wartość tylko atrybutu nazwy, nie możemy zidentyfikować numeru SSN.
Lewa strona funkcjonalnej zależności może zawierać więcej niż jeden atrybut. Załóżmy, że mamy firmę z wieloma lokalizacjami. Możemy mieć tabelę Pracownik z atrybutem pracownik, tytuł, dział, lokalizacja i menedżer.
Pracownik określa lokalizację, w której pracuje, więc istnieje zależność:
pracownik -> lokalizacja
Ale lokalizacja może mieć więcej niż jednego menedżera, więc pracownik i dział wspólnie określają menedżera:
pracownik, dział -> kierownik
Funkcjonalna zależność i normalizacja
Funkcjonalna zależność przyczynia się do tak zwanej normalizacji baz danych, która zapewnia integralność danych i zmniejsza nadmiarowość danych. Bez normalizacji nie ma gwarancji, że dane w bazie danych są dokładne i niezawodne.




