范式与其对数据库设计指导意义.pptVIP

  1. 1、本文档共76页,可阅读全部内容。
  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文档。上传文档
查看更多
第2章 范式及其对数据库设计的指导意义 2.1 问题的引出 2.2 范式理论概述 2.3 1NF及对实践的指导意义 2.4 函数依赖 2.5 2NF及对实践的指导意义 2.6 3NF及对实践的指导意义 2.7 BCNF-扩充的第三范式 2.8 范式应用实例分析 2.9 范式的局限 - 对冗余的进一步讨论 2.1 问题的引出 手工表格设计原则: 尽可能地减少重复:我们把学生基本信息表以班级为单元组织,这样班级信息就可放在表头,避免了每个学生都出现重复的班级信息。 避免重复也就减少了填写表格的工作量及出现不一致差错的可能性。 达到上述目标的方法是进行多表的设计:学生信息表和班级信息表。 这些设计原则就是关系型数据库设计的范式中所要求的内容,上述三部分叙述对应范式中的冗余、各种异常和模式分解。 2.2 范式理论概述 1)范式理论形成: 1971年,由1970年首先提出“大型共享数据库数据的关系模型”的关系数据库之父 Edgar Frank Codd相继提出了三级规范化形式1NF-3NF 1974年,E.F.Codd和Boyce共同提出BCNF 1977 Ronald Fagin提出了第四范式 以后又相继提出了5NF(Project-Join Normal Form (PJ/NF)) 、DKFN(Domain/Key Normal Form)和6NF 2)各范式之间关系:1NF?2NF ?3NF ?BCNF ?4NF ?5NF ?DKNF?6NF 3)规范化方法:一个属于低一级的范式的关系模式可以通过模式分解转换成属于高一级范式的关系模式,这个过程称为关系模式的规范化。 4)规范化目的:消除关系中的数据冗余 由于数据冗余引发的问题: 浪费了存储资源,并且重复的数据占用的空间随数据量的递增而递增。 由于数据的重复,为保证数据的一致性,将增加数据维护(插入、更新和删除)的代价,从而降低了系统的开发和运行效率 各种意外还是可能造成重复数据的不一致,从而降低了系统的稳定性和可靠性。 是产生插入,更新和删除异常根源(见下例) 插入,更新和删除异常实例: 假设存在下列关系,包含学生和系的基本信息: 学号 姓名 所在系 系主任 001 zhang 数学 Mr Li 002 wang 数学 Mr Li 003 zhou 数学 Mr Li 004 feng 计算机 Mr chen 005 dong 计算机 Mr chen 该关系存在插入,更新和删除异常。 插入异常:当新成立一个系但还没有学生时,产生插入异常。 删除异常:当一个系的学生被全部删除后,系信息也被删除。 更新异常:当系名称或系主任发生变化,必须同时更新这个系所有学生记录,若漏改一个,就产生更新异常。 5)规范化理论对实践的指导意义 异常分类:关系设计不规范引起插入,更新和删除异常有的可以通过严密的算法避免发生,有的则不能避免。在上例中,插入和删除异常不可避免,而更新异常却可以避免。 不可避免异常:若数据库的设计中存在不可避免的异常时,需求将无法实现,设计者会自觉地消除这些异常。在上例中,一般会增加一个“系(系名,系主任)”关系来排除不可避免的插入和删除异常。这时,规范化设计成为设计师自觉的行动 可避免异常:关系规范化理论对设计者有指导意义的是消除可避免异常引起的数据冗余。 冗余和范式关系: 一般消除了一个关系中的数据冗余(除外键引用为必要的数据冗余外),该关系也就符合了范式要求。 一个关系符合范式要求,一般就不会产生数据冗余,但必须注意的是范式可以消除一个关系中的(单行)数据冗余,但不能消除一个表的行间冗余和多个关系之间的数据冗余。 2.3 1NF及对实践的指导意义 第一范式是关系数据模式必须遵循的规范,其他规范均建立在此基础之上 关系的一切数学理论均基于关系模式服从1NF 是唯一没有严格定义的范式,容易被忽视和误解 2.3.1 1NF的最常见的表述及认识上的误区 若一个表中所有列是不可再分的数据项(原子项),就称这样的设计属于或服从第一范式 如一个学生的成绩包括“高等数学”、“英语”和“计算机科学”等,则成绩不能作为学生关系中的一 个属性。 要使其符合1NF,必须把“高等数学”、“英语”和“计算机科学”成绩直接作为学生关系的属性。 由于关系数据库中表中列之间的关系相互并列,本身不支持层次结构或数组,所以表面上看,只要是二维表,就一定符合1NF 2.3.2 1NF另一种表述和全面理解1NF 若一个表中不包含任何重复的数据项,称这样的设计属于或服从第一范式。 所谓重复的数据项是指这些数据项具有相同性质并且数据项数量具有变化的预期 由“学号”、“姓名”、“高等数学”、“英语”和“计算机科学”构成的二维表,在课程可能增加和变化的情况下,它仍然不符合1NF。

文档评论(0)

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

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

1亿VIP精品文档

相关文档