欢迎来到天天文库
浏览记录
ID:41108597
大小:519.51 KB
页数:79页
时间:2019-08-16
《◆第4章 关系数据库设计理论》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章关系数据库设计理论本章要求:了解数据冗余和更新异常产生的根源了解函数依赖、多值依赖和键的基本内涵理解关系模式规范化的途径了解第四范式、第五范式的概念掌握第一范式、第二范式、第三范式和BCNF范式的含义、联系与区别1第4章关系数据库设计理论本章内容:问题提出12数据依赖2规范化关系模式设计3综合举例424.1问题提出一个基本的问题:给出一组数据,如何构造一个合适的数据模式?例如:对关系模型,给了一组数据,应该构造几个关系?每个关系由哪些属性组成?……这就是数据库逻辑设计问题!34.1问题提出网状、层次模型的数据库设
2、计,主要凭设计者的经验直观地选择和确定实体集、属性以及实体间的联系。哪些实体应该合并或分解以及如何合并和分解、每个实体中应该包括哪些属性为宜、属性间的联系如何确定和处理等一系列问题的解决是没有什么固定规则和理论可循的。44.1问题提出关系数据库的设计是借助近代数学工具而提出来的,形成了一整套定义、公理、定理及各种实用算法,产生了确定、评价关系数据库模式的好方法。关系数据库的规范化理论——数据库逻辑设计的有力工具54.1问题提出要考虑的几个问题:为什么要规范化?怎样规范化?规范化到什么程度后最合适?本节首先用一个例子来说
3、明对关系模式为什么要规范化,不经过规范化会产生什么样的结果。64.1问题提出例:假设有一个关于学生选课和住宿情况的关系,包含:Sno(学生的学号)、Sdept(学生所在系)、Sloc(学生所住宿舍楼)、Cno(课程号)、Grade(考试成绩)如下所示:7S-L-C(Sno,Sdept,Sloc,Cno,Grade)假设每个系的学生都住在一栋楼里,(Sno,Cno)为主码SnoSdeptSLOCCnoGrade9812101计算机2公寓DB809812101计算机2公寓OS859821101信息1公寓C909821101
4、信息1公寓DS849821102信息1公寓OS789830101外语2公寓英语904.1问题提出84.1问题提出假设每个系的学生都住在一栋楼里该关系模式存在以下四个严重问题:数据冗余数据库中不必要的重复存储就是数据冗余。此关系中,有关学生所在系和其所对应的宿舍楼的信息有冗余,因为一个系有多少个学生,这个系所对应的宿舍楼的信息就要重复存储多少遍。94.1问题提出插入异常应该存储的信息无法存储。插入记录时出现不能插入等一些不合理现象。如果某个学生还没有选课,但已经有了Sdept和Sloc信息,我们也不能将此学生的这些已知信
5、息插入到数据库中。因为Cno为空,而Cno为主属性,不能为空,因此也就丢掉了该学生的其他基本信息。104.1问题提出删除异常不该删除的信息被删除。如果一个学生只选了一门课,而后来又不选了,则应该删除此学生选此门课程的记录。但由于这个学生只选了一门课,那么删掉此学生的选课记录的同时也删掉了此学生的其他基本信息。114.1问题提出更新异常由于数据的重复存储,会给更新带来很多麻烦。可能会导致数据的不一致,这将直接影响系统的质量。若某一学生从计算机系转到信息系,那么不但要修改学生的Sdept列的值,而且还要修改其Sloc列的值
6、,从而使修改复杂化。一方面,修改工作量大;另一方面,可能漏改或该错,会造成数据的不一致性。124.1问题提出上例充分说明对关系模式若随意设计,其后果是严重的。本章将要讨论产生上述问题的原因以及解决办法,即如何改造一个不好的关系模式。这就是规范化理论要解决的主要问题。包括数据依赖、模式分解和模式设计方法。其中数据依赖是模式分解和模式设计的基础。13第4章关系数据库设计理论本章内容:问题提出2数据依赖规范化关系模式设计312综合举例4144.2数据依赖数据模型中我们讨论了实体间的联系,同时提到实体内部属性间也有联系。事实上
7、,上一节中的问题都是由于属性间的联系引起的。一、数据依赖属性间的联系:1:1,1:n,m:n三种1:1联系:设A、B为某实体集中的两个属性的值集,如果对于A中的任一值,B中至多有一个值与之对应,且反之亦然。如:车间--主任154.2数据依赖1:n联系:设A、B为某实体集中的两个属性的值集,如果对于A中的任一值,B中有多个值(包括0个)之对应;而对于B中的任一值,A中至多有一个值与之对应。如:班号--学号m:n联系:设A、B为某实体集中的两个属性的值集,如果对于A中的任一值,B中有多个值(包括0个)与之对应,且反之亦然。
8、如:学号--课程号164.2数据依赖通过一个关系中属性间值的相互关联(主要体现于值的相等与否)体现出来的数据间的相互联系(是数据内在的性质,语义的体现)为数据依赖。两类最重要的数据依赖:函数依赖多值依赖174.2数据依赖二、函数依赖不严格地讲,函数依赖指的是一组属性值唯一决定另一组属性值的这种数据依赖。学生关系中,当学号确定后,其
此文档下载收益归作者所有