关系数据库设计理论讲稿.ppt

上传人:石*** 文档编号:46604113 上传时间:2022-09-27 格式:PPT 页数:73 大小:3.25MB
返回 下载 相关 举报
关系数据库设计理论讲稿.ppt_第1页
第1页 / 共73页
关系数据库设计理论讲稿.ppt_第2页
第2页 / 共73页
点击查看更多>>
资源描述

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

1、关系数据库设计理论第一页,讲稿共七十三页哦关系模式的表示定义定义 关系的描述称为关系模式(Relation Schema)。一个关系模式应当是一个五元组。它可以形式化地表示为:R(U,D,dom,F)。其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域的集合,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。关系模式通常可以简记为:R(A1,A2,An)或R(U)。其中R为关系名,A1,A2,An为属性名。而域名及属性向域的映象常常直接说明为属性的类型、长度。第二页,讲稿共七十三页哦4.1 4.1 问题的提出问题的提出如何使用关系模型设计关系数据库?也就是面对一个

2、现实问题,如何选择一个比较好的关系模式的集合?其中每个关系模式又由哪些属性组成?这就是数据库逻辑设计主要关心的问题 第三页,讲稿共七十三页哦4.1.1 规范化理论概述关系数据库设计理论主要包括三个方面的内容:函数依赖、范式(Normal Form)和模式设计。其中函数依赖起着核心作用,是模式分解和模式设计的基础,范式是模式分解的标准。关系数据库设计时要遵循一定的规范化理论。只有这样才可能设计出一个较好的数据库来。前面已经讲过关系数据库设计的关键所在是关系数据库模式的设计,也就是关系模式的设计。那么到底什么是好的关系模式呢?某些不好的关系模式可能导致哪些问题?下面通过例子对这些问题进行分析。第四

3、页,讲稿共七十三页哦4.1.2不合理的关系模式存在的问题 例例1 1 要求设计学生-课程数据库,其关系模式SDC如下:SDC(SNO,SN,AGE,DEPT,MN,CNO,SCORE)根据实际情况,这些数据有如下语义规定:(1)一个系有若干个学生,但一个学生只属于一个系;(2)一个系只有一名系主任,但一个系主任可以同时兼几个系的系主任;(3)一个学生可以选修多门功课,每门课程可被若干个学生选修;(4)每个学生学习每门课程有一个成绩。第五页,讲稿共七十三页哦4.1.2不合理的关系模式存在的问题 根据上述语义规定并分析以上关系中的数据,我们可以看出,(SNO,CNO)属性的组合能唯一标识一个元组(

4、每行中SNO与CNO的组合均是不同的),所以(SNO,CNO)是该关系模式的主关系键(即主键,又名主码等)。但在进行数据库的操作时,会出现以下几方面的问题。(1)数据冗余(2)插入异常(3)删除异常(4)修改异常 因此,把不好的关系数据库模式转变为较好的关系数据库模式,即关系的规范化 第六页,讲稿共七十三页哦4.1.2不合理的关系模式存在的问题 示例数据 主码是(SNO,CNO)SNO(5)SN(8)AGE(4)DEPT(8)MN(8)CNO(3)SCORE(4)S1赵红20计算机张文斌C190S1赵红20计算机张文斌C285S1赵红20计算机张文斌C357S2王小明17计算机张文斌C180S

5、2王小明17计算机张文斌C273S2王小明17计算机张文斌C370S3吴小林19计算机张文斌C175S3吴小林19计算机张文斌C270S3吴小林19计算机张文斌C385第七页,讲稿共七十三页哦4.1.2不合理的关系模式存在的问题数据冗余总字节数=(5+8+4+8+8+3+4)*9系名和系负责人重复9次学号和姓名重复3次课程名重复3次第八页,讲稿共七十三页哦4.1.2不合理的关系模式存在的问题 插入异常 计算机系成立,尚未招生无法插入 -在学生表存储数据必须保证其实体完整性-主属性不能为空,故 学号和课程名不能为空。招生完毕,但学生尚未选课无法插入 -学号是有了,但学生尚未选修,所以课程名不知道

