📜  DBMS功能依赖性

📅  最后修改于: 2020-12-12 02:59:44             🧑  作者: Mango

功能依赖

功能依赖关系是两个属性之间存在的关系。它通常存在于表的主键和非键属性之间。

X   →   Y

FD的左侧称为行列式,生产的右侧称为因变量。

例如:

假设我们有一个雇员表,其属性为:Emp_Id,Emp_Name,Emp_Address。

在这里,Emp_Id属性可以唯一地标识employee表的Emp_Name属性,因为如果我们知道Emp_Id,就可以知道与其关联的员工姓名。

功能依赖性可以写成:

Emp_Id → Emp_Name 

我们可以说Emp_Name在功能上取决于Emp_Id。

功能依赖的类型

1.琐碎的功能依赖

  • 如果B是A的子集,则A→B具有微不足道的功能依赖性。
  • 以下依赖项也很简单: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.非平凡的功能依赖性

  • 如果B不是A的子集,则A→B具有非平凡的功能依赖性。
  • 当交集B为NULL时,则将A→B称为完全非平凡的。

例:

ID   →    Name,
Name   →    DOB