数据库原理与应用第二版课件作者赵杰杨丽丽陈雷第3章节关系数据库设计理论.ppt

数据库原理与应用第二版课件作者赵杰杨丽丽陈雷第3章节关系数据库设计理论.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 关系数据库设计理论 内容 数据库设计中存在的问题 设计学生关系模式S(SNO , SNAME , DEPT , HEAD , CNO , G)。 学号 姓名 系 系主任 课程号 成绩 数据库设计中存在的问题(续I) 问题 插入异常:如果一个系刚成立没有学生,或者有了学生但学生尚未选课,那么就无法将这个系及其负责人的信息插入数据库。 删除异常:如果某个系的全部学生都毕业了,则删除该系学生及其选修课程的同时,把这个系及其负责人的信息也丢掉了。 数据冗余:学生及其所选课程很多,而系主任只有一个,但其却要和学生及其所选课程出现的次数一样多。 更新异常:如果某个系要更换系主任,,就必须修改这个系学生所选课程的每个元组,修改其中的系主任信息。若有疏忽,就会造成数据的不一致。 数据库设计中存在的问题(续II) 原因:把多个实体型用一个关系模式表示 解决之道:分解 函数依赖 一个实体型的诸属性之间具有内在的联系。通过对这些联系的分析,我们可以做到一个关系模式只表示一个实体型的信息,从而消除上述问题。在关系模型中,实体类型属性间这种相互依赖又相互制约的关系称为数据依赖。 数据依赖是通过关系中属性间值的相等与否体现出来的数据间的相互关系,它是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。其中最重要的是函数依赖。 分析函数依赖关系可以改造性能较差的关系模式集合。 函数依赖(续I) 函数依赖极为普遍地存在于现实生活中。考察关系模式S(SNO , SNAME , DEPT , HEAD , CNO , G),由于一个SNO只对应一个学生,而一个学生只能在一个系中学习。因而当SNO的值确定后,SNAME和DEPT也被唯一地确定了。就像自变量x确定后,相应的f(x)也被确定了一样。我们说SNO函数决定(SNAME,DEPT),而(SNAME,DEPT)函数依赖于SNO。 函数依赖(续II) 定义 函数依赖:设R(U)是属性集U上的关系模式,X , Y ? U, r是R(U) 上的任意一个关系,如果对任意两个元组t , s ? r,若t[X] = s[X],则t[Y] = s[Y],那么称“X函数决定Y”,或“Y函数依赖于X”,记作X?Y。称X为决定因素或决定属性集。 如 SNO ? SNAME (SNO,CNO)? G 函数依赖(续III) 函数依赖是不随时间而变的。若关系R具有函数依赖X?Y,那么虽然关系R的值随时间而变化,从而R[X,Y] 也会发生变化,但R[X,Y]在任一特定时刻仍保持为一个函数。 函数依赖与属性间的联系类型有关。当X、Y之间是“1对1”联系时,则存在函数依赖X?Y和Y ?X。当X、Y之间是“多对1”联系时,则存在函数依赖X?Y。当X、Y之间是“多对多”联系时,则不存在函数依赖。 函数依赖(续IV) 函数依赖不是指关系模式R的某个或某些元组满足的约束条件,而是指R的一切元组均要满足的约束条件。 函数依赖是现实世界中属性间关系的客观存在和数据库设计者的人为强制相结合的产物。 函数依赖(续V) 平凡函数依赖:如果X ? Y,但Y?X,则称其为非平凡的函数依赖,否则称为平凡的函数依赖。 如(SNO,SNAME)? SNAME是平凡的函数依赖 部分函数依赖:在R(U)中,如果X?Y,且对于任意X的真子集X′,都有X’?Y ,则称Y对X完全函数依赖,记作X Y ,否则称为Y对X部分函数依赖,记作X Y (SNO,CNO) G (SNO,CNO) SNAME 函数依赖(续VI) 传递函数依赖:在R(U)中,如果X?Y,Y ? Z,且X不包含Y,Y ? X,则称Z对X传递函数依赖。 如:SNO ? DEPT,DEPT ? HEAD HEAD对SNO传递函数依赖。 函数依赖(续VII) 检验:A→C? C→A? A,B→D? 键 定义 超键:设K为R(U , F)的属性或属性组,若K? U,则称K为R的超键。 如:SNO ? U,(SNO,SNAME)? U 候选键:设K为R( U , F)的属性或属性组, 若K满足以下条件,则称K为R的一个候选键: K? U 不存在K的真子集Z使得Z ?U成立。 或者:设K为R(U , F)的超键,若K U,则称K为R的候选键。 如:SNO ? U 键(续I) 主键:若R(U , F)有多个候选键,则可以从中选定一个作为R的主键。 主键是唯一确定一个实体的最少属性的集合。 如:

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档