6、 求学校有多少系?-结果不正确,在学生表中还未有计算机系含在内 问计算机负责人是谁?-不知道,计算机系不存在 由于信息不全,导致应该存储的数据无法存储。第九页,讲稿共七十三页哦4.1.2不合理的关系模式存在的问题删除异常计算机系06级学生毕业,删除所有该年级学生 -由于计算机系只有06级学生,被删除后,连带计算机系负责人信息一起被删除。问学校有几个系?问计算机系负责人是谁?若s2学生取消三门选修课程,则学要删除对该学生对应的三条记录。该学生记录信息也因此被删除这个时候如果问问计算机系有多少学生?删除元组时导致额外信息的丢失第十页,讲稿共七十三页哦4.1.2不合理的关系模式存在的问题修改异常(更

7、新异常)计算机系负责人改为张文瑞 需要修改9条记录 某学生改名,则该学生的所有记录都要逐一修改SN的值由于数据重复存储导致更新操作复杂。第十一页,讲稿共七十三页哦4.1.2不合理的关系模式存在的问题上述问题的根本原因学生关系模式的规范化程度较低解决办法 通过规范化理论对其进行规范化,可以逐步降低和消除上述问题 第十二页,讲稿共七十三页哦4.2 规范化 本节将讨论下述内容:首先讨论一个关系属性间不同的依赖情况,讨论如何根据属性间的依赖情况来判定关系是否具有某些不合适的性质。通常按属性间依赖情况来区分关系规范化的程度为第一范式、第二范式、第三范式、BC范式和第四范式等。然后直观地描述如何将具有不合

8、适性质的关系转换为更合适的形式。第十三页,讲稿共七十三页哦4.2.1 函数依赖 函数依赖 定义定义4.1 4.1 设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,X和Y 是U的子集,如果对于R(U)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体的值与之对应,则称X函数决定Y,或Y函数依赖于X,记XY。我们称X为决定因素,Y为依赖因素。当Y不函数依赖于X时,记作:X Y。当XY且YX时,则记作:X Y。函数依赖有几点需要说明:(1)平凡的函数依赖与非平凡的函数依赖 当属性集Y是属性集X的子集时,则必然存在着函数依赖XY,这种类型的函数依赖称为平凡的函数依赖。如果Y不是

9、X子集,则称XY为非平凡的函数依赖。若不特别声明,我们讨论的都是非平凡的函数依赖。第十四页,讲稿共七十三页哦4.2.1 函数依赖(2)函数依赖与属性间的联系类型有关 在一个关系模式中,如果属性X与Y有1:1联系时,则存在函数依赖XY,YX,即XY。例如,当学生没有重名时,SNOSN。如果属性X与Y有m:1的联系时,则只存在函数依赖XY。例如,SNO与AGE,DEPT之间均为m:1联系,所以有SNOAGE,SNODEPT。如果属性X与Y有m:n的联系时,则X与Y之间不存在任何函数依赖关系。例如,一个学生可以选修多门课程,一门课程又可以为多个学生选修,所以SNO与CNO之间不存在函数依赖关系。第十

10、五页,讲稿共七十三页哦4.2.1 函数依赖(3)函数依赖的语义范畴的概念 我们只能根据语义来确定一个函数依赖,而不能按照其形式化定义来证明一个函数依赖是否成立。(4)函数依赖关系的存在与时间无关 (5)函数依赖可以保证关系分解的无损连接性 函数依赖的基本性质(1)投影性 根据平凡的函数依赖的定义可知,一组属性函数决定它的所以子集。例如,在关系SDC中,(SNO,CNO)SNO和(SNO,CNO)CNO。说明:投影性产生的是平凡的函数依赖,需要时也能使用的。第十六页,讲稿共七十三页哦4.2.1 函数依赖 (2)扩张性 若XY且WZ,则(X,W)(Y,Z)。例如,SNO(SN,AGE),DEPTM

11、N,则有(SNO,DEPT)(SN,AGE,MN)。说明:扩张性实现了两函数依赖决定因素与被决定因素的分别合并作用。(3)合并性 若 XY且XZ则 必 有X(Y,Z)。例 如,在 关 系 SDC中,SNO(SN,AGE),SNODEPT,则有SNO(SN,AGE,DEPT)。说明:决定因素相同的两函数依赖被决定因素的可以合并。第十七页,讲稿共七十三页哦4.2.1 函数依赖 (4)分解性 若X(Y,Z),则XY且XZ。很显然,分解性为合并性的逆过程。说明:决定因素能决定全部,当然也能决定全部中的部分。由合并性和分解性,很容易得到以下事实:XA1,A2,,An成立的充分必要条件是XAi(i=1,2

12、,n)成立。第十八页,讲稿共七十三页哦4.2.1 函数依赖 3完全/部分函数依赖和传递/非传递函数依赖 定义定义4.24.2 设有关系模式R(U),U是属性全集,X和Y是U的子集,XY,并且对于X的任何一个真子集X,都有X Y,则称Y对X完全函数依赖(Full Functional Dependency),记作X f Y。如果对X的某个真子集X,有XY,则称Y对X部分函数依赖(Partial Functional Dependency),记作X p Y 第十九页,讲稿共七十三页哦4.2.1 函数依赖 定定义义4.34.3 设有关系模式R(U),U是属性全集,X,Y,Z是U的子集,若XY,但Y

