第二章-关系数据库课件.ppt
《第二章-关系数据库课件.ppt》由会员分享,可在线阅读,更多相关《第二章-关系数据库课件.ppt(39页珍藏版)》请在三一办公上搜索。
1、第 二 章 关系数据库规范化理论,建立在关系模型基础上实现的 数据库系统称为关系数据库,相应的DBMS称为关系数据库管理系统(RDBMS)。如何设计一个适合的关系数据库系统,关键是关系数据库模式的设计,一个好的关系数据库模式应该包括多少关系模式,而每一个关系模式又应该包括哪些属性,又如何将这些相互关联的关系模式组建一个适合的关系模型,这些工作决定了到整个系统运行的效率,也是系统成败的关键所在。要设计一个好的关系数据库,必须需要一定理论指导。关系数据库的规范化理论就是数据库设计的一个理论指导。本章主要讨论关系数据库规范化理论,讨论一个好的关系模式的标准,以及如何将不好的关系模式转换成好的关系模式
2、,第 二 章 关系数据库规范化理论,2.1 规范化问题的提出2.2 函数依赖2.3 关系规范化 2.4 关系模式的分解准则2.5 小结,2.1 规范化问题的提出,关系数据库的规范化理论最早是由关系数据库的创始人E.F.Codd提出的,后经许多专家学者对关系数据库理论作了深入的研究和发展,形成了一整套有关关系数据库设计的理论。关系数据库的规范化理论主要包括三个方面的内容:函数信赖范式(Normal Form)模式设计和模式分解其中,函数信赖起着核心的作用,是模式分解和模式设计的基础,范式是模式分解的标准。,2.1 规范化问题的提出,数据库的设计为什么要遵循一定的规范化理论?什么是好的关系模式?某
3、些不好的关系模式可能导致哪些问题?,下面通过例子进行分析:例如,设有描述学生修课及住宿情况的关系模式:S-L-C(Sno,Sdept,Sloc,Cno,Grade)Sno表示学生学号,Sdept表示学生所在的 系,Sloc表示学生所住宿舍楼,Cno表示课程号,Grade表示成绩。,2.1 规范化问题的提出,S-L-C关系模式实例,分析以上关系中的数据,我们可以看出:(SNO,CNO)属性的组合能唯一标识一个元组,所以(SNO,CNO)是该关系模式的主码。,3.删除异常 如果某个学生不再选修C课程,本应该只删去C,但C是主关系键的一部分,为保证实体完整性,必须将整个元组一起删掉,这样有关该学生的
4、其它信息也随之丢失。,2.1 规范化问题的提出,但在进行数据库的操作时,会出现以下几方面的问题:1.数据冗余 学生所在的系名和这个系所对应的宿舍楼名字存储的次数等于该系的学生人数乘以每个学生选修的课程门数,数据的冗余度很大,浪费了存储空间。,2.插入异常 如果某个学生尚未选课,则学生所在的系名和这个系所对应的宿舍楼无法插入到数据库中。因为在这个关系模式中,(SNO,CNO)是主关系键。根据关系的实体完整性约束,主关系键的值不能为空,当某个学生尚未选课,即Cno为空,因此不能进行插入操作。,2.1 规范化问题的提出,4.更新异常 如果某一学生从计算机系转到信息系,那么不但要修改此学生的Sdept
5、列的值,而且还要修改其Sloc的值,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致性,破坏了数据的完整性。,由于存在以上问题,我们说,S-L-C是一个不好的关系模式。那么,怎样才能得到一个好的关系模式呢?我们把关系模式S-L-C分解为下面三个结构简单的关系模式,如图所示。,2.1 规范化问题的提出,S-L,S-D,S-C,学生关系S-D(Sno,Sdept)选课关系S-C(Sno,Cno,Grade)系关系S-L(Sdept,Sloc),2.1 规范化问题的提出,在以上三个关系模式中,实现了信息的某种程度的分离,S-D中存储学生基本信息,与所选课程及宿舍无关;S-L中存储系的有关信息,
6、与学生无关;S-C中存储学生选课的信息,而与学生及系的有关信息无关。与S-L-C相比,分解为三个关系模式后,数据的冗余度明显降低。当新插入一个系时,只要在关系S-L中添加一条记录。当某个学生尚未选课,只要在关系S-D中添加一条学生记录,而与选课关系无关,这就避免了插入异常。当某个学生选课后又退选,只需在S-C中删除该学生记录,而关系S-D中有关该学生的信息仍然保留,从而不会引起删除异常。同时,由于数据冗余度的降低,数据没有重复存储,也不会引起更新异常。,2.1 规范化问题的提出,经过上述分析,我们说分解后的关系模式是一个好的关系数据库模式。一个好的关系模式应该具备以下四个条件:尽可能少的数据冗
7、余没有插入异常没有删除异常没有更新异常如何按照一定的规范设计关系模式,将结构复杂的关系分解成结构简单的关系,从而把不好的关系数据库模式转变为好的关系数据库模式,这就是关系的规范化。我们要设计的关系模式中的各属性是相互依赖、相互制约的,这样才构成了一个结构严谨的整体。因此在设计关模式时,必须从语义上分析这些依赖关系。,2.2 函数依赖,1.函数依赖的定义 函数对我们来说已经是非常熟悉的概念,对公式:Y=f(X)给定一个X值,都会有一个Y值和它对应,也可以说X函数决定Y,或Y函数依赖于X。在关系数据库中讨论函数或函数依赖注重的是语义上的关系,比如:省=f(城市)如果“城市”是自变量X,“省”是因变
8、量或函数值Y。并且把X决定Y,或Y函数依赖于X表示为:XY,2.2 函数依赖,函数依赖定义:如果有一个关系模式R(A1,A2,An),X和Y为A1,A2,An的子集,那么对于关系R中的任意一个X值,都只有一个Y值与之对应,则称X函数决定Y,或Y函数依赖于X。例如:对学生关系模式:Student(Sno,SName,Sdept,Sage)有:SnoSName,SnoSdept,SnoSage 对学生修课关系模式:SC(Sno,Cno,Grade)有:(Sno,Cno)Grade,2.2 函数依赖,2函数依赖与属性之间的联系类型有关(1)在一个关系模式中,如果属性X与Y有1:1联系时,则存在函数依
9、赖XY,YX,即,(2)如果属性X与Y有1:m的联系时,则只存在函数依赖Y X。例如,Sage,Sdept与Sno之间均为1:m联系,所以有 SNOSage,SnoSdept。(3)如果属性X与Y有m:n的联系时,则X与Y之间不存在任何函数依赖关系。例如,一个学生可以选修多门课程,一门课程又可以为多个学生选修,所以SNO与CNO之间不存在函数依赖关系。由于函数依赖与属性之间的联系类型有关,所以在确定属性间的函数依赖关系时,可以从分析属性间的联系类型入手,便可确定属性间的函数依赖。,例如,当学生无重名时,SNO SN,2.2 函数依赖,3一些术语和符号 设有关系模式R(A1,A2,An),X和Y
10、均为A1,A2,An的子集如果XY,但Y不包含于X,则称XY是非平凡的函数依赖。如果XY,则称X为决定因子。,如果Y函数不依赖于X,则记作X Y。,如果对X的某个真子集X,有XY,则称Y部分函数依赖于X,(或称Y对X部分函数依赖)记作。,如果XY,并且YX,则记作X Y。,如果XY,并且对于X的一个任意真子集X/都有X/Y,则称Y完全函数依赖于X(Y对X 完全函数依赖),记作,2.2 函数依赖,例1:有关系模式:SC(Sno,Sname,Cno,Credit,Grade)各属性分别为:学号、姓名、课程号、学分、成绩,主码为(Sno,Cno),函数依赖关系有:,SnoSname 姓名函数依赖于学
11、号,因为Sno Grade,Cno Grade,(Sno,Cno)Grade,所以有(Sno,Cno)Grade 成绩完全函数依赖于学号和课程号,(Sno,Cno)Sname 姓名部分函数依赖于学号和课程号,2.2 函数依赖,如果XY(非平凡函数依赖,并且Y X)、YZ,则称Z传递函数依赖于X(或称Z对X传递函数依赖)。,例如:在关系模式:S(Sno,Sname,Dept,Dept_master)中,各属性分别为:学号、姓名、所在系和系主任(假设一个系只有一 个主任),主码为Sno。,传递,函数依赖关系有:Sno Sname,由于:Sno Dept,Dept Dept_master所以有:Sn
12、o Dept_master(系主任传递函数依赖于学号),一.关系模式中的码 1候选码 设K为R(U,F)中的属性或属性组,若K U,则K为R候选码。(U-表示关系R的属性全集,F-表示关系R上的依赖函数集)主码:关系R(U,F)中可能有多个候选码,则选其中一个作为 主码全码:候选码为整个属性组。主属性与非主属性:在R(U,F)中,包含在任一候选码中的属性称为主属性,不包含在任一候选码中的属性称为非主属性。例1:SC(Sno,Cno,Grade)其候选码为:(Sno,Cno),也为主码则主属性为:Sno,Cno,Grade为非主属性。,2.3 关系规范化,2.3 关系规范化,一.关系模式中的码
13、例2:R(P,W,A)其中各属性含义分别为:演奏者,作品和听众。其语义为:一个演奏者可演奏多个作品,某一作品可被多个演奏者演奏;听众也可欣赏不同演奏者个不同作品。其候选码为:(P,W,A),因为只有这三者才能确定一场音乐会。我们称全部属性均为主码的表为全码表。2外码 定义:若R(U,F)的属性(组)X(X属于U)是另一个关系S的主码,则称X为R的外码。例3:学生关系SD(Sno,Sdept)和选课关系SC(Sno,Cno,Grade),SC中的Sno是SD中的主码,则Sno是SC的外码,2.3 关系规范化,二.范式规范化的基本思想是消除关系模式中的数据冗余,消除数据依赖中的不合适的部分,解决数



- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 关系 数据库 课件

链接地址:https://www.31ppt.com/p-3968468.html