数据库中的功能依赖项

功能依赖项有助于避免数据复制

拿着报告的妇女在办公室,特写镜头

Ken Reid / Getty Images

数据库中的功能依赖性在属性之间强制执行一组约束。当关系中的一个属性唯一地确定另一个属性时,会发生这种情况。这可以写成A - > B这意味着“B在功能上取决于A”。这也被称为a数据库依赖项

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

为什么功能依赖性在数据库设计中很重要

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

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

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

因此,名称,出生日期和地址在功能上取决于SSN。但是,反向陈述(名称 - > SSN)不是真的,因为多个员工可以具有相同的名称,但永远不会具有相同的SSN。放另一个更具体的方式,如果我们知道SSN属性的值,我们可以找到名称,出生日期和地址的值。但如果我们相反,我们只知道只有名称属性的值,我们无法识别SSN。

功能依赖项的左侧可以包括多个属性。假设我们有多个地方的业务。我们可能有一个具有属性员工,标题,部门,地点和经理的表员工。

员工确定他工作的位置,所以有一个依赖性:

员工 - >位置

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

员工,部门 - >经理

功能依赖性和标准化

功能依赖性有助于所谓的数据库正常化,这确保了数据完整性并减少了数据冗余。没有归一化,没有保证数据库中的数据准确且可靠。

此页面是否有帮助?