• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 小学学习 > 正文

    数据库中候选码例题_数据库课程中基于图的关系候选码分析方法

    时间:2019-01-03 03:23:47 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘 要: 在数据库课程教学中,分析关系的候选码是认识关系的第一步,也是进一步学习关系数据理论的基础。本文从关系候选码的定义出发,在分析数据依赖的基础上,提出一种基于图形方式的关系候选码分析方法,并通过举例说明该方法在实际中的运用。实践证明,本方法在数据库课程教学过程中具有良好效果。
      关键词: 数据库 关系候选码 数据依赖 完全函数依赖
      
      从E.E.Codd提出关系规范化理论至今,关于这一理论的研究已经取得了很多成果。对于关系的候选码,在规范化理论中有严格的定义,但是针对具体的关系,尤其当没有给出关于关系的具体的语义信息时,只是已知关系的属性组及属性组上的数据依赖的情况下,该如何分析出关系的候选码,目前已经有一些研究,[1]-[2]但这些方法都较为复杂,不利于学生的掌握。本文提出一种基于图的分析方法,可以快速得到关系的候选码。
      1.基于图的关系候选码分析方法介绍
      分析关系的候选码的方法,主要依据的是候选码的定义[3],即设K为关系R〈U,F〉中的属性或属性组合,若KU,则K为R的候选码。其中,R为关系名,U为关系R的一组属性,F为属性组U上的一组数据依赖,KU表示U对K完全函数依赖。所谓数据依赖就是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系。
      现在已经提出的数据依赖的类型[4]-[5]主要有:
      •函数依赖(Functional Dependency,简称FD);
      •多值依赖(Multivalued Dependency,简称MVD);
      •联接依赖(Join Dependency,简称JD)。
      本文主要讨论的是函数依赖。函数依赖的定义[3]是:设R(U)是属性集U上的关系模式,X、Y是U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。完全函数依赖是指在R(U)中,如果X→Y,并且对于X的任何一个真子集X′,都有X′→Y,则称Y对X完全函数依赖,记作:XY。
      分析具体关系的候选码时,主要解决三个问题:
      首先,确定已知关系R〈U,F〉中哪些属性或属性组作为候选码的判断对象,设判断对象为K;
      其次,对所有的判断对象K逐一判断是否满足K→U;
      最后,对已经满足K→U的判断对象K再判断是否满足KU。
      1.1确定候选码的判断对象K
      确定已知关系R〈U,F〉中哪些属性或属性组作为候选码的判断对象(设判断对象为K)主要根据候选码的定义。由候选码的定义可知K可以是关系R中的属性,也可以是关系R中的属性组。这似乎就使选取候选码的判断对象的问题变成了一个组合问题,即若U中的属性个数为n,候选码的判断对象的个数就有可能是C(n,1)+C(n,2)+…+C(n,n)。在C(n,1)+C(n,2)+…+C(n,n)种可能中,是否有必要对每一种可能判断其满足K→U?回答是否定的。因为对于没有出现在F中的属性或属性组,我们没有判断其是否满足K→U的依据,所以也就没有判断的必要。据此,将候选码的判断对象的范围缩小为在F中出现的属性或属性组。
      对于F中的任何一个数据依赖X→Y,称X为函数依赖中的决定因素,Y为函数依赖中的被决定因素。故在F中出现的属性或属性组有两种情况:决定因素和被决定因素,所以将候选码的判断对象确定为F中的决定因素和被决定因素。
      1.2判断是否满足K→U
      对所有的判断对象K逐一判断是否满足K→U。采用图示的方法,表示这一判断过程。对于F中的任何一个数据依赖X→Y,“→”用有向边表示,并以决定因素X为起点指向被决定因素Y;每一个判断对象对应一个U(关系R的所有属性),并且在U中用圆圈将判断对象圈起,表示该判断对象已知;然后对每一个判断对象在F中找出与之有关的数据依赖,并用有向边在U中一一标出。当某一个判断对象所对应的U中,除了判断对象被圆圈圈起外,其余属性都被有向边所指时,就满足K→U。否则,就不满足K→U。
      1.3判断是否满足KU
      对已经满足K→U的判断对象K,再判断是否满足KU。如果K为关系R中的属性,K的任何一个真子集K1是Ф,就有K1U,即满足KU。即如果K为关系R中的属性,K的任何一个非空真子集K′都是不存在,所以无需再判断K′是否满足K′→U,该K就是关系R的候选码。如果K为关系R中的属性组,对于K的任何一个非空真子集K′,都要采用图示方法讨论它是否满足K′→U。只要有一个非空真子集K′满足K′→U,那么就不满足U对K完全函数依赖,即该K不是关系R的候选码。
      2.基于图的关系候选码分析方法举例
      本节通过一个多码的例子说明基于图的关系候选码的分析过程。假设已知关系R的定义如下:R,要求分析关系R的候选码。
      第一步:确定候选码的判断对象K
      F中的决定因素:AB,C,BC,ACD
      被决定因素:A,B,C,D
      第二步:判断是否满足K→U
      所以,满足K→U的判断对象K有AB,BC,ACD。
      第三步:判断是否满足KU
      AB的非空真子集K′是A,B。在第二步已经判断过K′→U,所以ABU。
      BC的非空真子集K′是B,C。在第二步已经判断过K′→U,所以BCU。
      ACD的非空真子集K′是A,C,D,AC,CD,AD。A,C,D在第二步已经判断过K′→U,所以现在只需判断AC,CD,AD。
      所以ACDU,CDU。
      关系R的候选码是AB,BC,CD。
      关系候选码的定义是抽象、简洁的。但是对于关系数据理论的初学者,分析关系的候选码却常常遇到困难,尤其是对比较复杂的关系更是无从下手。运用该方法可以将抽象、简洁的定义,转换为形象、简单的分析过程,从而成为认识关系和学习关系数据理论的工具和帮助。
      
      参考文献:
      [1]严云洋,杨民.关系数据库模式中候选码的求解算法[J].现代计算机,1999,(06).
      [2]姜翠霞.关于确定关系模式的候选码的研究[J].齐齐哈尔大学学报,2003,(04).
      [3]萨师煊,王珊.数据库系统概论[M](第三版).北京:高等教育出版社,2000.
      [4]施伯乐,丁宝康.数据库技术[M].北京:科学出版社,2002.
      [5]王能斌.数据库系统教程[M](上).北京:电子工业出版社,2002.
      
    本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

    推荐访问:候选 课程 关系 数据库

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章