数据库中的功能依赖关系

功能依赖性帮助避免数据复制

数据库中的函数依赖性强制了属性之间的一组约束。 这发生在关系中的一个属性唯一确定另一个属性时。 这可以写成A→B ,这意味着“B在功能上依赖于A.”。 这也被称为数据库依赖

在这种关系中,A确定B的值,而B取决于A.

为什么函数依赖在数据库设计中至关重要

功能依赖有助于确保数据的有效性。考虑一张表员工列出的特征包括社会安全号码(SSN),姓名,出生日期,地址等。

属性SSN将确定姓名,出生日期,地址和其他值的值,因为社会安全号码是唯一的,而名称,出生日期或地址可能不是。 我们可以这样写:

SSN - >姓名,出生日期,地址

因此,姓名,出生日期和地址在功能上依赖SSN。 但是,反向声明(名称 - > SSN)不是真实的,因为多个员工可以具有相同的名称,但永远不会有相同的SSN。 换一种更具体的方式,如果我们知道SSN属性的价值,我们可以找到姓名,出生日期和地址的价值。 但是如果我们只知道名称属性的值,我们就无法识别SSN。

函数依赖的左侧可以包含多个属性。 假设我们有多个地点的业务。 我们可能会有一个表员工,其中包含员工,职位,部门,地点和经理的属性。

员工确定他工作的位置,因此存在依赖关系:

员工 - >地点

但该地点可能有多个经理,因此员工和部门一起确定经理:

员工,部门 - >经理

功能依赖和规范化

功能依赖性有助于所谓的数据库规范化 ,从而确保数据完整性并减少数据冗余。 没有标准化,就不能保证数据库中的数据是准确可靠的。