功能依赖关系是两个属性之间存在的关系。它通常存在于表的主键和非键属性之间。
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
推荐阅读
- DBMS泛化解析
- DBMS第四范式(4NF)
- DBMS第一范式(1NF)
- DBMS文件组织详解
- DBMS第五范式(5NF)
- DBMS ER模型概念
- DBMS动态散列原理
- DBMS数据模型架构和实例
- DBMS数据独立性