函数依赖(FD)
发布时间:2020-12-13 20:33:08 所属栏目:百科 来源:网络整理
导读:函数依赖(FD) 1、函数依赖的定义(领会):设有关系模式R(A1,A2,...An)或简记为R(U),X,Y是U的子集,r是 R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决 定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R的一个函数依
函数依赖(FD)
2、函数依赖的逻辑蕴涵(识记)
设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出X→Y,则 称F逻辑蕴涵X→Y,记为F│=X→Y. 就是说,一个关系模式可能有多个函数依赖形成函数依赖集,现在有一个新的函数 依赖不在函数依赖集里,但能从集合里根据一定的规则(就是后面的Armstrong规则)推导出来,就 说那个集合逻辑蕴涵这个新的函数依赖。 比如,“根据身份证号能确定出生年月和性别”是已知的函数依赖,根据已知和后面的知识能推 导出“根据身份证号能确定出生年月”,就说“根据身份证号能确定出生年月和性别”逻辑蕴涵 “根据身份证号能确定出生年月”。
而函数依赖的闭包F+是指被F逻辑蕴涵的函数依赖的全体构成的集合。
就是说根据F能推导出的全部函数依赖(至于怎么推导和如何保证没有遗漏都是以后 的事)。
3、键和FD的关系(领会)
键是唯一标识实体的属性集。 设关系模式R(A1,A2...An),F是R上的函数依赖集,X是R的一个子集, (1)X→A1A2...An∈F+ (2)不存在X的真子集Y,使得Y也能决定唯一的一个元组,则X就是R的一个候选键。 在函数依赖概念的基础上,再加上能确定全部属性和没有富余的部分。比如:知道 身份证号就能知道这个人的姓名,但是不能确定婚否,所有假如一个关系模式有(身份证号、姓 名、婚否)这些属性时,身份证号不能叫侯选键。还有知道身份证号和出生年月肯定能知道这个 人的姓名,但出生年月在这里显得多余,以(身份证号,出生年月)也不能叫侯选键。
包含在任何一个候选键中的属性称为主属性,不包含在任何键中的属性为非主属性(非键属性),
注意主属性应当包含在候选键中。 这没什么好理解的,就是概念了。
4、函数依赖(FD)的推理规则(简单应用)
Armstrong(胳膊壮?)推理规则 设有关系模式R(U),X,Y,Z,W均是U的子集,F是R上只涉及到U中属性的函数依赖集,推理规则 如下: 自反律:如果YXU,则X→Y在R上成立。 增广律:如果X→Y为F所蕴涵,Z包含于U,则XZ→YZ在R上成立。(XZ表示X∪Z,下同) 传递律:如果X→Y和Y→Z在R上成立,则X→Z在R上成立。 合并律:如果X→Y和X→Z成立,那么X→YZ成立。 伪传递律:如果X→Y和WY→Z成立,那么WX→Z成立。 分解律:如果X→Y和Z包含于Y成立,那么X→Z成立。 其实这些东西都不难理解,记住就行了。书上还有引理4.1:Armstrong是正确的(不 正确放这干什么?)和定理4.1:X→Y的充要条件是Y包含于X+(闭包就是这么定义的嘛!),结论 都没什么好说的,证明过程就算了吧。
5、函数依赖推理规则的完备性(识记)
Armstrong函数依赖推理规则系统是完备的。 属性集X+中的每个属性A,都有X→A被F逻辑蕴涵,即X+是所有由F逻辑蕴含X→A的属性A的集 合。 F+是所有利用Amstrong推理规则从F导出的函数依赖的集合 道理很简单,到这时,逻辑蕴涵、Armstrong规则、闭包这些概念应该有个整体的认 识:如果A逻辑蕴涵B,B一定在A的闭包中;A的闭包是由A根据Armstrong能推导出的所有函数依 赖。
6、闭包的计算(识记)
已知函数依赖集合F,如果知道X+,就能知道X→Y是否在F+中,所以,要会求X+,具体 求法是算法4.1,很简单的,看看例4.3就行,就是一个一个往后推,推到推不动为止。 定理4.3说那个算法是正确的,权且当成废话吧:)
7、函数依赖集的等价和覆盖(识记)
在关系模式R(U)上的两个函数依赖集F和G,如果满足F+=G+,则称F和G是等价的,称F和G等价也称 F覆盖G或G覆盖F。 每个函数依赖集F都可以被一个右部只有单属性的函数依赖集G所覆盖。 就是把合并律倒过来。
如果函数依赖集合F满足: (1)F中每一个函数依赖的右部都是单属性; (2)F中的任一函数依赖X→A,其F-{X→A}是不等价的; (3)F中的任一函数依赖X→A,Z为X的子集。(F-{X→A})∪{Z→A}与F不等价。 则称F为最小函数依赖集合。 如果函数依赖集F和G等价,并且G是最小集,那么称G是F的一个最小覆盖。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |