DBMS函数依赖是两个属性之间存在的关系。它通常存在于表中的主键和非键属性之间。
X → Y
函数依赖的左侧被称为决定因素,生产的右侧被称为依赖。
例如:
假设有一个包含属性的员工表:Emp_Id
,Emp_Name
,Emp_Address
。
这里Emp_Id
属性是唯一地标识employee
表的Emp_Name
属性,因为如果知道Emp_Id
,就可以知道与这个Emp_Id
属性关联的员工姓名。
函数依赖可以写成:
Emp_Id → Emp_Name
因此可以说Emp_Name
在函数上依赖于Emp_Id
。
函数依赖的类型
B
是A
的子集,则A→B
具有平凡的函数依赖性。A→A
,B→B
示例:
假设有一个包含两列 - Employee_Id
和Employee_Name
的表。{Employee_id,Employee_Name}→Employee_Id
是一个简单的函数依赖,Employee_Id
是{Employee_Id,Employee_Name}
的子集。
此外,Employee_Id→Employee_Id
和Employee_Name→Employee_Name
也是平凡的依赖关系。
如果B
不是A
的子集,则A→B
具有非平凡的函数依赖性。
当A
交叉点B
为NULL
时,则A→B
被称为完全非平凡。
示例:
ID → Name, Name → DOB