第七章关系数据库理论_第1页
第七章关系数据库理论_第2页
第七章关系数据库理论_第3页
第七章关系数据库理论_第4页
第七章关系数据库理论_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库原理第七章第七章关系数据库理论数据库原理第七章关系数据库设计理论关系数据理论关系数据库操作理论关系规范化理论关系模式分解方法关系数据的查询和优化关系数据库设计和应用的理论基础数据库原理第七章7.1规范化问题的提出关系数据库系统中,关系模型的设计是关键。关系模型由一组关系模式组成。数据库原理第七章一个好的关系模型应该包含多少个关系模式?每个关系模式应该包含哪些属性?如何将多个相互联系的关系模式组成一个关系模型?关系数据库的规范化理论数据库原理第七章1.

规范化理论的主要内容函数依赖范式(NormalForm)模式设计核心,是模式分解和设计的基础模式分解的标准完成数据库自动化设计的基础数据库原理第七章2.不合理的关系模式存在的异常问题例:设计教学管理数据库,其关系模式教学为:教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩)码:(学号,课程名)数据库原理第七章学号姓名年龄性别系名系主任课程名成绩98001李华20男计算机系王民程序设计8898001李华20男计算机系王民数据结构7498001李华20男计算机系王民数据库8298001李华20男计算机系王民电路6598002张平21女计算机系王民程序设计9298002张平21女计算机系王民数据结构8298002张平21女计算机系王民数据库7898002张平21女计算机系王民电路8398003陈兵20男数学系赵敏高等数学7298003陈兵20男数学系赵敏数据结构9498003陈兵20男数学系赵敏数据库8398003陈兵20男数学系赵敏离散数学87数据库原理第七章①数据冗余大②

插入异常③

删除异常④

更新异常“教学”这一关系模式不好函数依赖存在着不好的性质导致解决方法:关系模式的分解将各种数据混合在一起,数据间相互牵连。数据库原理第七章将“教学”模式分解为:

学生(学号,姓名,年龄,性别,系名称);

教学系(系名,系主任);

选课(学号,课程名,成绩).参见:P183表7-2为什么要这样分解?数据库原理第七章一个好的关系模式应该具备以下四个条件:(1)尽可能少的数据冗余;(2)没有插入异常;(3)没有删除异常;(4)没有更新异常。数据库原理第七章一个关系模式之所以会产生上述问题,是由存在于模式中的某些数据依赖引起的。规范化理论正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。数据库原理第七章函数依赖普遍存在于现实生活中。学生(sno,sn,dept)由于一个学号只对应一个学生,一个学生只在一个系,因而当“学号”值确定之后,姓名及其所在系的值也就被唯一确定了。7.2函数依赖数据库原理第七章属性间的依赖关系类似于数学中的函数:y=f(x)自变量x确定之后,相应的函数值y也就唯一确定了。类似的,有:sn=f(sno)dept=f(sno)即sno函数决定sn,sno函数决定dept。或者:sn,dept函数依赖于sno,记为:数据库原理第七章1.函数依赖的定义关系模式的表示:R<U,F>关系名属性集合U的数据依赖集数据库原理第七章定义:设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,X和Y是U的子集,如果对于R(U)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体值与之对应,则称X函数确定Y,或Y函数依赖于X,记作

。称X为决定因素,Y为依赖因素。数据库原理第七章对于“教学”关系模式,根据实际情况,其语义为:(1)一个系有若干学生,但—个学生从属于一个系。(2)一个系只有一名主任,但一个系主任可以同时兼任多个系的主任。(3)一个学生可以选修多门课程,每门课程有若干学生选修。(4)每个学生所学的每门课程都有—个成绩。数据库原理第七章因此,教学〈U,F〉

U={学号,姓名,年龄,性别,系名,系主任,课程名,成绩};

F={学号→姓名,学号→年龄,学号→性别,学号→系名,系名→系主任,(学号,课程名)→成绩}

属性全集函数依赖集数据库原理第七章学号课程名姓名年龄系名系主任成绩性别函数依赖示意图数据库原理第七章(1)若,且,则记为。(2)若Y不函数依赖于X,记为。

,(3),但

,则称是平凡的函数依赖

(4)

,但

,则称是非平凡的函数依赖。若不特别声明,总是讨论非平凡的函数依赖。

2.函数依赖的相关概念数据库原理第七章(5)函数依赖与属性之间的联系类型有关:

①如果属性X与Y之间有1:1联系,则

②如果属性X与Y之间有n:1联系,则只存在函数依赖。

③如果属性X与Y之间是n:m联系,则X和Y之间不存在函数依赖关系。

数据库原理第七章(6)设有关系模式R(U),U是属性全集,X和Y是U的子集:如果

,并且对于X的任何一个真子集X′,都有

,则称Y对X完全函数依赖,记作。由于且且所以。数据库原理第七章如果,并且对于X的某个真子集X′,有,则称Y对X部分函数依赖,记作。由于且所以注意:只有当决定因素X是属性的组合时,讨论部分函数依赖才有意义。当决定因素X中只包括一个属性时,只能是完全函数依赖。数据库原理第七章(7)设有关系模式R(U),U是属性全集,X和Y是U的子集:如果则Z对X传递函数依赖,记为。例如:则:数据库原理第七章函数依赖完全函数依赖部分函数依赖传递函数依赖数据库原理第七章对于教学〈U,F〉

U={学号,姓名,年龄,性别,系名,系主任,课程名,成绩};

F={学号→姓名,学号→年龄,学号→性别,学号→系名,系名→系主任,(学号,课程名)→成绩}部分函数依赖:数据库原理第七章此外,还存在:完全函数依赖:传递函数依赖:数据库原理第七章可以看到,在教学关系模式中,存在着复杂的函数依赖,正是由于这样才导致数据操作中出现了种种弊端,使其成为了不好的关系模式。如何克服这些弊端?——关系模式的规范化:要求关系模式满足一定的条件。根据不同程度的规范化要求设立不同的标准——范式。数据库原理第七章范式是符合某种级别的关系模式的集合。各种范式之间的关系1971年,Codd提出1NF

随后提出了2NF、3NF

1974年,Codd,Boyce提出了BC范式

1976年,Fagin提出了4NF7.3范式数据库原理第七章各种范式之间存在以下关系:通常把某一关系模式R为第n范式简记为:数据库原理第七章1.第1范式(1NF)定义:如果关系模式R所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式,简称1NF,记作R∈1NF。第1范式是对关系模式的一个最起码的要求,不满足1NF的数据库模式不是关系数据库。数据库原理第七章教学〈U,F〉

U={学号,姓名,年龄,性别,系名,系主任,课程名,成绩};

其中的每个属性都是简单属性,不可再分。所以:但是满足第一范式关系模式并不—定是好的关系模式。比如在教学关系模式中,仍然存在着数据冗余、插入异常、删除异常和更新异常。因为存在着完全函数依赖、部分函数依赖、传递函数依赖。其它范式如何消除?数据库原理第七章2.第2范式(2NF)定义:若R

1NF,且每一个非主属性完全依赖于码,则R

2NF。数据库原理第七章其中,主码:(学号,课程名)非主属性:(姓名,年龄,性别,系名,系主任,成绩)对于教学〈U,F〉

U={学号,姓名,年龄,性别,系名,系主任,课程名,成绩};

F={学号→姓名,学号→年龄,学号→性别,学号→系名,系名→系主任,(学号,课程名)→成绩}数据库原理第七章又:所以:数据库原理第七章?模式分解(投影)将教学关系模式分解成两个关系模式:学生_系(学号,姓名,年龄,性别,系名,系主任)选课(学号,课程名,成绩)数据库原理第七章对于学生_系(学号,姓名,年龄,性别,系名,系主任)非主属性:姓名,年龄,性别,系名,系主任数据库原理第七章决定因素X中只包括一个属性时,只能是完全函数依赖。每一个非主属性完全函数依赖于主码:学号所以:学生_系2NFFFFF数据库原理第七章对于选课(学号,课程名,成绩)主码:(学号,课程名)非主属性:成绩所以:选课2NF数据库原理第七章教学关系模式1NF学生_系关系模式2NF选课关系模式2NF消除部分函数依赖关系模式分解的基本原则:“一事一地”,一个关系只描述一个实体或联系。数据库原理第七章教学关系模式经过分解后成为了2NF,解决了以下问题:1.在学生_系中可以插入尚未选课的学生;2.如果一个学生的所有选课记录全部删除了,只是选课关系中没有关于该学生的选课记录,不会把学生_系关系中该学生的其他信息也删除掉;数据库原理第七章2NF的规范化程度比1NF前进了一步,但仍存在着以下问题:1.数据冗余:每个系名和系主任的名字存储的次数等于该系的学生人数;2.插入异常:当一个新系没有招生时,有关该系的信息无法插入;3.删除异常:某系学生全部毕业而没有招生时,删除全部学生的记录也随之删除了该系的有关信息;4.更新异常:更换系主任时,仍需改动较多的学生记录。

数据库原理第七章之所以存在着这些问题,是因为非主属性对主码存在着传递函数依赖:为此,2NF还需要进一步简化,消除传递函数依赖,从而得到3NF。数据库原理第七章3.第3范式(3NF)定义:如果关系模式R∈2NF,且每个非主属性都不传递函数依赖于R的主码,则称R〈U,F〉

3NF。

若R

3NF,则每一个非主属性既不部分函数依赖于码,也不传递函数依赖于码。3NF是可用的关系模式应满足的最低范式。数据库原理第七章对于选课(学号,课程名,成绩)主码:(学号,课程名)非主属性:成绩所以,选课

3NF数据库原理第七章对于学生_系(学号,姓名,年龄,性别,系名,系主任)非主属性:姓名,年龄,性别,系名,系主任因为:所以,数据库原理第七章?模式分解(投影)一事一地数据库原理第七章学生_系(学号,姓名,年龄,性别,系名,系主任)分解为:学生(学号,姓名,年龄,性别,系名)教学系(系名,系主任)数据库原理第七章学生_系关系模式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论