logo

Функционална зависимост

Функционалната зависимост е връзка, която съществува между два атрибута. Обикновено съществува между първичния ключ и неключовия атрибут в таблица.

 X → Y 

Лявата страна на FD е известна като детерминанта, дясната страна на продукцията е известна като зависима.

Например:

Да приемем, че имаме таблица на служителите с атрибути: Emp_Id, Emp_Name, Emp_Address.

в java regex

Тук атрибутът 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