关系模式规与范化.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  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文档。上传文档
查看更多
关系模式规与范化

关系模式的规范化 教学目标 1.了解关系模式规范化的作用 2.掌握第一范式—重点 掌握第二范式—重点 3.掌握第三范式—重点 一起分析下表存在的问题 问题如下 1.数据冗余大(肉眼可见) 2. 插入异常(先找出主码为:学号和课名;当学校还没开始招生时,系的信息插不进去,因为缺少学号) 3. 删除异常(当学生都毕业了,删除学生信息时连系的信息也删除了) 4. 修改异常(某系换主任,则改系学生记录应全部修改,若有不慎,某些记录漏改了,则造成数据不一致,即出现更新异常) 回顾关系模式 分析产生上述问题的原因 用关系模式描述如下: 学生(学号,姓名,年龄,所在系,系主任,课名,成绩) 学号→姓名,学号→年龄,学号→所在系,所在系→系主任,(学号,课名) →成绩 部分依赖: (学号,课名) →姓名 完全依赖: (学号,课名) →成绩 传递依赖:学号→所在系,所在系→系主任 关系模式规范化的作用 关系数据库的设计主要是关系模式设计。关系模式设计的好坏直接影响到数据库设计的成败。将关系模式规范化,是设计较好的关系模式的惟一途径。 关系模式的规范化主要是由关系范式来完成的。 关系范式 所谓范式(Normal Form,NF)是指规范化的关系模式。由规范化程度不同,就产生了不同的范式。根据满足条件的不同,经常称某一关系模式R为“第几范式”。 从1971年起,E.F.Codd相继提出了第一范式、第二范式、第三范式,Codd与Boyce合作提出了Boyce-Codd范式。在1976-1978年间,Fagin、Delobe以及Zaniolo又定义了第四范式。到目前为止,已经提出了第五范式。每种范式都规定了一些限制约束条件。 为什么要设计规范化的数据库? 未经规范化的数据库一般都有下述缺点: 较大的数据冗余,数据一致性差,数据修改复杂,对表进行插入、删除、更新时会产生插入、更新、删除异常。 规范化的作用就在于尽量去除冗余,使数据保持一致,使数据修改简单,除去在表中进行插入、删除时产生的异常,规范化后的表一般都较小。 课本:P187 第一范式(1NF) 第一范式(1NF) 例如,如下的数据库表是符合第一范式的: 第一范式(1NF) 第一范式(1NF) 例:如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话 和一个家里电话号码) 规范成为1NF 总结:不能有重复的列,列不可再分. 不满足第一范式条件的关系为非范式关系,在关系数据库中,凡非范式关系必须要化成范式关系. 第二范式(2NF) 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF) 。 第二范式举例 假定选课关系表为 (学号, 姓名,年龄,所在系,系主任,课名,成绩),关键字为组合关键字(学号,课名) 其中(学号,课名)→(学号,姓名,年龄,所在系,系主任,成绩)   这个数据库表不满足第二范式,因为存在如下决定关系: (学号,课名)→(成绩) (学号)→(学号,姓名,年龄,所在系,系主任) 即存在组合关键字中的字段决定非关键字的情况。 第二范式举例 由于不符合2NF,这个选课关系表会存在如下问题: (1) 数据冗余 (2)插入异常(新学生还未选课) (3) 删除异常(不选课了要删除课名这个主键) (4) 更新异常(换系或换系主任,修改容易漏) 第二范式举例 解决办法:消除非主属性对键码的部分依赖 (学号,课名) → (成绩)    (学号) → (姓名,年龄,所在系,系主任) 选课(学号,课名,成绩) 学生(学号,姓名,年龄,所在系,系主任) 这样的数据库表是符合第二范式的,消除了数据冗余、更新异常、插入异常和删除异常。 第二范式习题 假定选课关系表为SelectCourse(学号, 姓名, 年龄, 课程名称, 成绩) 第三范式(3NF) 第三范式举例 假定关系表2NF为: 选课(学号,课名,成绩) 学生(学号,姓名,年龄,所在系,系主任)    即存在非关键字段对关键字段“学号”的传递函数依赖。学号→所在系,所在系→系主任 分析 第三范式举例结果 解决方法: 选课(学号,课名,成绩) 学生(学号,姓名,年龄,所在系) 系(所在系,系主任) 这样的数据库表是符合第三范式的,消除了数据冗余、更新异常、插入异常和删除异常。 第三范式题目 假定学生关系表为Student(学号, 姓名, 年龄, 所在学院, 学院电话),关键字为单一关键字“学号”,因为存在如下决定关系:   (学号) → (姓名, 年龄, 所在学院, 学院电话 ) 总结 规范化目的是使结构更合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新 原则:遵从概念单一化

文档评论(0)

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

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

1亿VIP精品文档

相关文档