第四章 关系数据库规范化理论.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * 数据依赖对关系模式的影响 描述学生选课的数据库 学生课程(学号,姓名,性别,年龄,所在系,课程号,课程名,先修课程号,学分,成绩) 单一的关系模式 : 学生选课 U、F U={学号,姓名,性别,年龄,所在系,课程号,课程名,先修课程号,学分,成绩} * * 学生选课数据库的语义 1、一个系有若干学生, 一个学生只属于一个系; 2、一个学生可以选修多门课程, 每门课程有若干学生选修; 3、每个学生所学的每门课程都有一个成绩。 * * 属性组U上的一组函数依赖F F={学号→姓名,学号→性别,学号→年龄,学号→所在系,课程号→课程名,课程号→先修课程号,课程号→学分,(学号,课程号)→成绩 } 学号 课程号 姓名 课程名 成绩 * * 关系模式学生选课 U、F存在的问题 数据冗余太大 浪费大量的存储空间 学生的姓名、性别等信息重复存储 删除异常(Deletion Anomalies) 不该删除的数据不得不删 学生都毕业时,此关系的所有记录都删除。课程仍然存在,但在库中找不到课程信息。 * * 插入异常(Insertion Anomalies) 该插的数据插不进去 关系模式的码为(学号,课程号) 当无学生选修某门课程时,尽管该课程信息已存在,却无法插入课程信息。 更新异常(Update Anomalies) 数据冗余 ,更新数据时,维护数据完整性代价大。 某学生更改系后,系统必须修改与该学生有关的每一个元组 * * 结论 学生选课关系模式不是一个好的模式。 “好”的模式 不会发生插入异常、删除异常、更新异常 数据冗余应尽可能少 * * 原因 由存在于模式中的某些数据依赖引起的 解决方法 通过分解关系模式来消除其中不合适的数据依赖。 * * 规范化理论 基于关系模式中属性值之间的相互关系或约束条件来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。 如果G+=F+,就说函数依赖集F覆盖G(F是G的覆盖,或G是F的覆盖),或F与G等价。 F+ = G+ 的充分必要条件是F ? G+ ,和G ? F+ 。 要判定F ? G+,只须逐一对F中的函数依赖X→Y,考察 Y 是否属于XG++ 就行了。 * * ND ──────────── NL ────────── 学号 所在系 学号 宿舍 ──────────── ────────── 95001 CS 95001 A 95002 IS 95002 B 95003 MA 95003 C 95004 IS 95004 B 95005 PH 95005 B ──────────── ─────────── * * ND NL ────────────── 学号 所在系 宿舍 ────────────── 95001 CS A 95002 IS B 95003 MA C 95004 CS A 95005 PH B ────────────── 与SL关系一样,因此没有丢失信息 * * 定义4.15 设有关系模式R(U,F),分解为R1( U1,F1)、 R2(U2,F2)、…、Rn(Un,Fn) ,若对于R的任意一个可能的关系r,都有r =r1∞r2∞…∞rn,即关系r在R1、R2、…、Rn上的投影的自然连接等于关系r,则称R的这个分解是具有无损连接的。 具有

文档评论(0)

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

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

1亿VIP精品文档

相关文档