第三章规范化理论_第1页
第三章规范化理论_第2页
第三章规范化理论_第3页
第三章规范化理论_第4页
第三章规范化理论_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章第三章 规范化理论规范化理论2022-3-23hh1n韩华韩华n信息科学与工程系信息科学与工程系 2009 .08第三章第三章 规范化理论规范化理论2022-3-23hh2 第三章第三章 规范化理论规范化理论数据依赖数据依赖3.1范范 式式3.23.3规范化举例规范化举例第三章第三章 规范化理论规范化理论2022-3-23hh33.1 数据依赖数据依赖数据依赖是通过关系中属性间属性间值值的决定关系决定关系体现出来的数据间的相互关系。例如,学生的学号学号可以决定决定学生的姓名,学生的学号学号加上加上他所选课程的课程号课程号可以决定决定他这门课的成绩,等等。现在人们已经提出了许多种类型的数据

2、依赖,其中最重要的是函数依赖函数依赖(Functional Dependency,简记为FD) 第三章第三章 规范化理论规范化理论2022-3-23hh41函数依赖n一般地讲,设X、Y是关系的两个不同的两个不同的属性组属性组,如果X的取值确定时,Y的取值也就确定了,叫做X X函数决定函数决定Y Y或Y Y函数依赖于函数依赖于X ,表示为X Y ,其中X称作决定因素决定因素n这种依赖关系实际上是函数关系,正象一个函数y=f(x)一样,x的值给定了,函数值y也就唯就唯一地确定了一地确定了。第三章第三章 规范化理论规范化理论2022-3-23hh5例子n设关系模式nR(学号学号,所在系,系主任,课程

3、号课程号,成绩)n若一名学生可以上若干门课,并在一个系注册,每个系只有一个系主任。n则该模式的属性间存在着如下的函数依赖:n学号学号所在系所在系n学号学号系主任系主任n所在系所在系系主任系主任n(学号(学号, , 课程号)课程号)成绩成绩该模式的属该模式的属性间存在怎性间存在怎样的函数依样的函数依赖?赖?第三章第三章 规范化理论规范化理论2022-3-23hh6职工号职工号(A) 基本工资基本工资(B)奖金奖金(C) 051 390 50 052 420 50 053 390 80A B A C B A C A第三章第三章 规范化理论规范化理论2022-3-23hh7函数依赖(续)n函数依赖函

4、数依赖是语义范畴的概念。只能根据语义来确定一个函数依赖。n例如,姓名姓名年龄年龄,这个函数依赖只有在该部门函数依赖只有在该部门没有同名人的条件下成立没有同名人的条件下成立。如果允许有同名人,则年龄就不再函数依赖于姓名。n设计者也可以对现实世界作强制的规定。设计者也可以对现实世界作强制的规定。n例如,规定不允许同名人出现,因而使姓名年龄函数依赖成立。这样这样当插入某个元组时当插入某个元组时这个元这个元组上的组上的属性值属性值必须满足规定的函数依赖必须满足规定的函数依赖, ,若若发现发现有同名人有同名人存在存在, ,则则拒绝插入拒绝插入该元组。该元组。第三章第三章 规范化理论规范化理论2022-3

5、-23hh8n1. 函数依赖是语义范畴的概念.它反映了一种语义完整性约束,只能根据语义来确定一个函数依赖.n2. 函数依赖是指关系R模式的所有关系元组均应满足的约束条件,而不是关系模式中的某个或某些元组满足的约束条件第三章第三章 规范化理论规范化理论2022-3-23hh93. 如果X Y,并且Y不是X的子集,则称X Y是非平凡的函数依赖;如果Y是X的子集,则称X Y是平凡的函数依赖; 我们讨论的是非平凡的函数依赖.4. 函数依赖的存在,决定了自然连接的特性 设关系模式R(X,Y,Z),X,Y,Z为不相交的属性集合,若X Y,X Z,则有R(X,Y,Z)=RX,Y*RX,Z 即用他们的自然连接

