关系数据库理论精.ppt

上传人:石*** 文档编号:48158360 上传时间:2022-10-05 格式:PPT 页数:51 大小:2.19MB
返回 下载 相关 举报
关系数据库理论精.ppt_第1页
第1页 / 共51页
关系数据库理论精.ppt_第2页
第2页 / 共51页
点击查看更多>>
资源描述

《关系数据库理论精.ppt》由会员分享,可在线阅读,更多相关《关系数据库理论精.ppt(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、关系数据库理论第1页,本讲稿共51页1、规范化问题的提出 1.1 规范化理论的主要内容规范化理论的主要内容在关系数据库系统中,关系模型包括一组关系模型,并且各个关系不是完全孤立的。关系数据库的规范化理论主要包括的内容:函数依赖,范式和模式设计。函数依赖起核心作用,是模式分解和模式设计的基础,范式是模式分解的标准。第2页,本讲稿共51页1、规范化问题的提出1.2 不合理的关系模式存在的存储异常问题不合理的关系模式存在的存储异常问题 由书上的例子知道:由书上的例子知道:.数据冗余数据冗余 .插入异常插入异常 .删除异常删除异常 .更新异常更新异常第3页,本讲稿共51页1、规范化问题的提出一个好的关

2、系模式应满足条件:.尽可能少的数据冗余.没有插入异常.没有删除异常.没有更新异常按照一定的规范设计关系模式,将结构复杂的关系分解成结构简单的关系,从而把不好的关系数据库模式转变为好的关系数据库模式,即关系的规范关系的规范化化。第4页,本讲稿共51页1.3 模式分解是关系规范化的主要方法模式分解是关系规范化的主要方法怎样才能得到一个好的关系模式呢?我们把关系模式SCD分解为下面三个结构简单的关系模式,如下图所示。学生关系S(SNO,SN,AGE,DEPT)选课关系SC(SNO,CNO,SCORE)系关系D(DEPT,MN)第5页,本讲稿共51页 AGE 赵亦 计算机钱尔 信息孙珊 信息李思 自动

3、化计算机刘伟信息王平DS1.3 模式分解是关系规范化的主要方法模式分解是关系规范化的主要方法第6页,本讲稿共51页S1C1S1C2S2C5S2C6S2C7S2C5S3C1S3C2S3C4SC1.3 模式分解是关系规范化的主要方法模式分解是关系规范化的主要方法第7页,本讲稿共51页在以上三个关系模式中,实现了信息的某种程度的分离,S中存储学生基本信息,与所选课程及系主任无关;D中存储系的有关信息,与学生无关;SC中存储学生选课的信息,而与所学生及系的有关信息无关。与SCD相比,分解为三个关系模式后,数据的冗余度明显降低。当新插入一个系时,只要在关系D中添加一条记录。当某个学生尚未选课,只要在关系

4、S中添加一条学生记录,而与选课关系无关,这就避免了插入异常。当一个系的学生全部毕业时,只需在S中删除该系的全部学生记录,而关系D中有关该系的信息仍然保留,从而不会引起删除异常。同时,由于数据冗余度的降低,数据没有重复存储,也不会引起更新异常。1.3 模式分解是关系规范化的主要方法模式分解是关系规范化的主要方法第8页,本讲稿共51页经过上述分析,我们说分解后的关系模式是一个好的关系数据库模式。从而得出结论,一个好的关系模式应该具备以下四个条件:1.尽可能少的数据冗余。2.没有插入异常。3.没有删除异常。4.没有更新异常。但要注意,一个好的关系模式并不是在任何情况下都是最优的,比如查询某个学生选修

5、课程名及所在系的系主任时,要通过连接,而连接所需要的系统开销非常大,因此要以实际设计的目标出发进行设计。1.3 模式分解是关系规范化的主要方法模式分解是关系规范化的主要方法第9页,本讲稿共51页2、函数依赖2.1 函数依赖的定义及性质函数依赖的定义及性质 数据依赖:关系模型中的各属性之间相互依赖、相互制约的联系。数据依赖分为:函数依赖、多值依赖和连接依赖。函数依赖是关系模型中属性之间的一种逻辑关系。第10页,本讲稿共51页2、函数依赖2.1.1 函数依赖的定义函数依赖的定义 概念:概念:设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,X和Y是U的子集,如果对于R(U)的任意一个可能

6、的关系r,对于X的每一个具体值,Y都有惟一的具体值与之对应,则称X决定函数Y,或Y函数依赖于X,记作XY。其中为X决定因素,Y为依赖因素。当Y函数不依赖于X时,记作XY;当XY且YX时,记作XY第11页,本讲稿共51页2、函数依赖函数依赖的说明:函数依赖的说明:.平凡的函数依赖与非平凡的函数依赖!当属性集Y是属性集X的子集时,则必然存在函数依赖XY,这种类型的函数依赖称为平凡的函数依赖;!当属性集Y不是属性集X的子集时,则称XY为非平凡的函数依赖。第12页,本讲稿共51页2、函数依赖 .函数依赖是语义范畴的依赖函数依赖只能根据语义来确定,不能根据其形式化定义。.函数依赖与属性之间的联系类型有关

7、!在一个关系模型中,如果属性X与Y有1:1联系时,则存在函数依赖XY,YX,即XY。例如:成绩表中学号为主键,姓名无重复姓名:学号=1:1第13页,本讲稿共51页2、函数依赖!如属性X与Y有m:1的联系时,则只存在函数依赖XY例如:学生成绩表中学号(主键)与英语成绩学号:英语=m:1!如属性X和Y有m:n的联系是,则X与Y之间不存在函数依赖关系例如:一个学生可以选多门课,一门课可由多个学生选第14页,本讲稿共51页2、函数依赖 .函数依赖关系的存在和时间无关函数依赖是指关系中的所有元组应该满足的约束条件,而不是指关系中某个或某些元组所满足的约束条件;当关系中的元组增加、删除或更新后都不能被破坏

8、这种函数依赖。因此,必须根据语义来确定属性之间的函数依赖,而不能单凭某一时刻关系中的实际数据值来判断。第15页,本讲稿共51页2、函数依赖.函数依赖可以保证关系分解的无损连接性设R(X,Y,Z),X,Y,Z为不相交的属性集合,如果XY或XZ,则有R(X,Y,Z)=RX,Y*RX,Z,其中,RX,Y表示关系R在属性(X,Y)上的投影,即R等于其投影在X上的自然连接,这样便保证了关系R分解后不会丢失原有的信息,称为关系分解的无损连接性第16页,本讲稿共51页2、函数依赖2.1.2 函数依赖的基本性质函数依赖的基本性质a.投影性一组属性函数决定它的所有子集例如:在关系成绩表中,(姓名,学号)姓名(姓

9、名,学号)学号b.扩张性若XY且WZ,则(X,W)(Y,Z)C.合并性若XY且XZ则必有X(Y,Z)d.分解性若X(Y,Z),则XY且XZ第17页,本讲稿共51页2、函数依赖2.2 完全函数依赖和部分函数依赖完全函数依赖和部分函数依赖设有关系模式R(U),U是属性全集,X和Y是U的子集,如果XY,并且对于X的任何一个真子集X,都有XY,则称Y对X完全函数依赖(fullfunctionaldependency),记作XY。如果对X的某个真子集X,有XY,则称Y对X部分函数依赖(partialfunctionaldependency),记作XYfp第18页,本讲稿共51页2、函数依赖 例如:例如:

10、学生成绩表中学生成绩表中姓名不能推出年龄,学号不能推出年龄,但是姓名+学号能推出年龄,故完全依赖;学号能直接推出籍贯,故是部分依赖姓名学号年龄籍贯王一116河北王二215山东王三316北京王一416天津第19页,本讲稿共51页2、函数依赖2.3 传递函数依赖传递函数依赖设有关系模式R(U),U是属性全集,X,Y,Z是U的子集,若XY,但YX,而YZ(YX,ZY),则称Z对X传递函数依赖,记作:XZ。如果YX,则XY,称Z对X直接函数依赖 归纳:归纳:函数依赖分为:直接函数依赖、部分函数依赖和传递函数依赖t第20页,本讲稿共51页3、范式规范化的基本思想是:消除关系模式中的数据冗余,消除数据依赖

11、中的不合适的部分,解决数据插入、删除时发生的异常现象。范式:把关系数据库的规范化过程中为不同程度的规范化要求设立的不同标准。范式主要有(关系数据库规范):1NF、2NF、3NF、BCNF、4NF、5NF各范式的联系:5NF4NFBCNF3NF2NF1NF第21页,本讲稿共51页3、范式3.1 第一范式第一范式定义:如果关系模式R所有的属性均为简单属性,即每个属性都是不可再分的,则称R属性第一范式,记作R1NF。备注:一个关系模式不能仅仅属于第一范式,否则会有大量的数据冗余,具有插入异常、删除异常和更新异常等弊端。第22页,本讲稿共51页3、范式分析:在关系模式SCD中,即存在完全函数依赖又存在

12、部分函数依赖和传递函数依赖。但这种情况是不允许的,解决办法是用投影运算将关系分解,去掉过于复杂的函数依赖关系,向高一级范式转换。第23页,本讲稿共51页3、范式3.2 第二范式第二范式 1.定义定义如果关系模式R1NF,且每个非主属性都完全函数依赖于R的每个关系键,则称R属于第二范式,即2NF,记作R2NF 例题:例题:关系模式SCD中存在非主属性字段部分依赖主属性字段的情况,故SCD不是2NF;但SCD拆成S、D、SC后,所有非主属性字段都完全依赖于主属性字段,故S、D、SC为2NF第24页,本讲稿共51页3、范式结论:结论:!从1NF关系中消除了非主属性对关系键的部分函数依赖,则可得到2N

13、F关系;!如果R的关系为单属性,或R的全体属性均为主属性,则R2NF 2.2NF规范化规范化2NF规范化是指把1NF关系模式通过投影分解,转换成2NF关系模式的集合。分解遵循的基本原则是“一事一地”,让一个关系只描述一个实体或实体间的联系,如果多于一个实体或联系,则进行投影分解。第25页,本讲稿共51页3、范式对2NF规范化作形式化的描述:设有关系模式R(X、Y、Z),R1NF,但R2NF,其中,X是键属性,Y,Z是非主属性,且存在部分函数依赖,XY。设X可表示为X1,X2,其中X1Y。则R(X,Y,Z)可分解为RX1,Y和RX,Z。因为X1Y,所以R(X,Y,Z)=RX1,Y*RX1,X2,

14、Z=RX1,Y*RX,Z,即R等于其投影RX1,Y和X,Z在X1上的自然连接,R的分解具有无损失连接性。pf第26页,本讲稿共51页3、范式3.2NF的缺点.数据冗余:如每系的系主任名存储的次数与该系的学生的人数;.插入异常:如新系且未招生,则无法插入该系信息;.删除异常:如该系学生全部毕业且未招生,删除学生信息同时将删除该系信息;.更新异常:如更换系主任,则学生信息也更换。第27页,本讲稿共51页3、范式3.3 第三范式第三范式 1.定义定义 如果关系模式如果关系模式R 2NF,且每个非主属性不传递依赖,且每个非主属性不传递依赖于于R的每个关系键,则称的每个关系键,则称R属于第三范式,即属于

15、第三范式,即3NF,记作,记作R 3NF。第三范式的性质:第三范式的性质:a.如果如果R 3NF,则,则R也是也是R 2NF b.如果如果R 2NF,则,则R不一定是不一定是3NF第28页,本讲稿共51页3、范式2.3NF规范化规范化 3NF规范化是指把规范化是指把2NF的关系模式通过投影分解的关系模式通过投影分解转换成转换成3NF关系模式的集合。关系模式的集合。3NF规范化遵循的原则是让一个关系只描述一个实体规范化遵循的原则是让一个关系只描述一个实体或实体间的联系。或实体间的联系。例题:例题:书书P111第29页,本讲稿共51页3、范式3.3NF的特点的特点.数据冗余降低了;.不存在插入异常

16、现象;.不存在删除异常现象;.不存在更新异常现象 缺点:缺点:没有限制主属性对键的依赖关系第30页,本讲稿共51页3、范式3.4 BC范式范式1.BC范式的定义范式的定义如果关系模式R1NF,且所有的函数依赖XY(XY),决定因素X都包含了R的一个侯选键,则称R属于BC范式,记作RBCNF。2.BCNF具有的性质:具有的性质:.满足BCNF的关系将消除任何属性(主属性或非主属性)对键的部分函数依赖和传递函数依赖,也就是说,如果RBCNF,则R也是3NF。.如果R3NF,则R不一定是BCNF。第31页,本讲稿共51页3、范式3.BCNF规范化规范化 该规范化是指把该规范化是指把3NF的关系模式通

17、过投影分解转换成的关系模式通过投影分解转换成BCNF关关系模式的集合。系模式的集合。例题:例题:P113 转换以后数据冗余明显降低,不会出现修改异常转换以后数据冗余明显降低,不会出现修改异常 备注:备注:如果一个关系数据库中所有关系模式都属于如果一个关系数据库中所有关系模式都属于BCNF,那么在函数依赖的范畴内,已经实现了模式的彻底分解,那么在函数依赖的范畴内,已经实现了模式的彻底分解,消除了产生插入异常和删除异常的根源,且数据冗余也减消除了产生插入异常和删除异常的根源,且数据冗余也减少到极小程度。少到极小程度。第32页,本讲稿共51页3、范式3.5 多值依赖与多值依赖与4NF 规范化都是建立

18、在函数依赖的基础上,函数依赖表示的是关系模式中属性间的一对一或一对多的联系,但它并不能表示属性间的多对多的关系。1.多值依赖多值依赖 设有关系R(U),U是属性全集,X、Y、Z是属性集U的子集,且Z=U-X-Y,如果对于R的任一关系,对于X的一个确定值,存在Y的一组值与之对应,且Y的这组值仅仅决定于X的值而与Z值无关。此时称Y多值依赖于X,或X多值决定Y,记作XY。第33页,本讲稿共51页3、范式在多值依赖中,若XY且Z=U-X-Y,则称XY是非平凡的多值依赖;否则称为平凡的多值依赖。多值依赖的形式:设有关系模式R(U),U是属性全集,X、Y、Z属性集U的子集,且Z=U-X-Y,r是关系模式R

19、的任一关系,t、s是r的任意两个元组,如果tX=sX,必有r的两个元组u、v存在,使得:.sX=tX=uX=vX.uY=tY且uZ=sZ.vY=sY且vZ=tZ则称X多值决定Y或Y多值依赖于X第34页,本讲稿共51页3、范式多值依赖与函数依赖的区别:多值依赖与函数依赖的区别:a.在关系模式R中,函数依赖XY的有效性仅仅决定于X、Y这两个属性集,不涉及第三个属性集,而在多值依赖中,XY在属性集U(U=X+Y+Z)上是否成立,不仅要检查属性集X、Y上的值,而要检查属性集U的其余属性Z上的值。如果XY在属性集W(WU)上成立,而在属性集U上不一定成立,所以,多值依赖的有效性与属性集的范围有关。b.如

20、果在关系模式R上存在函数依赖XY,则任何YY均有XY成立,而多值依赖XY在R上成立,但不能断言对于任何YY有XY成立第35页,本讲稿共51页3、范式多值依赖的性质:多值依赖的性质:.多值依赖具有对称性,即若XY,则XZ,其中Z=U-X-Y。.多值依赖具有传递性,即XY,YZ,则XZ-Y。.函数依赖可看作是多值依赖的特殊情况,即若XY,则XY。.多值依赖合并性,即若XY,XZ,则XYZ。.多值依赖分解性,即若XY,XZ,则X(YZ),XY-Z,XZ-Y均成立。说明,如果两个相交的属性子集均多值依赖于另一个属性子集,则这两个属性子集因相交而分割成的三部分也都多值依赖于该属性子集。第36页,本讲稿共

21、51页3、范式2.第四范式(第四范式(4NF)a.定义定义 设有一关系模式R(U),U是其属性全集,X、Y是U的子集,D是R上的数据依赖集。如果对于任一多值依赖XY,此多值依赖是平凡的,或者X包含了R的一个侯选关系字,则称R是第四范式的关系模式,记作R4NF。备注:一个BCNF的关系模式不一定是4NF,而4NF的关系模式必定是BCNF的关系模式,即4NF是BCNF的推广。第37页,本讲稿共51页3、范式 b.4NF的分解的分解 把一个关系模式分解为4NF的方法与分解为BCNF的方法类似,就是当把一个关系模式利用投影的方法消去非平凡且非函数依赖的多值依赖,并且有无损连接性。备注:数据依赖和多值依

22、赖是两种重要的数据依赖,如只考虑函数依赖,则属于BCNF的关系模式的规范化程序已经最高了,如考虑多值依赖,则属于4NF的关系模式化程度是最高的。第38页,本讲稿共51页4、关系模式的规范化 关系模式的规范化(关系模式的规范化(normalization):一个低一级范式,通过模式分解转化为若干个高一级范式的关系模式的集合。4.1 关系模式规范化的目的和原则关系模式规范化的目的和原则规范化的目的:是使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。规范化的基本原则:遵循“一事一地”的原则,即一个关系只描述一个实体或实体间的联系。若多于一个实体,就把它“分离”出来。规范化:是概念的

23、单一化,即一个关系表示一个实体第39页,本讲稿共51页4、关系模式的规范化4.2 关系模式规范化的步骤关系模式规范化的步骤规范化就是对原关系进行投影,消除决定属性不是候选键的任何函数依赖,步骤:.对1NF关系进行投影,消除原关系中非主属性对键的部分函数依赖,将1NF关系转换成若干个2NF关系;.对2NF关系进行投影,消除原关系中非主属性对键的传递函数依赖,将2NF关系转换成若干个3NF关系;.对3NF关系进行投影,消除原关系中主属性对键的部分函数依赖和传递函数依赖;.对BCNF关系进行投影,消除原关系中的非平凡且非函数依赖的多值依赖,得到一组4NF的关系。第40页,本讲稿共51页4、关系模式的

24、规范化1NF2NF3NFBCNF4NF消除非主属性对键的部分函数依赖消除非主属性对键的传递函数依赖消除主属性对键的部分和传递函数依赖消除非平凡且非函数依赖的多值依赖消除决定属性不是候选键的非平凡的函数依赖规范化过程规范化过程第41页,本讲稿共51页4、关系模式的规范化4.3 关系模式规范化的要求关系模式规范化的要求 关系模式的规范化过程是通过对关系模式的投影分解来实现的,但投影分解方法不是惟一的,不同的投影分解会得到不同的结果。a.无损连接性(无损连接性(lossless join)设关系模式R(U,F)被分解为若干个关系模式R1(U1,F1),R2(U2,F2),Rn(Un,Fn)其中U=U

25、1UU2U.UUN,且不存在UNUj,Fi为F在Uj上的投影,如果R与R1,R2Rn自然连接的结果相等,则称为关系模式R的分解具有无损连接性。第42页,本讲稿共51页4、关系模式的规范化 b.函数依赖保持性(函数依赖保持性(preserve dependency)设关系模式R(U,F)被分解为若干个关系模式R1(U1,F1),R2(U2,F2),Rn(Un,Fn),其中U=U1UU2U.UUN,且不存在UNUj,Fi为F在Uj上的投影,如果F所含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所含,则称关系模式R的分解具有函数依赖保持性。判断对于关系模式的一个分解是否与原关系模式等价可

26、以有三种不同的标准:.分解要具有无损连接性.分解要具有函数依赖保持性.分解既要具有无损连接性,又要具有函数依赖保持性第43页,本讲稿共51页4、关系模式的规范化 用三种方法分解用三种方法分解 备注:备注:.如果一个分解具有无损连接性,则能够保证不丢失信息。如果一个分解具有函数依赖保持性,则可以减轻或解决各种异常情况。.无损连接性和函数依赖保持性是两个相互独立的标准。具有无损连接性的分解不一定具有函数依赖保持性。同样,具有函数依赖保持性的分解也不一定具有无损连接性。第44页,本讲稿共51页1.设有关系R,如下表问R属于第几范式?如何规范为第3范式?(详细写出规范化过程)职工号 职工名 年龄 性别

27、 单位号 单位名A1高21女C计算机系A2李23男E英语系A3王21女C计算机系第45页,本讲稿共51页解:R不属于3NF,它是2NF。R的候选关键字为职工号和职工名,而:职工号单位号,单位号职工号,单位号单位名.所以,职工号单位名,即存在非主属性“单位名”对候选关键字职工号的传递函数依赖,所以R不是3NF,规范化后的关系子模式如下图。职工号职工名年龄性别单位号A1高21女CA2李23男EA3王21女C第46页,本讲稿共51页2.设有关系模式R(A,B,C,D),函数依赖F=AC,CA,B(A,C),D(A,C),(B,D)Aa.求出R的所有后选键b.根据函数依赖关系,确定关系模式R属于第几范

28、式c.将R分解为3NF第47页,本讲稿共51页3.设有关系R,如下表,问R属于第几范式?如何规范为第3范式?(写出详细的规范化过程)学号姓名年龄 院系系主任名 课程编号 成绩02301LILI19外语王C19002301LILI19外语王C28502311LUCY18计算机 夏C55702311LUCY18计算机 夏C68002311LUCY18计算机 夏C702311LUCY18计算机 夏C47002312TOM20计算机 夏C17502312TOM20计算机 夏C27002312TOM20计算机 夏C48502321JOHN 21自动化 刘C190第48页,本讲稿共51页4.建立一个关于系

29、、学生、班级、学会等诸信息的关系数据库。学生:学号、姓名、出生年月、系名、班号、宿舍区。班级:班号、专业名、系名、人数、入校年份。系:系名、系号、系办公地点、人数。学会:学会名、成立年份、办公地点、人数。语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在?第49页,本讲稿共51页

30、答:关系模式有:学生S(S#,SN,SB,DN,C#,SA)班级C(C#,CS,DN,CNUM,CDATE)系D(D#,DN,DA,DNUM)学会P(PN,DATE1,PA,PNUM)学生学会SP(S#,PN,DATE2)其中:S#为学号,SN为姓名,SB为生日,DN为系名,C#为班号,SA为宿舍区,CS为专业名,CNUM为班级为数,CDATE为入校年份,D#为系号,DA为系办公室地点,DNUM为系人数,PN为学会名,DATE1为学会成立年月,PA为地点,PNUM为人数,DATE2为入会年份。各关系模式的极小函数依赖集为:S:S#SN,S#SB,S#C#,C#DN,DNSAC:C#CS,C#CNUM,C#CDATE,CSDN,(CS,CDATE)C#D:D#DN,DND#,D#DA,D#DNUMP:PNDATE1,PNPA,PNPNUMSP:(S#,PN)DATE2第50页,本讲稿共51页S中存在传递函数依赖:S#DN,S#SA,C#SAC中存在传递函数依赖:C#DN(CS,CDATE)C#和(S#,PN)DATE2都是完全函数依赖。关系候选码外部码全码SS#C#,DN无CC#和(CS,CDATE)DN无DD#和DN无无PPN无无SP(S#,PN)S#,PN无第51页,本讲稿共51页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