闭包和候与选码求解 .ppt

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

例2:设有关系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C}, 计算(AE)+ 候选码的求解理论和算法 对于给定的关系R(A1,A2,…An)和函数依赖集F,可将其属性分为4类: L类 仅出现在函数依赖左部的属性。 R 类 仅出现在函数依赖右部的属性。 N 类 在函数依赖左右两边均未出现的属性。 LR类 在函数依赖左右两边均出现的属性。 1、快速求解候选码的一个充分条件 定理:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,则X必为R的任一候选码的成员。 推论:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,且X+包含了R的全部属性;则X必为R的唯一候选码。 例1 设有关系模式R(A,B,C,D),其函数依赖集F={D→B,B →D,AD →B,AC →D},求R的所有候选码。 定理:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是R类属性,则X不在任何候选码中。 定理:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是N类属性,则X必包含在R的任一候选码中。 推论:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类和N类组成的属性集,且X+包含了R的全部属性;则X是R的唯一候选码。 2、多属性依赖集候选码求解方法 输入:关系模式R及其函数依赖集F 输出:R的所有候选码。 方法: (1)将R的所有属性分为L、R、N和LR 4类,并令X代表L、N两类,Y代表LR 类。 (2)求X+。若X+包含了R的全部属性,则X即为R的唯一候选码,转(5);否则,转(3)。 (3)在Y中取一属性A,求(XA)+。若它包含了R的全部属性,则转(4);否则,调换一属性反复进行这一过程,直到试完Y中的属性。 (4)如果已经找出所有候选码,则转(5);否则在Y中依次取出两个、三个、…求它们的属性闭包,直到其闭包包含了R的全部属性。 (5)停止,输出结果。 例2、 设有关系模式RU,F,其中 U={A,B,C,D,E,P}, F={A→B,C →P,E →A,CE →D} 求出R的所有候选码 例3 设有关系模式RX, Y, Z,其中 F={Y→Z,XZ →Y } 求出R的所有候选码, 并指出关系模式是第几范式 例4 设有关系模式RW, X, Y, Z,其中 F={X→Z,WX→Y } 求出R的所有候选码, 并指出关系模式是第几范式 例5 设有关系模式RB, C, M, T, A, G,其中 F={B→C,MT→B, MC →T, MA →T,AB →G } 求出R的所有候选码, 并指出关系模式是第几范式 * 解: (1) 令X={AE},X(0)=AE (2)在F中寻找尚未使用过的左边是AE的子集的函数依赖,结果是: A→D, E→C 所以 X(1)=X(0)DC=ACDE, 显然 X(1)≠X(0). (3) 在F中寻找尚未使用过的左边是ACDE的子集的函数依赖, 结果是: CD→I 所以 X(2)=X(1)I=ACDEI。虽然X(2)≠X(1),但F中寻找尚未使用过函数依赖的左边已经没有X(2)的子集,所以不必再计算下去,即(AE)+=ACDEI。 解:考察F发现,A,C两属性是L类属性,所以AC必是R的候选码成员, 又因为(AC)+=ABCD,所以AC是R的唯一候选码。 R的候选码 是 XY和XZ, 所有属性都是主属性,不存在非主属性对候选码的传递函数依赖,是3NF. R的候选码 是 WX, Y,Z 是非主属性, 非主属性X对候选码WX是部分函数依赖,是1NF. R的候选码 是 AM, 3NF. *

文档评论(0)

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

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

1亿VIP精品文档

相关文档