13、X,而YZ,(Y X)则称Z对X传递函数依赖(Transitive Functional Dependency),记作:X t Z 注意:如果有YX,则X Y,这时称Z对X直接函数依赖,而不是传递函数依赖。综上所述,函数依赖可以有不同的分类,即有如下之分:平凡的函数依赖与非平凡的函数依赖;完全函数依赖与部分函数依赖;传递函数依赖与非传递函数依赖(即直接函数依赖),这些是比较重要的概念,它们将在关系模式的规范化进程中作为准则的主要内容而被使用到。第二十页,讲稿共七十三页哦4.2.2 码 定义定义4.44.4 设K K为R(U,F)中的属性或属性集合,若K K f f U,则K K为R R的候选候

14、选码(或候选关键字或候选键)码(或候选关键字或候选键)(Candidate key)。若候选码多于一个,则选定其中的一个为主码主码(或称主键,Primary key).包含在任何一个候选码中的属性,叫做主属性主属性(Prime attribute)。不包含在任何候选码中的属性称为非主属性非主属性(Nonprime attribute)或非码属性(Non-key attribute)。在最简单的情况,单个属性是码。最极端的情况,整个属性组U是码,称为全码(All-key)。第二十一页,讲稿共七十三页哦4.2.2 码已知关系模式R(U,F),如何来找出R的所有候选键呢?方法的步骤为:1、查看函数依

15、赖集F中的每个形如XiYi的(i=1,n)函数依赖关系。看哪些属性在所有Yi(i=1,n)中没有出现过,设没出现过的属性集为P(P=U-Y1-Y2-Yn)。则当P=(表示空集)时,转4;当P时,转2。2、根据候选键的定义,候选键中应必含P(因为没有其它属性能决定P)。考察P,若有P f U成立,则P为候选键,并且候选键只有一个P(考虑一下为什么呢?),转5结束;若P f U不成立,则转3。第二十二页,讲稿共七十三页哦4.2.2 码3、P可以分别与U-P中的每一个属性合并,形成P1,P2,Pm。再分别判断Pj f U(j=1,m)是否成立?能成立则找到了一个候选键,没有则放弃。合并一个属性若不能

16、找到或不能找全候选键,可进一步考虑P与U-P中的两个(或三个,四个,)属性的所有组合分别进行合并,继续判断分别合并后的各属性组对U的完全函数决定情况;如此直到找出R的所有候选键为止。转5结束。(需要提醒的是:如若属性组K已有K K f f U,则完全不必去考察含K的其它属性组合了,显然它们都不可能再是候选键了)。第二十三页,讲稿共七十三页哦4.2.2 码4、若P=,则可以先考察XiYi(i=1,n)中的单个Xi,判断是否有Xi f U?若成立则Xi为候选键。剩下不是候选键的Xi,可以考察它们两个或多个的组合,查看其是否能完全函数决定U,从而找出其它还有可能的候选键。转5结束。5、本方法结束。定

17、义义4.54.5 关系模式R中属性或属性组X并非R的主码,但X是另外一个关系模式S的主码,则称X是R的外部码外部码或外部关系键外部关系键(Foreign Key),也称外码外码。第二十四页,讲稿共七十三页哦4.2.3 范式 规范化的基本思想是消除关系模式中的数据冗余,消除数据依赖中的不合适的部分,解决数据插入、删除与修改时发生的异常现象。这就要求关系数据库设计出来的关系模式要满足一定的条件。我们把关系数据库的规范化过程中为不同程度的规范化要求设立的不同的标准或准则称为范式(Normal Form)。满足最低要求的叫第一范式,简称1NF。当把某范式看成是满足该范式的所有关系模式的集合时,各个范式

18、之间的集合关系可以表示为:一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。第二十五页,讲稿共七十三页哦4.2.4第一范式 第一范式(First Normal Form)是最基本的规范化形式,即关系中每个属性都是不可再分的简单项。定定义义4.64.6 如果关系模式R所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式,简称1NF,记作R1NF。在关系数据库系统中只讨论规范化的关系,凡是非规范化的关系模式必须转化成规范化的关系。在非规范化的关系中去掉组合项就能转化成规范化的关系。每个规范化的关系都是属于1NF。第二十六页,讲稿共

19、七十三页哦4.2.5 第二范式1第二范式的定义 定义定义4.7 4.7 如果关系模式R1NF,R(U,F)中的所有非主属性都完全函数依赖于任意一个候选关键字,则称关系R 是属于第二范式(Second Normal Form),简称2NF,记作R2NF。从定义可知,满足第二范式的关系模式R中,不可能有某非主属性对某候选关键字存在部分函数依赖.分析SDC关系模式,它的候选码是(sno,cno),非主属性(sn,age,dept,mn,score)(Sno,cno)f f score(Sno,cno)p p sn (Sno f f sn)(Sno,cno)p p age(Sno,cno)p p de

