




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章关系数据库设计理论,4.1规范化问题的提出4.2函数依赖4.3范式4.4多值依赖与4NF4.5关系模式的分解,在关系型数据库中,关系模型包括一组关系模式,并且各个关系不是完全独立的。要设计一个合适的关系数据库系统,必须进行数据库的规范化。规范化理论包括三个方面的内容:函数依赖、范式和模式设计。,4.1规范化问题的提出,4.1.1规范理论的主要内容,4.1.2不合理的关系模式存在的存储异常问题,例要求设计一教学管理数据库,其关系模式SCD如下SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE),关系中(SNO,SN)属性的组合能唯一标识一个元组,所以是该关系模式的主关键键。但
2、进行数据库的操作时,会出现以下几方面的问题。1)数据冗余2)插入异常3)删除异常4)更新异常,关系模式应满足的基本要求:,1、元组的每一个分量必须是不可分的数据项;2、数据库中的数据冗余应尽可能的少;3、关系数据库不能因为数据更新操作而引起数据不一致问题,4、当执行数据插入操作时,数据库中的数据不能产生插入异常现象5、数据库中的数据不能在执行删除操作时产生删除异常问题6、数据库设计应考虑查询要求,数据组织应合理。,4.2.1函数依赖的定义及性质,关系模式中的各个属性之间相互依赖、相互制约的联系称为数据依赖。函数依赖、多值依赖是重要的数据依赖,4.2函数依赖,1、函数依赖定义设RU是属性集U上的
3、关系模式,X、Y是U的子集。若对于RU的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而Y上的属性值不等,则称X函数确定Y函数,或Y函数依赖于X函数,记作XY。,我们称X为决定因素,Y为依赖因素,当Y不函数依赖于X时,记做XY。当XY且YX时,则记做XY,对于关系模式SCDU=SNO,SN,AGE,DEPT,MN,CNO,SCOREF=SNOSN,SNOAGE,SNODEPTSNOSCORE但是(SNO,CNO)SCORE,说明:1)平凡的函数依赖与非平凡的函数依赖当属性集Y是属性集X的子集时,则必然存在着函数依赖关系XY,这种类型的函数依赖关系称为平凡的函数依赖。如果Y不是
4、X的子集,则称XY为非平凡的函数依赖。,2)函数依赖与属性之间的联系类型有关a、在一个关系模式中,如果属性X与Y有1:1的联系时,则存在函数依赖XY且YX,即XY。(SNO、SN)b、如果属性X与Y有m:n的联系时,则不存在函数依赖。(SNO、CNO),2、完全函数依赖和部分函数依赖在RU中,如果XY,并且对于X的任何一个真子集X,都有XY,则称Y对X完全函数依赖,记作:XY;若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:XY。,F,P,SNOSCORE,且CNOSCORE,有SCORE完全函数依赖于(SNO,CNO),SNOAGE所以(SNO,CNO)部分函数依赖于AGE,3
5、、传递函数依赖,SNODEPT,但DEPTSNO,而DEPTMN,则有MN对SNO传递函数依赖,在RU中,如果XY,(YX),YX,YZ,则称Z对X传递函数依赖。传递函数依赖记作XZ。,T,4、函数依赖可以保证关系分解的无损连接性设R(X,Y,Z),X,Y,Z为不相交的属性集合,如果XY或XZ则有R(X,Y,Z)=R(X,Y)R(X,Z),其中R(X,Y)表示关系R在属性(X,Y)上的投影,即R等于其投影在X上的自然连接,这样就保证了关系R分解后不会丢失原有信息,称做关系分解的无损连接性。,例如:对于关系模式SCD,有SNO(SN,AGE,DEPT,MN),SCD(SNO,SN,AGE,DEP
6、T,MN,CNO,SCORE)=SCDSNO,SN,AGE,DEPT,MNSCDSNO,CNO,SCORE说明用其投影在SNO上的自然连接可复原关系模式SCD.,5、码设K为关系模式R中的属性或属性组集合。若KU,则K称为R的一个候选码。若关系模式R有多个候选码,则选定其中一个作为主码。,我们把关系数据库的规范化过程中为不同程度的规范化要求设立的不同标准称为范式(Normalform)。由于规范的程度不同,就产生了不同的范式。满足最基本规范化要求的关系模式叫第一范式,在第一范式中进一步满足一定要求的范式为第二范式,依次类推就产生第三范式等概念。,4.3范式,4.3.1第一范式(1NF),定义:
7、如果关系模式R所有属性均为简单属性,即每一个属性都是不可再分的,则称R属于第一范式,简称1NF.在任何一个关系数据库系统中,第一范式是关系模式的一个最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。,关系模式SCD属于第一范式,但它具有大量的数据冗余,插入异常等弊端。出现问题的原因在SCD中的函数依赖关系。,在SCD中既存在完全函数依赖,又存在部分函数依赖和传递函数依赖。这在数据库中不允许。解决方法利用投影运算将关系分解。(SNO,CNO)fSCORESNOSN,(SNO,CNO)PSNSNOAGE,(SNO,CNO)PAGESNODEPT,(SNO,CNO)PDEPTSNOtMN,
8、(SNO,CNO)PMN,4.3.2第二范式(2NF),1、定义:如果关系模式R属于1NF,且每个非主属性都完全函数依赖于R的每个关系键,则称R属于第二范式,简称2NF.在关系模式SCD中,SNO,CNO为主属性,AGE,DEPT,MN,SCORE为非主属性,存在非主属性对关系键的部分函数依赖,所以SCD不属于2NF。,2、2NF规范化2NF规范化是指把1NF关系模式通过投影分解,转换成为2NF关系模式的集合。分解时遵循的基本原则是让一个关系只描述一个实体或者实体间的联系。如果多于一个实体或联系,则进行投影分解。例:将SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)规范为2N
9、F,由于SNOSN,SNOAGE,SNODEPT,(SNO,CNO)fSCORE,可以判断,关系SCD至少描述两个实体,一个为学生实体,属性有SNO,SN,AGE,DEPT,MN;另一个是学生与课程的联系,属性有SNO,CNO,SCORE.根据分解原则,可将SCD分解成如下两个关系:SD(SNO,SN,AGE,DEPT,MN)描述学生实体,SC(SNO,CNO,SCORE)描述学生与课程的联系。,对于分解后的两个关系,主键分别为SNO和(SNO,CNO),非主属性对主键完全函数依赖。因此,两个关系都属于第二范式,同时SCD的这种分解不会丢失任何信息,具有无损连接性。1NF的关系模式经过分解转换
10、成2NF后,消除了一些数据冗余。,结论:1)从1NF关系中消除非主属性对关系键的部分函数依赖,则可得到2NF关系。2)如果R的关系键为单属性,或R的全体属性均为主属性,则R为2NF.,4.3.3第三范式(3NF),1、定义:如果关系模式R2NF,且每个非主属性都不传递依赖于R的每一个关系键,则称R属于第三范式,简称3NF.2、性质(1)如果R3NF,则R也是2NF。(2)如果R2NF,则R不一定是3NF。,3、规范化分解时遵循的基本原则是让一个关系只描述一个实体或者实体间的联系。如果多于一个实体或联系,则进行投影分解。,例:将SD(SNO,SN,AGE,DEPT,MN)规范为3NF由于关系SD
11、描述两个实体,一个为学生实体,属性有SNO,SN,AGE,DEPT;另一个是系的实体,属性有DEPT,MN.根据分解原则,可将SD分解成如下两个关系:S(SNO,SN,AGE,DEPT)描述学生实体,D(DEPT,MN)描述系实体。,4.3.4BC范式(BCNF),1、BC范式的定义如果关系模式R1NF,且所有的函数依赖XY(Y不属于X),决定因素X都包含了R的一个侯选键,则称R属于BC范式,记做RBCNF.,2、性质(1)满足BCNF的关系将消除任何属性(主属性或非主属性)对键的部分函数依赖和传递函数依赖。也就是如果RBCNF,则必有R也是3NF。(2)如果R3NF,则不一定有R是BCNF。
12、,例如:设有关系模式SNC(SNO,SN,CNO,SCORE),(无重名现象)。可以判定SNC有两个候选键(SNO,CNO)和(SN,CNO),其函数依赖如下:SNOSN(SNO,CNO)SCORE(SN,CNO)SCORE唯一非主属性SCORE对键不存在部分函数依赖,也不存在传递函数依赖。所以SNC3NF.,但是因为SNOSN,即决定因素SNO或SN不包含候选键,从另一个角度看,存在着主属性对键的部分函数依赖:(SNO,CNO)PSN,(SN,CNO)pSNO,所以SNC不是BCNF.,3、BCNF规范化把3NF的关系模式通过投影分解转换成BCNF关系模式的集合。例将SNC(SNO,SN,C
13、NO,SCORE)规范到BCNF我们将SNC分解成如下两个关系:S1(SNO,SN)S2(SNO,CNO,SCORE),对于S1,有两个候选键,对于S2,主键为(SNO,CNO).在这两个关系中,无论主属性还是非主属性都不存在对键的部分依赖和传递依赖,S1BCNF,S2BCNF.结论:从1NF关系中消除任何属性对关系键的部分和传递函数依赖,则可得到BCNF关系。,4.4多值依赖与4NF,4.4.1多值依赖例如,有关系模式Teach(C,T,B),C表示课程,T表示教师,B表示参考书。假设该关系如图所示。,续表,Teach具有惟一候选码(C,T,B),即全码,因而TeachBCNF。但Teach
14、模式中存在一些问题:(1)数据冗余度大。(2)增加操作复杂。(3)删除操作复杂。(4)修改操作复杂。,多值依赖定义:设R(U)是一个属性集U上的一个关系模式,X、Y和Z是U的子集,并且Z=U-X-Y,多值依赖XY成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组确定Y的值,这组Y值仅仅决定于X而与Z值无关。若XY,而Z不为空,则称XY为非平凡的多值函数依赖,否则为平凡的多值函数依赖,在Teach关系中,每个(C,B)上的值对应一组T值,而这种对应与B无关。(计算机网络、网络原理)对应一组值(李明、王成、刘军)而这组值仅仅决定于课程C上,也就是说对于(C,B)上的另一个值(计算机网络
15、、布线工程)对应的一组值仍然是(李明、王成、刘军)CT,多值依赖的性质:1)多值依赖具有对称性2)多值依赖具有传递性3)函数依赖是多值依赖的特例,4.4.2第四范式(4NF)关系模式R1NF,如果对于R的每一个非平凡多值函数依赖XY(Y不是X的子集),X都含有候选码,则R4NF通俗地说,一个关系模式如果已满足BCNF,且没有非平凡且非函数依赖的多值依赖,则关系模式属于4NF。一个关系模式R4NF,则必有RBCNF。,前面讨论过的关系模式Teach中存在非平凡的多值依赖CT,且C不是候选码,因此Teach不属于4NF。这正是它之所以存在数据冗余度大、插入和删除操作复杂等弊病的根源。可以用投影分解
16、法把Teach分解为如下两个4NF关系模式以减少数据冗余:CT(C,T)CB(C,B),4.5.1关系模式规范化的步骤,规范化的基本思想是对已有的关系模式进行分解来实现的,它逐步消除数据依赖中不合适的部分,把低一级的关系模式分解为多个高一级的关系模式,使模式中的各关系模式达到某种程度的“分离”。即采用“一事一地”的模式设计原则,让一个关系描述一个概念、一个实体或者实体间的一种联系,若多于一个概念就把它“分离”出去。因此所谓规范化实质上是概念的单一化。,4.5关系模式的分解,关系模式规范化的基本步骤如下:(1)对1NF关系进行投影,消除原关系中非主属性对关系键的部分函数依赖,将1NF关系转换为若
17、干个2NF关系。(2)对2NF关系进行投影,消除原关系中非主属性对关系键的传递函数依赖,从而产生一组3NF关系。,(3)对3NF关系进行投影,消除原关系中主属性对关系键的部分函数依赖和传递函数依赖,得到一组BCNF关系。,(4)对BCNF关系进行投影,消除原关系中非平凡且非函数依赖的多值依赖,得到一组4NF关系。,4.5.2关系模式的分解,关系模式的规范化过程是通过对关系模式的分解来实现的,但是把低一级的关系模式分解为若干个高一级的关系模式的方法并不是惟一的。在这些分解方法中,只有能够保证分解后的关系模式与原关系模式等价的方法才有意义。,SNOSNSNOAGESNODEPTDEPTMNSNOM
18、N,SD(SNO,SN,AGE,DEPT,MN)关系模式有下列函数依赖:,t,第一种分解方法:将SD分解为2个关系模式:S(SNO,SN,AGE,DEPT)D(DEPT,MN),对于分解后的关系模式s,有函数依赖SNO-DEPT;对于D,有函数依赖DEPT-MN.这种分解方法保持了原来的SD中的两个完全函数依赖,SNO-DEPT,DEPT-MN,使分解即有无损连接性,又具有函数依赖保持性。,第二种分解方法是将SD分解为两个关系模式:S1(SNO,SN,AGE,DEPT)D1(SNO,MN)分解后的关系为:,S1,D1,S1,D1均为2NF,且SD=S1D1,则SD等于s1和d1在sno上的自然连接。所以这种分解具有无损连接,保证不丢失原关系中的信息。这分解结果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河北青年管理干部学院单招职业技能测试题库必考题
- 2025年梧州医学高等专科学校单招职业技能考试题库必考题
- 2024年神木职业技术学院单招职业倾向性考试题库必考题
- 2022年南阳科技职业学院单招职业技能考试题库必考题
- 银行档案管理系统介绍
- 野生中药资源的市场开发与推广
- 专题13九上Units1-2(知识梳理+常考易错点归纳+强化提升练)(原卷版+解析)-备战2024年中考英语一轮复习考点帮(江苏专用)
- 企业内部沟通的新云协作工具介绍
- 跨平台线程适配-全面剖析
- 肿瘤免疫治疗临床试验-全面剖析
- 2024-2025学年统编版七年级历史下册期中评估测试卷 (含答案)
- 2025年铅锌矿项目可行性研究报告
- 防春困防疲劳驾驶课件
- 玻璃更换施工方案
- 苏教版一年级数学下册各单元试卷及答案(全册-含期中期末)
- 三种水封井及标准图集
- 管道阴极保护
- 最新小微企业有限责任公司章程范本
- 怎样搞好班组安全管理工作
- 国航因私免折票系统
- 初中趣味数学(课堂PPT)
评论
0/150
提交评论