数据库系统概论ppt教程-第五章v2关系数据理论.ppt
《数据库系统概论ppt教程-第五章v2关系数据理论.ppt》由会员分享,可在线阅读,更多相关《数据库系统概论ppt教程-第五章v2关系数据理论.ppt(89页珍藏版)》请在三一办公上搜索。
1、第五章关系数据理论,问题,如何才能构造一个良好的关系模式?要回答这个问题就必须要解决以下问题:什么是不好的关系模式,一个不好的关系模式存在哪些弊病?区分一个关系模式设计的优劣程度的标准是什么?如何将一个不好的关系模式转换为一个好的关系模式?关系数据理论借助于数学工具规定了一套关系数据库设计的理论和方法。是数据库逻辑设计的有力工具。,关系数据库设计中存在的问题(I),有关学生的关系模式S(SNO,SNAME,DEPT,HEAD,CNO,G),关系数据库设计中存在的问题(),问题插入异常:如果一个系刚成立没有学生,或者有了学生但尚未安排课程,那么就无法将这个系及其负责人的信息插入数据库。删除异常:
2、如果某个系的全部学生都毕业了,则删除该系学生及其选修课程的同时,把这个系及其负责人的信息也丢掉了。数据冗余和更新异常:学生及其所选课程很多,而系主任只有一个,但其却要和学生及其所选课程出现的次数一样多。此外,如果某个系要更换系主任,就必须修改这个系学生所选课程的每个元组,修改其中的系主任信息。若有疏忽,就会造成数据的不一致,从而造成更新异常。,关系数据库设计中存在的问题(),原因:把多个实体型用一个关系模式表示解决之道:分解,函数依赖,一个实体型的诸属性之间具有内在的联系,通过对这些联系的分析,我们可以做到一个关系模式只表示一个实体型的信息,从而消除上述问题。在关系模型中,我们利用数据依赖来描
3、述这些属性间的联系。数据依赖是通过关系中属性间值的相等与否体现出来的数据间的相互关系,它是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。其中最重要的是函数依赖。,函数依赖,函数依赖极为普遍地存在于现实生活中。考察关系模式S(SNO,SNAME,DEPT,HEAD,CNO,G),由于一个SNO只对应一个学生,而一个学生只能在一个系中学习。因而当SNO的值确定后,SNAME和DEPT也被唯一地确定了。就像自变量x确定后,相应的f(x)也被确定了一样。我们说SNO函数决定(SNAME,DEPT),而(SNAME,DEPT)函数依赖于SNO。,函数依赖,定义函数依赖:设R(U)是属性集
4、U上的关系模式,X,Y 是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数决定Y,或Y函数依赖于X,记作XY。如SNO SNAME,(SNO,CNO)G,函数依赖,函数依赖是不随时间而变的。若关系模式R具有函数依赖XY,那么虽然关系模式R的关系实例r在X,Y上的取值各不相同,并且随时间而变化,但X,Y在任一特定时刻都保持函数依赖XY。函数依赖是语义范畴的概念,它反映了一种语义完整性约束,我们只能根据语义来确定一个函数依赖。,函数依赖,函数依赖于属性间的联系类型有关。当X、Y之间是“1对1”联系时,则存在函数依赖XY和Y
5、X。当X、Y之间是“多对1”联系时,则存在函数依赖XY。当X、Y之间是“多对多”联系时,则不存在函数依赖。函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件。,函数依赖,平凡函数依赖:如果X Y,但YX,则称其为非平凡的函数依赖,否则称为平凡的函数依赖。如(SNO,SNAME)SNAME是平凡的函数依赖完全函数依赖:在R(U)中,如果XY,且对于X的任何真子集X,都有XY,则称Y对X完全函数依赖,记作X Y,否则称为Y对X部分函数依赖,记作X Y。(SNO,CNO)G,(SNO,CNO)SNAME,函数依赖,传递函数依赖:在R(U)中,如果XY,(YX
6、)Y Z,且Y X,ZY则称Z对X传递函数依赖。SNO DEPT,DEPT HEAD,函数依赖,检验:AC?CA?ABD?,码,定义候选码:设K为R的属性或属性组合,若K U,则称K为R的一个候选码。若候选码多于一个,则选定其中一个作为主码。超码:设K为R的属性或属性组,若K U,则称K为R的超码。,码,主属性:包含在任何一个候选码中的属性,称作主属性。非主属性:不包含在任何一个候选码中的属性,称作非主属性。全码:关系模式的码由整个属性组构成。如(P,W,A),例子,关系模式S(SNO,SNAME,DEPT,HEAD,CNO,G)主码:(SNO,CNO)函数依赖:(SNO,CNO)GSNOSN
7、AME,(SNO,CNO)SNAMESNO DEPT,(SNO,CNO)DEPTDEPTHEAD,(SNO,CNO)HEAD,范式,定义范式是对关系的不同数据依赖程度的要求。如果一个关系满足某个范式所指定的约束集,则称它属于某个特定的范式。,规范化,一个低一级范式的关系模式,通过模式分解可以转换为若干个高级范式的关系模式的集合,这一过程称作规范化。,1NF,定义关系中每一分量必须是原子的,不可再分。即不能以集合、序列等作为属性值。,不满足1NF的关系模式,满足1NF的关系模式,2NF(),定义若R1NF,且每个非主属性完全依赖于码,则称R2NF将1NF的关系模式规范化为2NF的关系模式,其方法
8、是消除1NF的关系模式中非键属性对键的部分依赖。思考:如果关系R的全体属性都是R的主属性,或者R的所有候选码都只含一个属性,那么,R是否属于第二范式?,2NF(II),关系模式S(SNO,SNAME,DEPT,HEAD,CNO,G)不良特性插入异常:如果学生没有选课,关于他的个人信息及所在系的信息就无法插入。删除异常:如果删除学生的选课信息,则有关他的个人信息及所在系的信息也随之删除了。数据冗余:如果一个学生选修了k门课,则有关他的所在系的信息重复更新异常:如果学生转系,若他选修了k门课,则需要修改k次。,2NF(III),原因:S2NF,因为(SNO,CNO)SNAME(SNO,CNO)DE
9、PT规范化将S分解为:SC(SNO,CNO,G)2NF S_SD(SNO,SNAME,DEPT,HEAD)2NF,3NF(I),S_SD(SNO,SNAME,DEPT,HEAD)不良特性插入异常:如果系中没有学生,则有关系的信息就无法插入。删除异常:如果学生全部毕业了,则在删除学生信息的同时有关系的信息也随之删除了。更新异常:如果学生转系,不但要修改DEPT,还要修改HEAD,如果换系主任,则该系每个学生元组都要做相应修改。数据冗余:每个学生都存储了所在系的系主任的信息。,3NF(II),定义关系模式R中,若不存在这样的码X,属性组Y及非主属性Z(Z Y),使得下式成立,XY,YZ,YX则称R
10、3NF。将2NF的关系模式规范化为3NF的关系模式,其方法是消除2NF的关系模式中非键属性对键的传递依赖。,3NF(III),原因:S_SD 3NF,因为SNODEPT,DEPTHEAD规范化将S分解为:STUDENT(SNO,SNAME,DEPT)DEPT(DEPT,HEAD),BCNF(I),示例STJ(S,T,J),S表示学生,T表示教师,J表示课程。每位老师只教授一门课,每门课由若干教师教,某一学生选定某门课就确定了一个固定的教师,因此具有以下函数依赖:TJ,(S,J)T(S,T),(S,J)为候选码。,BCNF(),不良特性插入异常:如果没有学生选修某位老师的任课,则该老师担任课程的
11、信息就无法插入。删除异常:删除学生选课信息,会删除掉老师的任课信息。更新异常:如果老师所教授的课程有所改动,则所有选修该老师课程的学生元组都要做改动。数据冗余:每位学生都存储了有关老师所教授的课程的信息。,BCNF(III),定义若关系模式R1NF,若XY,且YX时,X必含有码,则R BCNF。由BCNF的定义可以看到,每个BCNF的关系模式都具有如下三个性质:所有非主属性都完全函数依赖于每个候选码。所有主属性都完全函数依赖于每个不包含它的候选码。没有任何属性完全函数依赖于非码的任何一组属性。,BCNF(IV),原因:存在主属性对码的不良依赖,STJ BCNF,因为T J,而T不含有码。改造将
12、S分解为(S,T),(T,J)。思考(S,J,P),表示学生选修课程的名次,有函数依赖(S,J)P,(J,P)S,它属于BCNF吗?,多值依赖(),关系模式TEACH(C#,P#,B#),一门课程由多个教师任教,一门课程使用相同的一套参考书。它的码是(C#,P#,B#),所以属于BCNF。,多值依赖(),不良特性插入异常:当某门课程增加一名教师时,该门课程有多少本参考书就必须插入多少个元组;同样当某门课程需要增加一本参考书时,它有多少个教师就必须插入多少个元组。删除异常:当删除一门课程的某个教师或者某本参考书时,需要删除多个元组。数据冗余:同一门课的教师与参考书的信息被反复存储多次。更新异常:
13、当一门课程的教师或参考书作出改变时,需要修改多个元组。,多值依赖(III),定义设R(U)是属性集U上的一个关系模式,X、Y、Z是U的子集,并且Z=U X Y,关系模式R(U)中多值依赖X Y成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。如在关系模式TEACH中,对(物理,普通物理学)有一组P#值(张明,张平),对(物理,光学原理)也有一组P#值(张明,张平),这组值仅取决于C#的取值,而与B#的取值无关。因此,P#多值依赖于C#,记作C#P#,同样有C#B#。,多值依赖(),形式化:在R(U)的任一关系r中,如果存在元组t,s使得
14、tx=sx,那么就必然存在元组w,vr,(w,v可以与s,t相同),使得:wX=sX=vX=tXwY=tY,vY=sYwZ=sZ,vZ=tZ则称Y多值依赖与X,记作X Y。若X Y,而Z,则称X Y为平凡的多值依赖。,多值依赖(),找出下面关系上所满足的多值依赖。CB?若使BC成立,需加入哪些元组,t1t2,t3t4,t3t4,多值依赖(),性质多值依赖具有对称性,即若XY,则XZ,其中Z=UXY。函数依赖是多值依赖的特例,即若XY,则XY。若XY,XZ,则XYZ若XY,XZ,则XYZ若XY,XZ,则XYZ,X ZY若XY,YZ,则X Z Y,多值依赖 Vs 函数依赖(),函数依赖有效性范围X
15、Y的有效性仅决定于X、Y属性集上的值,它在任何属性集W(XY W U)上都成立。若XY在R(U)上成立,则对于任何Y Y,均有XY 成立。,多值依赖 Vs 函数依赖(),多值依赖有效性范围XY的有效性与属性集范围有关。XY在U上成立 XY在属性集W(XY W U)上成立。反之则不然。若在R(U)上,XY在属性集W(XY W U)上成立,则称XY为R(U)的嵌入式多值依赖。若XY在R(U)上成立,则不能断言对于Y Y,是否有XY 成立。,4NF,定义关系模式R 1NF,如果对于R到每个非平凡的多值依赖XY(YX)是,X都含有码,则称R4NF。4NF就是限制关系模式的属性之间不允许有非平凡且非函数
16、依赖的多值依赖。因为根据定义,对于每一个非平凡的多值依赖XY,X都含有候选码,于是就有XY,所以4NF所允许的非平凡的多值依赖实际上是函数依赖。,4NF,如关系模式CPB,C#P#,C#B#,码为(C#,P#,B#),所以CPB4NF。如果一门课Ci有m个教师,n本参考书,则关系中分量为Ci的元组共有mn个,数据冗余非常大。改造将CPB分解为CP(C#,P#),CB(C#,B#)。,数据依赖的公理系统,定义对于满足一组函数依赖F的关系模式R,其任何一个关系r,若函数依赖XY都成立,则称F逻辑蕴涵XY。Armstrong公理X,Y,Z是属性集,自反律。若YXU,则XY为F所蕴含。增广律。若XY为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 ppt 教程 第五 v2 关系 数据 理论
链接地址:https://www.31ppt.com/p-2839403.html