20、pt(Sno,cno)p p mn 所以该关系模式不属于第二范式第二十七页,讲稿共七十三页哦4.2.5 第二范式22NF的规范化 2NF规范化是指把1NF关系模式通过投影分解,消除非主属性对候选关键字的部分函数依赖,转换成2NF关系模式的集合的过程。注意:如果R的候选关键字均为单属性,或R的全体属性均为主属性,则R2NF。将SDC关系模式分解成连个关系模式SD(sno,sn,sge,dept,mn)描述学生实体Sc(sno,cno,score)描述学生与课程的联系第二十八页,讲稿共七十三页哦4.2.5 第二范式规范化结果SD(sno,sn,sge,dept,mn)Sc(sno,cno,scor

21、e)SNO(5)SN(8)AGE(4)DEPT(8)MN(8)S1赵红20计算机张文斌S2王小明17计算机张文斌S3吴小林19计算机张文斌SNO(5)CNO(3)SCORE(4)S1C190S1C285S1C357S2C180S2C273S2C370S3C175S3C270S3C385规范化前总字节数=(5+8+4+8+8+3+4)*9=360B规范化后总字节数=(5+8+4+8+8)*3+(5+3+4)*9=99+108=207B第二十九页,讲稿共七十三页哦4.2.5 第二范式 异常问题缓解异常问题缓解数据冗余(减轻,但仍存在)数据冗余(减轻,但仍存在)-系名和系负责人重复存储3次,sc中课

22、程号重复存储3次,学号重复3次更新异常(减轻,但仍存在)更新异常(减轻,但仍存在)-修改计算机系负责人仍要修改3次插入异常(减轻,但仍存在)插入异常(减轻,但仍存在)-计算机系成立,没有招生,无法插入(未解决)-招生完毕,学生尚未选修课程,可以插入学生基本信息表删除异常(减轻,但仍存在)删除异常(减轻,但仍存在)-取消选修,未删除学生信息 -删除系中学生,仍然活导致系的信息丢失。(未解决)第三十页,讲稿共七十三页哦4.2.6第三范式1第三范式的定义 定义定义4.8 4.8 如果关系模式R2NF,R(U,F)中所有非主属性对任何候选关键字都不存在传递函数依赖,则称R是属于第三范式(Third N

23、ormal Form),简称3NF,记作R3NF。第三范式具有如下性质:(1)如果R3NF,则R也是2NF。(2)如果R2NF,则R不一定是3NF。第三十一页,讲稿共七十三页哦4.2.6第三范式 2NF的关系模式解决了1NF中存在的一些问题,但2NF的关系模式SDC在进行数据操作时,仍然存在下面一些问题:1.数据冗余 2.插入异常 3.删除异常 4.修改异常 之所以存在这些问题,是由于在SD中存在着非主属性对候选关键字的传递依赖。消除这种依赖就转换成了3NF。23NF的规范化 3NF规范化是指把2NF关系模式通过投影分解,消除非主属对候选关键字的传递函数依赖,而转换成3NF关系模式集合的过程。

24、方法:将起传递关系作用函数关系中的主属性(决定方)和非主属性取出单独构成一个关系模式,再将它的决定方和关系式中余下的属性,加上主码,构成另外一个模式。第三十二页,讲稿共七十三页哦4.2.6第三范式对SD关系进行规范化由于只有系负责人(mn)传递函数依赖于sno(sno dept,dept mn )故分解得到 D(dept,mn)S(sno,sn,age,dept)DEPT(8)MN(8)计算机张文斌SNO(5)SN(8)AGE(4)DEPT(8)S1赵红20计算机S2王小明17计算机S3吴小林19计算机第三十三页,讲稿共七十三页哦4.2.6第三范式异常问题缓解异常问题缓解数据冗余降低数据冗余降

25、低-规范前学生情况总字节数(5+8+4+8+8)*3=99B-规范后学生+系总字节数(5+8+4+8)*3+(8+8)=91B更新异常不再更新异常不再 -修改计算机系负责人只修改条记录即可插入异常不再插入异常不再 -计算机系成立可插入系,不需要招生。删除异常不再删除异常不再-删除系中学生,系的信息不会丢失。第三十四页,讲稿共七十三页哦进一步优化将作为外码的字段所占空间减少,即减少重复项的空间占用。例:将系名用系号表示(2B)DNO(2)DEPT(8)MN(8)CD计算机张文斌SNO(5)SN(8)AGE(4)DNO(2)S1赵红20CDS2王小明17CDS3吴小林19CD优化前总字节数91B

26、优化后总字节数=(5+8+4+2)*3+(2+8+8)=57+18=75 B第三十五页,讲稿共七十三页哦4.2.7 BC范式1、存在问题的、存在问题的3NF示例示例例43 设有关系模式 SCS(SNO,SN,CNO,SCORE)假设不重名候选码?(SNO,CNO)和(SN,CNO)SCS属于第三范式?函数依赖关系图?存在的问题?数据冗余较大,修改异常原因?存在主属性对候选码的部分函数依赖解决办法?消除主属性对候选码的部分函数依赖SNOSNSNOCNOOSCORESNCNOOSCORE第三十六页,讲稿共七十三页哦4.2.7 BC范式1BC范式的定义 定义定义4.94.9 如果关系模式R1NF,且

