logo

Функціональна залежність

Функціональна залежність - це зв'язок, який існує між двома атрибутами. Зазвичай він існує між первинним ключем і неключовим атрибутом у таблиці.

 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