第03章 系数据理论.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第03章 系数据理论

* 例:设有关系模式R(U,F),U={A,B,C},F={AB→C,C→B},该关系模式是3NF的,因为存在一个主属性对非主属性的函数依赖C→B,所以该模式不是BCNF。 为了达到BCNF就必须进行分解,但是任何分解都会破坏函数依赖AB→C。 所以为了保持函数依赖,就必须放弃BCNF。 * 在实践中BCNF的意义并不大,因为我们对模式分解的要求总是既要保证无损连接、又要保持函数依赖。那么,当一个关系是3NF时: 关键字是单属性时,该模式自然是BCNF; 关键字是复合属性,并且不存在主属性对非主属性的函数依赖,则该模式自然是BCNF; 关键字是复合属性,并且至少存在一个主属性对非主属性的函数依赖,则为了保持函数依赖,模式分解无法达到BCNF。 * 判断一个分解是否保持函数依赖,可以根据函数依赖的最小覆盖和等价来判断。 * 判断一个分解是否具有无损连接特性可以用如下法则:关系模式R分解为R1和R2是无损连接分解的充分必要条件是: R1 ∩ R2 → R1 - R2 或 R1 ∩ R2 → R2 – R1 例如分解后的 ρ3= {R1({emp,wh},{emp→wh }), R2({wh,city},{ wh→city })} * 3NF无损连接和保持函数依赖算法 * 对R(U,F)中的F进行最小化处理,即计算F的最小覆盖,并将最小等价依赖集仍然记为F; 若有X→A,并且X∪A=U,则ρ={R},算法终止; 找出不在F中出现的属性(即与F中任意函数依赖的左部和右部都无关的属性), 把这样的属性构成一个关系模式R0(U0,Φ),并把U0从U中去掉,剩余的属性仍然记为U; 对F按具有相同左部的原则进行分组(假定分为k组),每一组函数依赖Fi所涉及的全部属性形成属性集Ui,若Ui?Uj(ij),就去掉Ui ; 经过以上步骤得到的分解ρ={R0,R1,…,Rk}(R0可能为空,1…k可能不连续)构成R的一个保持函数依赖的分解,并且每个Ri均为3NF; 设X是R(U,F)的关键字,并令τ=ρ∪RX(X,FX) ; 若对某个Ui ,如果X?Ui ,则将RX 从τ中去掉,或Ui?X,则将Ri从τ中去掉; 最后τ就是所求分解。 3NF保持函数依赖和无损连接的分解算法 * 3NF无损连接和保持函数依赖算法举例 * 设有函数依赖集合: F={A→B,A→C,B→A,B→C,AE→D,BD→G,D→E} 利用算法3.2求得的最小覆盖集是: F’={A→B,B→A,B→C,AE→D,BD→G,D→E} 按照算法3.3得到的模式分解是: τ={ R1({A,B,C},{B→AC,A→B}), R2({A,E,D},{AE→D,D→E}), R3({B,D,G},{BD→G}) } * 使分解后的关系模式数最少 * 算法3.3已经保证了: 3NF分解; 保持函数依赖分解; 无损连接分解; 一般为了操作方便,我们还希望: 分解的关系模式数最少 * 还是刚才那个依赖集: F={A→B,A→C,B→A,B→C,AE→D,BD→G,D→E} 利用算法3.2求得的最小覆盖集是: F’={A→B,B→A,B→C,AE→D,BD→G,D→E} 注意:(AE)F’+={A,B,C,D,E,G} 所以AE → BD和AE → G?F’+ 设F”=F’∪{AE→BD,AE→G} 显然有F’与F”等价。 根据F”再计算最小覆盖,结果是: 分解结果是:R1(A,B,C)、R2(A,D,E,G) Fm={A→B,B→A,B→C,AE→D,AE→G,D→E} 由于AE为主码, 并已知A→B,则AE→B 又已知AE→D,则AE→BD; 再已知BD →G ,可得AE→G * 定义3.14:若G是F所有等价集中函数依赖个数最少的,则称G是F的最小等价集。 * 定义3.15 设Γ(X→Y,F)={V→W|V→W∈F, V→W 参与推导X→Y },Δ(X,F)={V→W| V→W∈F, V→X ∈F+, X→V ∈F+},则当Γ(X→Y,F)∩Δ(X,F)=Φ,Y∈XF+ 时,称X直接决定Y,记为 。 定义中Γ(X→Y,F)表示包含在F中推导X→Y时用到的全部函数依赖;Δ(X,F)表示依赖集F中函数依赖的左部与X能相互决定的函数依赖集,或称左部与X等价的函数依赖集。 X直接决定Y也可以叙述为Γ(X→Y,F)中所有函数依赖的左部都不能决定X 。 * 算法3.4 设F是无冗余和既约化的函数依赖集,求F的最小等价集的算法如下: 1.把F中的函数依赖按左部等价进行分组; 2.任一组中

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档