- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 关系规化
第二章 关系规范化(关系数据库设计理论) 关系数据库设计理论是设计一个好 的数据库系统的指南,研究面对一个现 实问题如何选择比较好的关系模式集 合。 关系规范化基础是关系模式分解转 换的过程,其目的使关系模式更合理、 更规范。 第一节 规范化问题 一、讨论范围 1、 数据库逻辑设计要解决的问题 给出一组数据,如何构造一个适合的数 据模型,在关系数据库中应该组织成几个关 系模式,每个关系模式包括哪些属性。 2、在以关系模型为基础的数据库中,用关 系来描述现实世界。关系具有概念单一性特 点,一个关系既可以描述一个实体,也可以 描述实体间的联系。 一个关系模型包括一组关系模式,各个 关系不是完全孤立的。只有它们相互间存在 关联,才能构成一个模型。这些关系模式 的全体定义构成关系数据库模式。 3、关系数据库设计理论主要包括三方面 的内容: 数据依赖 (设计依据) 范式(Normal Form)(设计标准) 模式设计方法(方法) 数据依赖在此起着核心的作用。 二、存储异常问题 通过下例分析某些不恰当的关系模式可能 导致的问题。 例如:有教师任课关系模式TDC: TDC(T#,TNAME,TITLE,ADDR, D#,DNAME,LOC, C#,CNAME,LEVEL,CREDIT) 其中属性分别表示教师号、教师姓名、职 称、教师地址、系号、系名称、系地址、课程 号码、课程名、教学水平、学分。 在这个关系中,只有根据教师号和课程 号才能够确定哪位教师讲授哪门课程,因此 关系TDC的关键字是(T#,C#),表示方式为 ( T#,C# )。 该关系在使用过程中存在下面几个问 题: 1、数据冗余 每当教师开设一门课程时,该教师 的职称、地址等信息就重复存储一次。 一般每位教师都开设几门课,数据冗余 不可避免。一个系有很多教师,使关系 中的数据冗余度很大。 2、更新异常 由于数据的重复存储,会给更新带来 麻烦。如果一位任三门课的教师改变了 地址,三个元组的地址都要更新,一旦 一个元组的地址未修改就会导致数据不 一致。如果某个系改变办公地址,所要 修改的数据量会更大。 3、插入异常 如果学校新调入一个教师,暂时未主 讲任何课程。由于缺少关键字的一部分, 而关键字不允许出现空值,新教师就不能 插入到此关系中去。只有当他开设了课程 之后才能插入,这是不合理的。 4、删除异常 与插入异常相反,如果某些教师致力 于科研,不担任教学任务了,就要从当 前数据库中删除有关记录。那么关于这 些教师的其它信息将无法记载,这也是 极不合理的现象。 上述在插入、更新、删除或修改元组时 将产生的不希望发生的异常情况是由于关系 模式设计得不好所造成的。如果用下面四个 关系模式代替原来的一个关系模式,上述四 方面的问题就基本解决了。 T (T# , TNAME, TITLE, ADDR, D # ) D (D#,DNAME,LOC) C (C#, CNAME,CREDIT) TC(T#,C#,LEVEL) 新关系模型包括四个关系模式, 教师T和系D之间通过T中的外关键字 D#相联系,教师T与课程C之间多对 多的联系通过TC中的外关键字(T#, C#)相联系。 第二节 函数依赖 函数依赖反映了数据之间的内在 联系,是进行关系分解的指导和依据, 是本章讨论的中心问题。 现实世界中的事物是彼此联系,互相 制约的。这种联系分为二类: 一类是实体与实体之间的联系; 另一类是实体内部各属性之间的联系。 任何一种数据模型都不仅描述实体及 其属性,还要描述实体间的联系。下面 讨论属性之间的联系。 一、属性间的联系 1、 一对一联系(1:1) 借书证号和学号(读者关系): 在读者关系中,借书证号是唯一的,学 号也是唯一的,借书证号与学号两个属性 之间是1:1联系。学号可以确定借书证 号,借书证号也可以确定学号。 2、一对多联系(1:m) 书名和总编号(图书关系): 在图书关系中,一本书有若干副 本,它们有相同的书名、作者、分类号 等,但每本书有唯一的总编号。书名与 总编号之间是1:m,即同一个书名,有多 个总编号与之对应。 3、多对多联系(n:m) 借
原创力文档


文档评论(0)