27、所有的函数依赖XY(Y不包含于X,即Y X),决定因素X都包含了R的一个候选码,则称R属于BC范式(Boyce-Codd Normal Form),记作RBCNF。由BCNF的定义可以得到以下结论,一个满足BCNF的关系模式有:(1)所有非主属性对每一个候选码都是完全函数依赖。(2)所有的主属性对每一个不包含它的候选码都是完全函数依赖。(非平凡的函数依赖)(3)没有任何属性完全函数依赖于非码的任何一组属性。第三十七页,讲稿共七十三页哦4.2.7 BC范式 BCNF规范化实例 设有关系模式STK(S,T,K),S表示学生,T表示教师,K表示课程。假设每一位教师只讲授一门课程;每门课程由多个教师讲

28、授;某一学生选定某门课程,就对应一个确定的教师。STK的函数依赖是:(S,K)T,(S,T)K,TK候选码:(S,K)和(S,T)且两个候选码有交集 s 关系中的所有属性都是主属性?STK 属于第三范式(完美吗?)STK 不属于BCNF范式(TK,T是决定因素,而T不包含候选码)STK 的问题:1)插入异常插入异常:-新生入校,未选修课程,不能插入(K是主属性不能为空)-新开的课,还未有学生选修,不能插入?第三十八页,讲稿共七十三页哦4.2.7 BC范式2)删除异常 -选修过课程的学生全部毕业,学生信息要被删除,相对应教师和课程信息也被删除。造成教师和课程信息丢失。3)数据冗余大 -如一个教师

29、只上一门课,但所有选修该课程的学生都要反复记录这个信息。4)修改复杂 -课程名改,所有选修过该课程的学生所在元组都要改。第三十九页,讲稿共七十三页哦4.2.7 BC范式改进将属于第三范式的STK关系采用投影分解法分为两个关系,STK 分解为ST(S,T)其中 S 是码 S T TK(T,K)其中T是码 T K实际上这一过程消除了原有的主属性传递函数依赖于码和部分函数依赖于码。(前提是一个教师只教授一门课,所以不存在一个学生对应两个教师的情形,否则一个教师就要上两门以上的课程了。)第四十页,讲稿共七十三页哦4.2.7 BC范式缓解:1)ST 关系中可以存储未选修课程的学生,TK关系可以存储未有学

30、生选修的课程插入异常缓解2)选修过某门课程的学生全部毕业,只会删除ST中相应的元组 不影响TK中教师开课的信息删除异常缓解3)每个教师开设课程信息只在TK中存储一次降低冗余4)选课或改名,只在TK中修改一个元组简化修改第四十一页,讲稿共七十三页哦4.2.7 BC范式3NF与BCNF关系1)如果关系模式R属于BCNF,则必属于3NF2)如果关系模式R属于3NF,且只有一个候选码,则R一定属于BCNF3)如果关系模式R属于3NF,R的候选码多于一个,但每个候选码只包含一个属性,则R一定属于BCNF3)如果关系模式R属于3NF,R的候选码多于一个,并且候选码包含多个属性时,则R可能不是BCNF 如:

31、STK关系第四十二页,讲稿共七十三页哦4.2.7 BC范式 考察关系S(sno,sn,sex,age,dept)因为sn允许重名,故只有一个码sno,所以 S属于BCNF。考察关系C(cno,cname,cpno,credit)因为cname不允许重名,故cno和cname都是码,但cno和cname都是单属性,不存在主属性的部分函数依赖和传递函数依赖 所以 C属于BCNF考察关系SC(sno,cno,score),(sno,cno)是码且是唯一的码,所以SC属于BCNF事实证明:只有两个属性的关系模式一定是BCNF第四十三页,讲稿共七十三页哦4.2.8多值依赖与4NF属于BCNF的关系模式

32、函数依赖:一个完美的关系模式 多值依赖例如:假设学校中一门课程可由多名教师教授,教学中他们使用相同的一套参考书,这样可用表 1非规范化的关系来表示课程C、教师T、参考书R间的关系。课程C教师T参考书R数据库系统概论计算数学萨师煊王珊张平周峰数据库与应用数据库系统Sqlserver2000数学分析微分方程第四十四页,讲稿共七十三页哦4.2.8多值依赖与4NF用二维表表示课程C教师T参考书R数据库系统概论数据库系统概论数据库系统概论数据库系统概论数据库系统概论数据库系统概论计算数学计算数学计算数学计算数学萨师煊萨师煊萨师煊王珊王珊王珊张平张平周峰周峰数据库与应用数据库系统Sqlserver2000

