第三章规范化.pptVIP

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

第三章 关系模式的规范化 ‘ 第三章 关系模式的规范化 规范化的定义 规范化是一种科学的方法,通过使用某些规则把复杂的表格结构分解为简单的表格结构 你可以使你降低表中的冗余和消除不一致和磁盘空间利用的问题 规范化导致于满足某些特定规则和表示某些规范形式的表的建立 第三章 关系模式的规范化 关系规范化的目的: 设计合理 减少冗余 提高查询效率 第三章 关系模式的规范化 关系规范化分为若干个等级,每个等级称为一个范式 随着范式级别的提高,关系的冗余度减低,但数据的分解就越细,查询数据时花在连接数据上的时间就增加,应用程序的编写难度增大. 3.1 模式规范化的必要性 3.1.1关系数据库设计理论的内容: 数据依赖 范式 模式设计方法 3.1.2为什么要规范化? 如果关系模式设计不合理,会造成以下异常情况的出现: 关系数据库设计中存在的问题(Ⅰ) 示例: 考虑为管理职工的工资信息而设计一个关系模式。 关系数据库设计中存在的问题(Ⅱ) 问题:麻烦! 麻烦!! 好麻烦!!! 唉,剪不断,理还乱 插入异常:如果没有职工具有8级工资,则8级工资的工资数额就难以插入。 删除异常:如果仅有职工赵明具有4级工资,如果将赵明删除,则有关4级工资的工资数额信息也随之删除了。 数据冗余:职工很多,工资级别有限,每一级别的工资数额反复存储多次。 更新异常:如果将5级工资的工资数额调为620,则需要找到每个具有5级工资的职工,逐一修改。 关系数据库设计中存在的问题(Ⅲ) 解决之道:分解! 分解!! 再分解!!! 哇,原来生活可以如此简单! 3.1.2 存储异常问题(例1) 3.1.2 存储异常问题 3.1.2 存储异常问题 3.1.2 存储异常问题 3.1.2 存储异常问题 为什么要规范化?(例2) 举例:学生选课(第一种方案) 学生-课程-选课关系(学号,姓名,性别,出生日期,入学时间,系,课程号,课程名,学时数,成绩) 问题:数据冗余,修改异常,插入异常,删除异常 为什么要规范化?(例2) 举例:学生选课(第二种方案) 学生关系(学号,姓名,性别,出生日期,入学时间,系) 课程关系:课程(课程号,课程名,学时数) 选课关系:选课(学号,课程号,成绩) 3.2 模式的规范化 3.2.1 模式的规范化-第一范式 定义:在关系模式R中的每一个具体关系r中,如果每个属性值都是不可再分割的最小数据单位,则称R是第1范式的关系,记为R ?1NF 3.2.1 模式的规范化-第一范式 举例1(原表) 3.2.1 模式的规范化-第一范式 举例1(规范化之后的表) 3.2.1 模式的规范化-第一范式 举例2(原表) 3.2.1 模式的规范化-第一范式 举例2(规范化之后的表) 3.2.1 模式的规范化-第一范式 使一个不规范的关系符合第一范式的方法: 包含多个值的字段分解成多个字段使得每个字段只包含一个不可再分的最小数据单位. 3.2.2 模式的规范化-第二范式 定义1:函数依赖: 3.2.2 模式的规范化-第二范式 定义2:函数部分依赖: 一个关系R中的非主属性函数依赖于键的一部份而不是整个键. 记为: X(p)?Y 例如:SC(SNO,CNO,GRADE,CREDIT)中CREDIT 只函数依赖于CNO,而不是整个键(SNO,CNO) 3.2.2 模式的规范化-第二范式 第二范式定义: 若R?1NF,且每一个非主属性完全函数依赖于键,则R ? 2NF。 3.2.2 模式的规范化-第二范式 使得表符合2 NF的方法: 找 出并抹去函数依赖于键的一部份而不是整个键的属性,将它们放到不同的表中 解决之道:分解!分解!再分解!!! 在上例中把表分解为: W1(日期,工号,超额) W2(工号,姓名,工种,定额,车间,车间主任) 3.2.2 模式的规范化-第二范式(举例) 3.2.2 模式的规范化-第二范式 例子问题(符合1NF,但还有问题) 数据冗余: CREDIT 重复多次 更新异常: 调整CREDIT,相应元组也要更新.会产生数据不一致 插入异常:下学期的新课,学生没有选修,由于主关键字SNO为空,所以无法插入. 删除异常:学期结束后,课程结束,删除课程,同时删除了学生的成绩等 3.2.2 模式的规范化-第二范式 例子中问题的关键: 关系SC1(SNO,CNO,GRADE,CREDIT)中,CREDIT 部分函数依赖于主键(SNO,CNO) 3.2.2 模式的规范化-第二范式 解决方法:分解!分解!再分解! 把SC1(SNO,CNO,GRADE,CREDIT)分解为: SC1(SNO,CNO,GRADE) C2(CNO,CREDIT) 3.2.3 模式的规范化-第三范式 定义1:传递函数依赖: 关系R中有X

文档评论(0)

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

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

1亿VIP精品文档

相关文档