◆第4章 关系数据库设计理论.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
◆第4章 关系数据库设计理论

第4章 关系数据库设计理论 本章要求: 了解数据冗余和更新异常产生的根源 了解函数依赖、多值依赖和键的基本内涵 理解关系模式规范化的途径 了解第四范式、第五范式的概念 掌握第一范式、第二范式、第三范式和BCNF范式的含义、联系与区别 第4章 关系数据库设计理论 本章内容: 4.1问题提出 一个基本的问题: 给出一组数据,如何构造一个合适的数据模式? 例如:对关系模型,给了一组数据,应该构造几个关系?每个关系由哪些属性组成?…… 这就是数据库逻辑设计问题! 4.1问题提出 网状、层次模型的数据库设计,主要凭设计者的经验直观地选择和确定实体集、属性以及实体间的联系。哪些实体应该合并或分解以及如何合并和分解、每个实体中应该包括哪些属性为宜、属性间的联系如何确定和处理等一系列问题的解决是没有什么固定规则和理论可循的。 4.1问题提出 关系数据库的设计是借助近代数学工具而提出来的,形成了一整套定义、公理、定理及各种实用算法,产生了确定、评价关系数据库模式的好方法。 4.1问题提出 要考虑的几个问题: 为什么要规范化? 怎样规范化? 规范化到什么程度后最合适? 本节首先用一个例子来说明对关系模式为什么要规范化,不经过规范化会产生什么样的结果。 4.1问题提出 4.1问题提出 S-L-C(Sno,Sdept,Sloc,Cno,Grade) 假设每个系的学生都住在一栋楼里, (Sno, Cno)为主码 4.1问题提出 假设每个系的学生都住在一栋楼里 该关系模式存在以下四个严重问题: 数据冗余 数据库中不必要的重复存储就是数据冗余。此关系中,有关学生所在系和其所对应的宿舍楼的信息有冗余,因为一个系有多少个学生,这个系所对应的宿舍楼的信息就要重复存储多少遍。 4.1问题提出 插入异常 应该存储的信息无法存储。插入记录时出现不能插入等一些不合理现象。如果某个学生还没有选课,但已经有了Sdept和Sloc信息,我们也不能将此学生的这些已知信息插入到数据库中。因为Cno为空,而Cno为主属性,不能为空,因此也就丢掉了该学生的其他基本信息。 4.1问题提出 删除异常 不该删除的信息被删除。如果一个学生只选了一门课,而后来又不选了,则应该删除此学生选此门课程的记录。但由于这个学生只选了一门课,那么删掉此学生的选课记录的同时也删掉了此学生的其他基本信息。 4.1问题提出 更新异常 由于数据的重复存储,会给更新带来很多麻烦。可能会导致数据的不一致,这将直接影响系统的质量。若某一学生从计算机系转到信息系,那么不但要修改学生的Sdept列的值,而且还要修改其Sloc列的值,从而使修改复杂化。 一方面,修改工作量大;另一方面,可能漏改或该错,会造成数据的不一致性。 4.1问题提出 上例充分说明对关系模式若随意设计,其后果是严重的。 本章将要讨论产生上述问题的原因以及解决办法,即如何改造一个不好的关系模式。 这就是规范化理论要解决的主要问题。包括数据依赖、模式分解和模式设计方法。其中数据依赖是模式分解和模式设计的基础。 第4章 关系数据库设计理论 本章内容: 4.2 数据依赖 数据模型中我们讨论了实体间的联系,同时提到实体内部属性间也有联系。 事实上,上一节中的问题都是由于属性间的联系引起的。 一、数据依赖属性间的联系: 1:1,1:n,m:n三种 1:1联系:设A、B为某实体集中的两个属性的值集,如果对于A中的任一值,B中至多有一个值与之对应,且反之亦然。如:车间--主任 4.2 数据依赖 1:n联系:设A、B为某实体集中的两个属性的值集,如果对于A中的任一值,B中有多个值(包括0个)之对应;而对于B中的任一值,A中至多有一个值与之对应。如:班号--学号 m:n联系:设A、B为某实体集中的两个属性的值集,如果对于A中的任一值,B中有多个值(包括0个)与之对应,且反之亦然。如:学号--课程号 4.2 数据依赖 通过一个关系中属性间值的相互关联(主要体现于值的相等与否)体现出来的数据间的相互联系(是数据内在的性质,语义的体现)为数据依赖。 两类最重要的数据依赖: 函数依赖 多值依赖 4.2 数据依赖 二、函数依赖 不严格地讲,函数依赖指的是一组属性值唯一决定另一组属性值的这种数据依赖。 学生关系中,当学号确定后,其姓名也就唯一确定了。 选课关系中,当学号和课程号确定后,其成绩也就唯一确定。 设用U表示关系模式R的属性全集,即 U={A1,A2 ,…An},用F

文档评论(0)

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

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

1亿VIP精品文档

相关文档