33、数据库与应用数据库系统Sqlserver2000数学分析微分方程数学分析微分方程第四十五页,讲稿共七十三页哦4.2.8多值依赖与4NF规范后的关系模式CTR,只有唯一的一个函数依赖(C,T,R)U,所以该关系模式的码是全码,因而该关系模式属于BCNFCTR存在的问题:1)数据冗余 课程、教师、参考书都被多次存储2)插入异常 当某一课程增加一名任课教师,有多少参考书就必须插入几条元组。例如:计算数学增加一个任课教师王刚,需要插入两个元组。(计算数学,王刚,数学分析)(计算数学,王刚,微分方程)3)删除异常,若要删除某一门课程的参考书,与该参考书有关的元组都要被删除。第四十六页,讲稿共七十三页哦4

34、.2.8多值依赖与4NF4)修改操作复杂 -某一门课要修改一本参考书,有几个教师任教就要修改几个元组。产生原因:参考书的取值和教师的取值是彼此毫无关系的,都只取决于课程名。第四十七页,讲稿共七十三页哦4.2.8多值依赖与4NF 前面所介绍的规范化都是建立在函数依赖的基础上,函数依赖表示的是关系模式中属性间的一对一或一对多的联系,但它并不能表示属性间多对多的关系,因而某些关系模式虽然已经规范到BCNF,仍然存在一些弊端,本节主要讨论属性间的多对多的联系即多值依赖问题,以及在多值依赖范畴内定义的第四范式。1.多值依赖 (1)多值依赖的定义 第四十八页,讲稿共七十三页哦4.2.8多值依赖与4NF 定

35、义4.10 设有关系模式R(U),U是属性全集,X,Y,Z是属性集U的子集,且Z=U-X-Y,如果对于R的任一关系,对于X的一个确定值,存在Y的一组值与之对应,且Y的这组值仅仅决定于X的值而与Z值无关,此时称Y多值依赖于X,或X多值决定Y,记作:XY。在多值依赖中,若XY且Z=U-X-Y,则称XY是非平凡的多值依赖,否则称为平凡的多值依赖。(是非平凡的多值依赖涉及到所有属性)第四十九页,讲稿共七十三页哦4.2.8多值依赖与4NF如:在关系模式CTR中,对于某一C、R属性值组合(数据库系统概论,数据库系统)来说,有一组T值萨师煊,王珊,这组值仅仅决定与课程C上的值(数据库系统概论)。也就是说,对

36、于另一个C、R属性值组合(数据库系统概论,SQL Server2000),它对应的一组T值仍是萨师煊,王珊,尽管这时参考书R的值已经改变了。因此T多值依赖于C,即:CT。第五十页,讲稿共七十三页哦4.2.8多值依赖与4NF 下面是多值依赖的另一形式化定义:设有关系模式R(U),U是属性全集,X、Y、Z是属性集合U的子集,且Z=U-X-Y,r是关系模式R的任一关系,t,s是r的任意两个元组,如果tX=sX,r中必有的两个元组u、v存在,使得:sx=tX=uX=vX uY=tY且uZ=sZ vY=sY且 vZ=tZ 则称X多值决定Y或Y多值依赖于X。(2)多值依赖与函数依赖的区别 第五十一页,讲稿

37、共七十三页哦4.2.8多值依赖与4NF 在关系模式R中,函数依赖XY的有效性仅仅决定与X、Y这两个属性集,不涉及第三个属性集,而在多值依赖中,XY在属性集U(U=X+Y+Z)上是否成立,不仅要检查属性集X、Y上的值,而且要检查属性集U的其余属性Z上的值。因此,如果XY在属性集W(WU)上成立,而在属性集U上不一定成立,所以,多值依赖的有效性与属性集的范围有关。如果在R(U)上有XY,在属性集W(W包含U)上也成立,则称XY为R(U)的嵌入型多值依赖。如果在关系模式R上存在函数依赖XY,则任何Y包含于Y均有XY成立,而多值依赖XY在R上成立,但不能断言对于任何Y包含于Y有XY成立。第五十二页,讲

38、稿共七十三页哦4.2.8多值依赖与4NF()多值依赖的性质 多值依赖具有对称性。即若XY,则XZ,其中ZU-X-Y。多值依赖具有传递性。即若XY,YZ,则XZ-Y。函数依赖可看作是多值依赖的特殊情况。即若XY,则XY。函数依赖合并性。即若XY,XZ,则XYZ。多值依赖分解性。即若XY,XZ,则X(YZ),XY-Z,XZ-Y均成立。这说明,如果两个相交的属性子集均多值依赖于另一个属性子集,则这两个属性子集因相交而分割成的三部分也都多值依赖于该属性子集。第五十三页,讲稿共七十三页哦4.2.8多值依赖与4NF2.第四范式(4NF)(1)第四范式(4NF)的定义 定定义义4.114.11 设有一关系模