6、可复员原关系模式第三章第三章 规范化理论规范化理论2022-3-23hh102完全函数依赖和部分函数依赖n在函数依赖中,如果对于X的任何一个真真子集子集X,都有X , 则称 完全函数依赖于X,否则称Y部分函数依赖于X。学学 号号 课程号课程号所在系所在系成绩成绩完全函数确定完全函数确定关键字(主码)R(学号,所在系,系主任,课程号,成绩)例部分函数确定部分函数确定第三章第三章 规范化理论规范化理论2022-3-23hh113传递函数依赖n如果存在函数依赖XY,YZ,并且Y不是X的子集,同时Y不能函数决定不能函数决定X,则Z传递传递函数依函数依赖于赖于X。n例如,学号所在系,所在系系主任,则学号

7、系主任,这样“系主任”传递函数依赖于“学号”。第三章第三章 规范化理论规范化理论2022-3-23hh12 3.2范式范式3.2.13.2.23.2.3第一范式(1NF)第二范式(2NF)第三范式(2NF)3.2.4BC范式(BCNF)第三章第三章 规范化理论规范化理论2022-3-23hh13n关系数据库中的关系模式是要满足一定要求的,满足不同程度要求的为不同范式。n满足最低要求的叫第一范式,简称1NF。在第在第一范式中一范式中满足进一步要求满足进一步要求的为第二范式第二范式,其余以此类推。显然,各种范式之间存在联系: 1NF1NF 2NF2NF 3NF3NF BCNFBCNFn* * *

8、*一个一个低一级范式低一级范式的关系模式的关系模式,通过模式分通过模式分解解可以转换为可以转换为若干个若干个高一级范式的关系模式高一级范式的关系模式的的集合集合,这种过程就叫规范化规范化* * * *。 什么叫范式?第三章第三章 规范化理论规范化理论2022-3-23hh143.2.1第一范式(1NF)n关系模型要求关系模式的每一个每一个分量分量必须必须是一个是一个不可分的不可分的数据项数据项,也就是说,不允不允许许表中还有表表中还有表。凡是满足该条件的关系模式都属于第一范式第一范式。n第一范式是对关系模式的一个最起码的要求。不满足第一范式的数据库模式不能称不满足第一范式的数据库模式不能称为关

9、系数据库为关系数据库。 第三章第三章 规范化理论规范化理论2022-3-23hh15非第一范式转换为第一范式n纵向展开纵向展开第三章第三章 规范化理论规范化理论2022-3-23hh16非第一范式转换为第一范式n横向展开横向展开第三章第三章 规范化理论规范化理论2022-3-23hh171NF存在的问题)插入异常)插入异常(无法插入一个没有选课的学生的有关信息)n)删除异常)删除异常(如果删除一门课程,则整个元组就不存在,即将删除其它信息)n)修改复杂)修改复杂(如果学生换系,不但要修改系名,还要修改系主任,而且有几条记录就得修改几次)。n4 4)数据冗余度大数据冗余度大 第三章第三章 规范化

