在关系数据库理论中,函数依赖(functional dependency)是数据库的关系的两个属性集合之间的一种约束。给定关系R,R上的属性集X是函数确定(functionally determine)R上的另一个属性集Y,(记作 X → Y),当且仅当R上的每一个X值精确地关联R上的一个Y值;因而R被说成满足函数依赖X → Y。等价的说,投影 \Pi_{X,Y}R是一个函数,即Y是X的函数。简单说,如果属性集X的值是已知的(记作x),那么属性集Y的对应于x的值可以查表(R中任何包含x的元组)确定。一个函数依赖FD: X → Y是平凡的,如果Y是X的子集。
函数依赖在数据库设计中的重要用途是海斯定理(Heath's theorem):属性集U上的关系R满足函数依赖X → Y,那么可以无损分解为两个关系: \Pi_{XY}(R)\bowtie\Pi_{XZ}(R) = R其中Z = U − XY是剩余的属性。
函数依赖的逻辑蕴涵被定义为:函数依赖的集合\Sigma逻辑蕴涵另一个函数依赖集合\Gamma,如果任何关系R满足\Sigma中的所有依赖也满足\Gamma中的所有依赖;记作\Sigma \models \Gamma。函数依赖的逻辑蕴涵拥有可靠且的有限公理系统,称作阿姆斯特朗公理系统(Armstrong's axioms)。
參見
- 数据库规范化
参考文献
评论 (0)