39、式R(U),U是其属性全集,X、Y是U的子集,D是R上的数据依赖集。如果对于任一多值依赖XY,此多值依赖是平凡的,或者X包含了R的一个候选码,则称关系模式R是第四范式的,记作:R4NF。经过上面分析可以得知:一个BCNF的关系模式不一定是4NF,而4NF的关系模式必定是BCNF的关系模式,即4NF是BCNF的推广,4NF范式的定义涵盖了BCNF范式的一定。第五十四页,讲稿共七十三页哦4.2.8多值依赖与4NF(2)4NF的分解 把一个关系模式分解为4NF的方法与分解为BCNF的方法类似,就是当把一个关系模式利用投影的方法消去非平凡且非函数依赖的多值依赖,并具有无损连接性。第五十五页,讲稿共七十

40、三页哦4.2.8多值依赖与4NF 数据依赖和多值依赖是两种最重要的数据依赖。如果只考虑函数依赖,则属于BCNF的关系模式的规范化程度已经是最高了。如果考虑多值依赖,则属于4NF的关系模式化程度是最高的。事实上,数据依赖中除了函数依赖和多值依赖之外,还有其他的数据依赖如连接依赖。函数依赖是多值依赖的一种特殊情况,而多值依赖实际上又是连接依赖的一种特殊情况。但连接依赖不像函数依赖和多值依赖那样可由语义直接导出,而是在关系的连接运算时才反映出来。存在连接依赖的关系模式仍可能遇到数据冗余及插入、修改、删除异常问题。如果消除了属于4NF的关系中存在的连接依赖,则可以进一步达到5NF的关系模式。本书不再讨

41、论连接依赖和5NF这方面的内容.第五十六页,讲稿共七十三页哦4.2.9规范化小结 规范化就是对原关系进行投影,消除决定属性不是候选码的任何函数依赖。一个关系只要其分量都是不可分的数据项,就可称作规范化的关系,也称作1NF。消除1NF关系中非主属性对码的部分函数依赖,得到2NF;消除2NF关系中非主属性对码的传递函数依赖,得到3NF;消除3NF关系中主属性对码的部分函数依赖和传递函数依赖,便可得到一组BCNF关系 规范化目的是使结构更合理,消除异常,使数据冗余尽量小,便于插入、删除和修改。原则是遵从概念单一化“一事一地”原则,即一个关系模式描述一个实体或实体间的一种联系。第五十七页,讲稿共七十三

42、页哦4.2.9规范化小结 规范的实质就是概念的单一化。方法是将关系模式投影分解成两个或两个以上的关系模式。要求:分解后的关系模式集合应当与原关系模式“等价”,即经过自然联接可以恢复原关系而不丢失信息,并保持属性间合理的联系。注意:一个关系模式的不同分解可以得到不同关系模式集合,也就是说分解方法不是唯一的。最小冗余的要求必须以分解后的数据库能够表达原来数据库所有信息为前提来实现。其根本目标是节省存储空间,避免数据不一致性,提高对关系的操作效率,同时满足应用需求。第五十八页,讲稿共七十三页哦4.3 数据依赖的公理系统数据依赖的公理系统 数据依赖的公理系统是模式分解算法的理论基础,下面先讨论函数依赖

43、的一个有效而完备的公理系统Armstrong公理系统。定义定义4.124.12 对于满足一组函数依赖F的关系模式R R(U U,F F),其任何一个关系r,若函数依赖XY都成立(即r中任意两元组t,s,若tX=sX,则tY=sY),则称F逻辑蕴涵逻辑蕴涵XYXY。ArmstrongArmstrong公理系统公理系统 设U为属性集总体,F是U上的一组函数依赖,于是有关系模式R R(U,F)。对R R(U,F)来说有以下的推理规则:第五十九页,讲稿共七十三页哦4.3 数据依赖的公理系统数据依赖的公理系统lA1 A1 自自反反律律(Reflexivity):若Y X U,则XY为F所蕴含。lA2 A

44、2 增增广广律律(Augmentation):若XY为F所蕴含,且Z U,则XZYZ为F所蕴含。lA3 A3 传传递递律律(Transitivity):若XY及YZ为F所含,则XZ为F所蕴含。注意:由自反律所得到的函数依赖均是平凡的函数依赖,自反律的使用并不依赖于F。定理定理4.14.1 Armstrong推理规则是正确的。下面从定义出发证明推理规则的正确性。第六十页,讲稿共七十三页哦4.3 数据依赖的公理系统数据依赖的公理系统证证:(1)Y X U。对R R(U,F)的任一关系r中的任意两个元组t,s:若tX=sX,由于Y X,有tY=sY,所以XY成立,自反律得证。(2)XY为F所蕴含,且

