Zależność funkcjonalna to relacja istniejąca pomiędzy dwoma atrybutami. Zwykle występuje pomiędzy kluczem podstawowym a atrybutem niekluczowym w tabeli.
X → Y
Lewa strona FD jest znana jako wyznacznik, prawa strona produkcji jest znana jako zależna.
Na przykład:
Załóżmy, że mamy tabelę pracowników z atrybutami: Emp_Id, Emp_Name, Emp_Address.
podciąg przycinania JavaScript
Tutaj atrybut Emp_Id może jednoznacznie identyfikować atrybut Emp_Name tabeli pracowników, ponieważ jeśli znamy Emp_Id, możemy określić, że imię i nazwisko pracownika jest z nim powiązane.
Zależność funkcjonalną można zapisać jako:
Emp_Id → Emp_Name
Można powiedzieć, że Emp_Name jest funkcjonalnie zależne od Emp_Id.
Rodzaje zależności funkcjonalnych
1. Trywialna zależność funkcjonalna
- A → B ma trywialną zależność funkcjonalną, jeśli B jest podzbiorem A.
- Zależności trywialne są również następujące: A → A, B → B
Przykład:
Consider a table with two columns Employee_Id and Employee_Name. {Employee_id, Employee_Name} → Employee_Id is a trivial functional dependency as Employee_Id is a subset of {Employee_Id, Employee_Name}. Also, Employee_Id → Employee_Id and Employee_Name → Employee_Name are trivial dependencies too.
2. Nietrywialna zależność funkcjonalna
- A → B ma nietrywialną zależność funkcjonalną, jeśli B nie jest podzbiorem A.
- Kiedy A przecięcie B ma wartość NULL, wówczas A → B nazywa się zupełnym nietrywialnym.
Przykład:
ID → Name, Name → DOB