10、理论规范化理论2022-3-23hh18R R(学号,所在系,系主任,课程号,成绩)学号学号课程号课程号系主任系主任成绩成绩所在系所在系怎样解决以上四大问题?模式分解!完全函数依赖完全函数依赖部分函数依赖部分函数依赖部分函数依赖部分函数依赖模式分解(模式分解(投影分解法投影分解法)去掉部分函数依赖去掉部分函数依赖SC(SC(学号,课程号,成绩学号,课程号,成绩) )SDMSDM(学号,所在系,系主任)(学号,所在系,系主任)3.2.2第二范式(2NF)第三章第三章 规范化理论规范化理论2022-3-23hh19学号学号课程号课程号成绩成绩完全函数依赖完全函数依赖学号学号系主任系主任所在系所在系

11、完全函数依赖完全函数依赖完全函数依赖完全函数依赖SC(SC(学号,课程号,成绩学号,课程号,成绩) )SDMSDM(学号,所在系,系主任)(学号,所在系,系主任)第二范式第二范式第二范式第二范式第二范式(续)第三章第三章 规范化理论规范化理论2022-3-23hh20第二范式(续)n可以插入可以插入尚未选课的学生尚未选课的学生。n删除删除一个学生的所有一个学生的所有选课信息选课信息,所在系关系系关系SDMSDM中关中关于该于该学生的元组学生的元组不受影响不受影响。n大大大大降低了降低了数据冗余数据冗余。n简化了简化了修改操作修改操作。分解后,上述四大问题解决了吗?SC(SC(学号,课程号,成绩

12、学号,课程号,成绩) )SDMSDM(学号,所在系,系主任)(学号,所在系,系主任)第三章第三章 规范化理论规范化理论2022-3-23hh21第二范式(续)n2NF2NF的定义的定义:n如果一个关系模式关系模式R R属于属于1NF1NF,且它的每一个非非主属性主属性都完全函数依赖于码,则R属于2NF。1NF1NF2NF2NF消除掉部分函数依赖消除掉部分函数依赖第三章第三章 规范化理论规范化理论2022-3-23hh22第二范式(续)n2NF2NF在一定程度上减轻原1NF关系中存在的插入插入异常异常、删除异常、删除异常、数据冗余度大数据冗余度大、修改复杂修改复杂等问题。n但2NF并不能完全消除

13、并不能完全消除关系模式中的各种异常各种异常情况和数据冗余情况和数据冗余。n例如上例中,满足了第二范式的关系模式SDM仍然存在以下问题:第三章第三章 规范化理论规范化理论2022-3-23hh232NF存在的问题n插入异常插入异常:如果某个系因种种原因(例如刚成立),目前暂时没有在校学生,无法把这个系的信息存入数据库。n删除异常删除异常:如果某个系的学生全部毕业了,在删除该系学生信息的同时,把这个系的信息也丢掉了。n数据冗余度大数据冗余度大:每个系只有一个系主任,关于系主任的信息却重复出现,重复次数与该系学生人数相同。n修改复杂修改复杂:当学校调整系主任时,由于关于每个系的系主任信息是重复存储的

14、,修改时必须同时更新该系所有学生的“系主任”值。SC(SC(学号,课程号,成绩学号,课程号,成绩) )SDMSDM(学号,所在系,系主任)(学号,所在系,系主任)第三章第三章 规范化理论规范化理论2022-3-23hh24n(学号,系名,系主任)(学号,系名,系主任)n(学号,课程号,成绩)(学号,课程号,成绩)n其中:学号其中:学号系名,系名系名,系名系主任学号系主任学号系主任,则系主任,则有有传递函数依赖传递函数依赖。n用投影分解法可将可分解并规范为用投影分解法可将可分解并规范为:n(学号学号,系名),系名)n(系名系名,系主任),系主任)3.2.3第三范式(3NF)2NF2NF存在的问存

15、在的问题的原因什么?题的原因什么?怎样消除怎样消除传递函数传递函数依赖?依赖?第三章第三章 规范化理论规范化理论2022-3-23hh253.2.3第三范式(3NF) 在分解后的关系模式中既没有非主属性非主属性对码对码的部分函数依赖的部分函数依赖也没有非主属性对码的传递函主属性对码的传递函数依赖数依赖,在一定程度上解决了上述四个问题,即:1NF1NF2NF2NF消除掉部分函数依赖消除掉部分函数依赖2NF2NF消除掉传递函数依赖消除掉传递函数依赖第三章第三章 规范化理论规范化理论2022-3-23hh26第三范式(续)n所在系关系中可以插入可以插入无在校学生的系的信息系的信息。n某个系的学生全部

16、毕业学生全部毕业了,该系的信息仍存在系的信息仍存在。n关于系的系主任的信息系主任的信息只在DM关系中存储一次存储一次。n当学校调整某个系的系主任调整某个系的系主任时,只需修改修改DMDM关系中关系中一个相应元组的一个相应元组的“系主任系主任”值值。第三章第三章 规范化理论规范化理论2022-3-23hh27第三范式(续)n3NF3NF的定义是:的定义是:n如果一个关系模式R属于属于2NF2NF,并且每一个非主属性都不传递函数依赖于不传递函数依赖于R R的码的码,则R3NFR3NF。n3NF就是要求R的每一个非主属性既不部分函数依赖也不传递函数依赖于码。第三章第三章 规范化理论规范化理论2022

