DBMS函数依赖

DBMS函数依赖

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

X   →   Y

函数依赖的左侧被称为决定因素,生产的右侧被称为依赖。

例如:

假设有一个包含属性的员工表:Emp_IdEmp_NameEmp_Address

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

函数依赖可以写成:

Emp_Id → Emp_Name

因此可以说Emp_Name在函数上依赖于Emp_Id

函数依赖的类型

1. 平凡函数依赖

  • 如果BA的子集,则A→B具有平凡的函数依赖性。
  • 以下依赖关系也很简单:A→AB→B

示例:

假设有一个包含两列 - Employee_IdEmployee_Name的表。
{Employee_id,Employee_Name}→Employee_Id是一个简单的函数依赖,
Employee_Id{Employee_Id,Employee_Name}的子集。
此外,Employee_Id→Employee_IdEmployee_Name→Employee_Name也是平凡的依赖关系。

2. 非平凡的功能依赖

如果B不是A的子集,则A→B具有非平凡的函数依赖性。
A交叉点BNULL时,则A→B被称为完全非平凡。

示例:

ID   →    Name,  
Name   →    DOB

目录

索引和B+树