候选码及求解方法.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
候选码及求解方法

候选码的求解方法 姓名:xxx 学号:xxxxxxx 班级:xxxxxx 在我们学习数据库原理与应用时,经常会遇到求解关系模型的一些相关问题,要看懂一个关系模型,我们必须知道这个关系模型中的候选码才能更好求解关系模型的问题,那么我该如何快速确定关系模型中的候选码呢?为此我查找相关资料得出以下一些方法,希望对我们的学习有所帮助。 一、根据候选码的相关定理和推论求解候选码 定理1 对于给定的关系模式R 及其函数依赖集F,若X(X∈R)是L 类属性,则X 必为R 的任一候选码的成员。 推论l 对于给定的关系模式R 及其函数依赖集F,若X(X∈R)是L 类属性,且X+包含了R 的全部属性,则X 必为R 的唯一候选码。 定理2 对于给定的关系模式R 及其函数依赖集F,若X(X∈R)是R 类属性,则X 不在任何候选码中。 定理3 设有关系模式R 及其函数依赖集F,如果X 是R 的N 类属性,则X 必包含在R 的任一候选码中。 推论2 对于给定的关系模式R 及其函数依赖集F,如果X 是R 的N 类和L 类组成的属性集,且X+包含了R 的有属性,则X 是R 的唯一候选码。 二、利用属性闭包进行候选码求解的算法 1、属性分类相关定义 对于给定的关系模式R(U,F),其属性分为4 类:L 类(仅出现在F 的函数依赖左部的属性);R 类(仅出现在F 的函数依赖右部的属性);N 类(在F 的函数依赖左部和右部均未出现的属性);LR 类(在F 的函数依赖左部和右部两部均出现的属性)。 2、算法描述 (1)将R 的所有属性分为L、R、LR 和N 四类,并令X 代表L、N 类,Y 代表LR 类。 (2)求X+。若X+包含了R 的全部属性,则即为R 的唯一候选码,转(5);否则,转(3)。 (3)在Y 中取一属性A,求(XA)+ ,若它包含了R 的全部属性,则是候选码,转(4);否则,调换一属性反复进行这一过程,直到试完所有Y 中的属性。 (4)如果已找出所有候选码,则转(5);否则在Y 中依次取2 个、3 个、…,求它们的属性闭包,若其闭包包含R 的全部属性,则是候选码。 (5)结束。 3、举例 例1设关系模式R=(A,B,C,D),函数依赖集F={D→B,B→D,AD→B,AC→D},求R 的候选码。 解(1)L=(A,C),R=准,LR=(B,D),N=准;(2)L∪N=(A,C),因为(AC)+=ACBD=R,所以AC 是唯一候选码。 例2 设关系模式R=(A,B,C,D,E,F),函数依赖集F={A→BC,BC→A,BCD→EF,E→C},求R 的候选码。 解(1)L=(D),R=(F),LR=(A,B,C,E),N=准; (2)L∪N=(D)D+=D; (3)因为DA+=DABCEF=R,DB+=DB DC+=DC,DE+=DEC, 所以DA 是候选码; (4) 因为DBC+=DBCAEF=R,DBE+=DBECAF=R,DCE+=DCE, 所以DBC、DBE 是候选码; (5)R 的候选码有DA、DBC、DBE 三、利用函数依赖图求解候选码 1、相关知识 定义 在有向图中,把关系模式的属性作为顶点,属性之间的函数依赖关系作为有向边,这样的有向图称为该关系模式的函数依赖图,即FDG(Function Depend Graph)。 在一个函数依赖图中,存在下列术语: 原始点:只有引出线而无引入线的结点,它表示对应L 类属性; 终结点:只有引入线而无引出线的结点,它表示对应R 类属性; 途中点:既有引入线又有引出线的结点,它表示对应LR 类属性; 孤立点:既无引入线又无引出线的结点,它表示对应N 类属性; 关键点:原始点和孤立点的统称; 关键属性:关键点对应的属性; 独立回路:不能被其它结点到达的回路。 2、 利用函数依赖图求解候选码的算法 左边为单属性的候选码求解算法描述 (1)求最小函数依赖集Fm; (2)构造函数依赖图FDG; (3)从图中找出关键属性集X; (4)查看FDG 有无独立回路,若无则X 即为R 的唯一候选码,转(6),若有,则转(5);(5)从各独立回路中各取一结点对应的属性与X 组合成一候选码,并重复这一过程,取尽所有可能的组合,即为R 的全部候选码; (6)结束。 3、举例 例3 设R=(O,B,I,S,O,D),F={S→D,I→B,B→O,O→Q,Q→I},求R 的候选码。 解(1)Fm=F={S→D,I→B,B→O,O→Q,Q→I} (2)构造函数依赖图如图1 所示; (3)关键属性集:{S}; (4)共有1 条独立回路IBOQI (5)R 的所有候选码为SI,SB,SO,SQ。 5.3 左边为多属性的候选码求解算法[7] 要寻找关系模式的候选码,只要找出一组顶点,通过

文档评论(0)

liwenhua00 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档