17、-3-23hh28第三范式(续)n采用投影分解法将一个2NF的关系模式分解为多个3NF的关系模式,可在一定程度上减轻在一定程度上减轻原2NF关系模式中存在的插入异常、删除异常、插入异常、删除异常、数据冗余度大、修改复杂数据冗余度大、修改复杂等问题。n但是,并不能完全消除关系模式中的各种异常并不能完全消除关系模式中的各种异常情况和数据冗余 第三章第三章 规范化理论规范化理论2022-3-23hh29第三范式(续)n例: 在关系模式R R(S S,C C,Z Z)中,S表示街道,C表示城市,Z表示邮政编码。根据数据语义数据语义可知,R具有如下函数依赖:(S S,C C)Z Z, ZCZC其中R的码

18、为SS,CC。nR中没有任何非主属性对码的部分函数依赖或传递函数依赖,因此R R属于属于3NF3NF。但是,该关系模式仍然存在一些问题,例如,要要插入邮政编码与其对应城市的关系,必须知道插入邮政编码与其对应城市的关系,必须知道该邮政编码所对应的一条街道名。该邮政编码所对应的一条街道名。第三章第三章 规范化理论规范化理论2022-3-23hh303.2.4 BC范式(BCNF)(自学)n3NF出现异常的问题在于主属性主属性C C函数依赖于函数依赖于Z Z,而Z不是超码。这样就存在主属性对码的传递主属性对码的传递函数依赖函数依赖(S,C)Z,ZC,从而(S,C)C)。n解决这一问题仍然可以采用投影

19、分解法投影分解法,将R分解为二个关系模式:nR1R1(S,Z),其中R1的码为SnR2R2(Z,C),其中R2的码为Zn在分解后的关系模式中没有任何属性对码的部没有任何属性对码的部分函数依赖和传递函数依赖分函数依赖和传递函数依赖。它解决了3NF所存在的问题:第三章第三章 规范化理论规范化理论2022-3-23hh31BC范式(续)nBCNFBCNF的定义是:的定义是:n如果关系模式R属于1NF,并且R的所有属性(包括主属性主属性和非主属性非主属性)既不部分依赖也不不部分依赖也不传递依赖于传递依赖于R R的码的码,则RBCNFRBCNF。nBCNF(Boyce Codd Normal Form)

20、是由Boyce和Codd提出的,比3NF更进了一步。通常认为BCNF是修正了的第三范式,所以只要不引起混淆或误解,有时统称它们为第三范式。有时统称它们为第三范式。第三章第三章 规范化理论规范化理论2022-3-23hh32BC范式(续)n采用投影分解法投影分解法将一个3NF的关系分解为多个BCNF的关系,可以进一步解决原解决原3NF3NF关系关系中存在的插入异常、删除异常、数据冗余中存在的插入异常、删除异常、数据冗余度大、修改复杂等度大、修改复杂等问题。n如果一个关系数据库中的所有关系模式都属于BCNF,那么在函数依赖范畴内在函数依赖范畴内,它已实现了模式的彻底分解模式的彻底分解,达到了最高的

21、规达到了最高的规范化程度,范化程度,消除了插入异常和删除异常消除了插入异常和删除异常。 第三章第三章 规范化理论规范化理论2022-3-23hh333.3 规范化举例n一个不好的关系模式不好的关系模式会导致n插入异常插入异常n删除异常删除异常n数据冗余度大数据冗余度大n修改复杂修改复杂n规范化的目的:规范化的目的:n逐步消除数据依赖中不合适的部分n使模式中的各关系模式达到某种程度的分离分离,让一个关让一个关系系描述描述一个概念一个概念、一个实体或者实体间的一种联系一个实体或者实体间的一种联系。n若多于一个概念就把它分离分离出去。n因此,所谓规范化规范化概念的单一化概念的单一化。 第三章第三章

