Функціональна залежність - це зв'язок, який існує між двома атрибутами. Зазвичай він існує між первинним ключем і неключовим атрибутом у таблиці.
X → Y
Ліва сторона FD відома як визначник, права сторона виробництва відома як залежна.
Наприклад:
Припустимо, у нас є таблиця співробітників з атрибутами: Emp_Id, Emp_Name, Emp_Address.
пошук рядка c++
Тут атрибут Emp_Id може однозначно ідентифікувати атрибут Emp_Name таблиці співробітників, оскільки, знаючи Emp_Id, ми можемо сказати, що це ім’я співробітника пов’язане з ним.
Функціональна залежність може бути записана так:
Emp_Id → Emp_Name
Можна сказати, що Emp_Name функціонально залежить від Emp_Id.
Види функціональної залежності
1. Тривіальна функціональна залежність
- A → B має тривіальну функціональну залежність, якщо B є підмножиною A.
- Наступні залежності також тривіальні, наприклад: A → A, B → B
приклад:
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. Нетривіальна функціональна залежність
- A → B має нетривіальну функціональну залежність, якщо B не є підмножиною A.
- Коли A перетин B дорівнює NULL, тоді A → B називається повним нетривіальним.
приклад:
ID → Name, Name → DOB