什么是差异b / w数据库中的功能和传递依赖

时间:2015-10-23 04:12:16

标签: sql database

昨天我正在阅读Normalization并发现了   如果它在1NF中并且不包含部分和功能依赖关系,则关系在2NF中。 如果关系是2NF并且不包含任何传递依赖关系,则关系为第三范式。 现在我的问题是什么是差异功能和传递依赖

4 个答案:

答案 0 :(得分:5)

传递依赖表示当A依赖于B而B取决于C时A对C的依赖性。

功能依赖是同一关系数据库表的两个属性之间的关联。其中一个属性称为行列式,另一个属性称为确定的。对于决定因素的每个值,只有一个且只有一个确定的值。

如果A是决定因素而B是确定的那么我们说A在功能上确定B并且在图形上将其表示为A - > B.符号AàB·也可以表示为B在功能上由A确定。

答案 1 :(得分:2)

功能依赖

功能依赖性可以定义为关系中属性之间存在的关系。函数依赖关系用于在Boyce Codd Normal Form(缩写为BCNF)中创建关系。如果C和D是关系R的属性,并且属性C在功能上确定属性D,则两个属性之间的功能依赖性可以表示为C-> D.即C-> D意味着当关系R中的两个元组同意X的所有属性时,它们也必须同意Y的所有属性。

即C-> D表示R中的两个元组同意

示例:人员架构

下方

person(national_id,name,address);

这里national_id在功能上决定了person_name。功能依赖是national_id - >名;

传递依赖

传递依赖是一种功能依赖,其中非主要属性由另一个非主要属性决定。假设C和D是非素数属性,A是关系R的主要属性。

如果A功能确定C和C在功能上确定D

A-&以及c

C-> d

然后两个属性之间的传递函数依赖关系可以表示为

A-> d

示例:在PostCode和City为非主要属性的学生模式下方。

学生(#Id,姓名,年龄,邮政编码,城市)

这里,Id在功能上确定PostCode,PostCode在功能上确定City属性。所以传递函数依赖是

ID->城市

答案 2 :(得分:1)

你可以参考wiki:

Functional dependency

  

在关系数据库理论中,函数依赖是一种约束   在数据库的关系中的两组属性之间。

Transitive dependency

  

在数据库管理系统中,传递依赖是一种功能   由于传递性而持有的依赖性。传递性的   依赖性只能在具有三个或更多的关系中发生   属性。

答案 3 :(得分:0)

  

关系模式 R 中的函数依赖 X-> Y 是一个传递函数   依赖性如果 R 中存在一组属性 Z ,则两者都不是   候选键也不是 R 的任何键的子集,并且 X-> Z Z-> Y 都保持。

摘自:数据库系统基础第6版 - Elmasri等;