22、规范化理论规范化理论2022-3-23hh34属于属于1NF1NF的关系模式的关系模式属于属于2NF2NF的关系模式的关系模式消除消除非主属性非主属性对码的对码的部分函数部分函数依赖依赖属于属于3NF3NF的关系模式的关系模式消除消除非主属性非主属性对码的对码的传递函数传递函数依赖依赖属于属于BCNFBCNF的关系模式的关系模式消除消除所有属性所有属性对码的对码的部分和传递部分和传递函数依赖函数依赖规范化的过程原始的关系模式原始的关系模式横向或纵向展开(横向或纵向展开(去掉表中有表的情况去掉表中有表的情况)第三章第三章 规范化理论规范化理论2022-3-23hh35规范化举例n例3-1 将下列

23、模式转变为第一范式n横向展开第三章第三章 规范化理论规范化理论2022-3-23hh36规范化举例n例3-2 :判断下列模式中,哪些是第二范式哪些是第二范式,指出非主属性对码的非主属性对码的部分函数依赖部分函数依赖。并将非第非第二范式的关系模式二范式的关系模式转换为第二范式转换为第二范式。(1)关系模式R1(A,B,C,D),具有如下函数依赖nABAB,nA A,CDCD第三章第三章 规范化理论规范化理论2022-3-23hh37 A C B D完全函数依赖完全函数依赖部分函数依赖部分函数依赖 A C D完全函数依赖完全函数依赖 A B完全函数依赖完全函数依赖R11(A , B)()(2NF)

24、R12(A , C , D)()(2NF)规范化举例第三章第三章 规范化理论规范化理论2022-3-23hh38规范化举例(2)关系模式R2R2(A,B,C,DA,B,C,D),具有如下函数依赖nABCABC,nACD,ACD,nACBACB关系模式R2的码是AB, ACAB, AC,不存在不存在非主属性非主属性对对码的码的部分函数依赖部分函数依赖,R2是第二范式。第三章第三章 规范化理论规范化理论2022-3-23hh39规范化举例n例例3-33-3:判断下列模式中,哪些是第二范式,但不是第三范式,将其转换为第三范式。(1)关系模式R1R1(A,B,C,DA,B,C,D),具有如下函数依赖n

25、ABCnCD关系模式R1的码是码是ABAB,不存在不存在非主属性非主属性对码的部部分函数依赖分函数依赖,属于第二范式属于第二范式。第三章第三章 规范化理论规范化理论2022-3-23hh40规范化举例nABCABC,CDCD, AB DAB D但由于存在非主属性但由于存在非主属性D D对码对码ABAB的的传递函数依赖传递函数依赖,故不属于第三范式故不属于第三范式。需要进行如下分解:需要进行如下分解:n去掉函数依赖去掉函数依赖AB DAB D,就必须使他们分别属,就必须使他们分别属于不同的关系模式于不同的关系模式nR11R11(A,BA,B,C C),),具有函数依赖具有函数依赖ABCABCnR

26、12R12(C C,D,D),),具有函数依赖具有函数依赖CDCDR11R11和和R12R12消除了非主属性对码的传递函数依赖,消除了非主属性对码的传递函数依赖,属于第三范式属于第三范式。第三章第三章 规范化理论规范化理论2022-3-23hh41规范化举例(2)第二个关系模式R2R2(A,B,C,DA,B,C,D),具有如下函数依赖nABC,nDA,nDB关系模式R2的码是D,不存在非主属性对码的部分函数依赖,属于第二范式属于第二范式。第三章第三章 规范化理论规范化理论2022-3-23hh42nABC,DA,DB,D CnD 传递函数决定传递函数决定CnR2(A,B,C,D)不属于不属于3NFn nR11(A,B,C) ( ABC),属于属于3NFnR12(D,A,B)( DA,DB )属于属于3NF怎样分解?怎样分解?思路是什么?思路是什么?投影分解投影分解, , 使使D D和和C C分分别属于别属于不同的关系模不同的关系模式式第三章第三章 规范化理论规范化理论2022-3-23hh43规范化举例n例3-4: 右图表示了一个证券公司证券公司的客户关系E-R图。请将其中的每一个每一个实体实体和每一个联系直接转化为关系模关系模

温馨提示

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

评论

0/150

提交评论