45、Z U。设R R(U,F)的任一关系r中的任意两个元组t,s:若tXZ=sXZ,则有tX=sX和tZ=sZ;由XY,于是有tY=sY,所以tYZ=sYZ,所以XZYZ为F所蕴含,增广律得证。(3)设XY及YZ为F所蕴含。设R R(U,F)的任一关系r中的任意两个元组t,s:若若tX=sX,由XY,有tY=sY;再由YZ,有tZ=sZ,所以XZ为F所蕴含,传递律得证。第六十一页,讲稿共七十三页哦4.3 数据依赖的公理系统数据依赖的公理系统 根据A1,A2,A3这三条推理规则可以得到下面很有用的推理规则:合并规则:由合并规则:由XYXY,XZXZ,XYZXYZ。伪传递规则:由伪传递规则:由XYXY

46、,WYZWYZ,有,有XWZXWZ。分解规则:由分解规则:由XYXY及及Z YZ Y,有,有XZXZ。根据合并规则和分解规则,很容易得到这样一个重要事实:引理引理4.1 4.1 X成立的充分必要条件是X成立(i=1,2,k)。定义定义4.134.13 在关系模式R R(U,F)中为F所蕴含的函数依赖的全体叫做F F的闭包闭包,记为:F+第六十二页,讲稿共七十三页哦4.3 数据依赖的公理系统数据依赖的公理系统 人们把自反律,传递律和增广律称为Armstrong公理系统。Armstrong公理系统是有效的、完备的。Armstrong公理的有有效效性性指的是:由F出发根据Armstrong公理推导出

47、来的每一个函数依赖一定在F+中;完完备备性性指的是F+中的每一个函数依赖,必定可以由F出发根据Armstrong公理推导出来。要证明完备性,就首先要解决如何判定一个函数依赖是否属于由F根据Armstrong公理推导出来的函数依赖集合。当然,如果能求出这个集合,问题就解决了。但不幸的是,这是个NP完全问题。比如从F=X,X 出发,至少可以推倒出个不同的函数依赖,为此引出了下面的概念:第六十三页,讲稿共七十三页哦4.3 数据依赖的公理系统数据依赖的公理系统 定定义义4.144.14 设F为属性集U上的一组函数依赖,X包 含 于 U,Xf+=A|XA能由F根据Armstrong公理导出,Xf+成为属

48、性集X X关关于于函函数数依赖集依赖集F F的闭包的闭包。由引理引理4.14.1容易得出:引引理理4.24.2 设F为属性集U上的一组函数依赖,X,Y包含于U,XY能由F根据Armstrong公理导出的充分必要条件是Y包含于 Xf+。于是,判定XY是否能由F根据Armstrong公理推导出的问题,就转化为求出Xf+的子集的问题。这个问题由算法4.1解决了。第六十四页,讲稿共七十三页哦 由于本节内容为选学内容由于本节内容为选学内容 因此其它内容略,具体内容见书因此其它内容略,具体内容见书4.3 数据依赖的公理系统数据依赖的公理系统第六十五页,讲稿共七十三页哦4.4 4.4 小结小结 本章讨论如何

49、设计关系模式问题。关系模式设计有好与坏之分的,其设计好坏与数据冗余度和各种数据异常问题直接相关。本章在函数依赖、多值依赖的范畴内讨论了关系模式的规范化,在整个讨论过程中,只采用了两种关系运算投影和自然连接。关系模式在分解时应保持“等价”,有数据等价和语义等价两种,分别用无损分解和保持依赖两个特征来衡量。前者能保持泛关系在投影联接以后仍能恢复回来,而后者能保证数据在投影或联接中其语义不会发生变化。第六十六页,讲稿共七十三页哦4.4 4.4 小结小结范式是衡量关系模式优劣的标准,范式表达了模式中数据依赖应满足的要求。要强调的是,规范化理论主要为数据库设计提供了理论的指南和参考工具,并不是关系模式规

50、范化程度越高,实际应用该关系模式就越好,实际上必须结合应用环境和现实世界的具体情况合理地选择数据库模式的范式等级。本章最后还简介了模式分解相关的理论基础数据依赖的公理系统。第六十七页,讲稿共七十三页哦习 题一、选择题1、关系模式中数据依赖问题的存在,可能会导致库中数据插入异常,这是指()。A插入了不该插入的数据 B数据插入后导致数据库处于不一致状态 C该插入的数据不能实现插入D以上都不对2、若属性X函数依赖于属性Y时,则属性X与属性Y之间具有()的联系。A一对一B一对多C多对一D多对多3、关系模式中的候选键()。A有且仅有一个B必然有多个 C可以有一或多个D以上都不对4、规范化的关系模式中,所

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

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

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

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