Функционална зависност је однос који постоји између два атрибута. Обично постоји између примарног кључа и атрибута који није кључ унутар табеле.
X → Y
Лева страна ФД је позната као детерминанта, десна страна производње је позната као зависна.
На пример:
Претпоставимо да имамо табелу запослених са атрибутима: Емп_Ид, Емп_Наме, Емп_Аддресс.
линкедлист у Јава
Овде атрибут Емп_Ид може јединствено да идентификује атрибут Емп_Наме табеле запослених јер ако знамо Емп_Ид, можемо рећи да је име запосленог повезано са њим.
Функционална зависност се може написати као:
Emp_Id → Emp_Name
Можемо рећи да Емп_Наме функционално зависи од Емп_Ид.
Врсте функционалне зависности
1. Тривијална функционална зависност
- А → Б има тривијалну функционалну зависност ако је Б подскуп од А.
- Следеће зависности су такође тривијалне као: А → А, Б → Б
Пример:
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. Нетривијална функционална зависност
- А → Б има нетривијалну функционалну зависност ако Б није подскуп А.
- Када је А пресек Б НУЛЛ, тада се А → Б назива потпуним нетривијалним.
Пример:
ID → Name, Name → DOB