欢迎来到天天文库
浏览记录
ID:40203499
大小:207.50 KB
页数:44页
时间:2019-07-25
《【数据库系统课件】关系数据库设计理论1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章关系数据库设计理论4.1数据依赖4.2范式4.3关系模式的规范化数据依赖4.1.1关系模式中的数据依赖4.1.2数据依赖对关系模式的影响4.1.3有关概念4.1.1关系模式中的数据依赖关系模式是关系的描述,它由五部分组成,即为五元组:R(U,D,DOM,F)其中R为关系名,U是属性集合,DOM属性源域(属性集合U中属性所来自的域),DOM为属性向域的映象集合,F为属性间的数据依赖关系集合。而属性间数据的依赖关系集合就是描述关系的元组语义,它是限定组成关系的保个元组必须满足的完整性约束条件。它确定属性取
2、值范围的限定,或属性值间的相互关联,这些关联称为数据依赖,是数据库模式设计的关键。在数据库模式设计中,D和DOM对其影响不大,因此一般讨论时将关系模式简化为三元组:R(U,F)4.1.2数据依赖对关系模式的影响数据依赖是通过一个关系中属性间值相等与否体现出来的数据间的相互关系。是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。最重要的数据依赖主要有函数依赖(functionaldependency,简称FD)和多值依赖(multivalueddependency,简称MVD)。关系的规范化理论
3、就是用于改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,从而消除由此产生的关系模式的存储和操作问题。4.1.3有关概念1.函数依赖2.平凡函数依赖与非平凡函数依赖3.完全函数依赖和部分函数依赖4.传递函数依赖5.码1.函数依赖定义4.1设R(U)是一关系模式,U是R的属性集合。X和Y是U的子集,对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。说明1)函数依赖不是指关系模式R的某个或某些关
4、系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。(不仅对R中现有的元组,而且针对所有将来进行R中的元组。)2)函数依赖和别的数据之间的依赖关系一样,是语义范畴的概念。只能根据数据的语义来确定函数依赖。(所谓数据的语义,可以认为是现实世界的经验或常识,是依赖于具体现实环境的。)如“姓名→年龄”的前提是无同名同姓的人。如果有相同姓名的人存在,则“年龄”就不再函数依赖于“姓名”了。3)数据库设计者可以对现实民世界作强制的规定。如规定不允许出现同名同姓的情况,则“姓名→年龄”成立。一旦做此规定,当插
5、入的元组与已有的元组出现同名同姓时,则拒绝。4)若X→Y,则X称为这个函数依赖的决定属性集(determinant)。5)若X→Y且Y→X,则记X←→Y。6)若Y不函数依赖于X,则记XY。2.平凡函数依赖与非平凡函数依赖定义4.2在关系模式R(U)中,对于U的子集X和Y,如果X→Y,但YX,则称X→Y是非平凡函数依赖。若YX,则称X→Y为平凡函数依赖。对任一关系模式,平凡函数依赖都必然成立,不能反映新的语义,故一般只讨论非平凡的函数依赖。3.完全函数依赖和部分函数依赖定义4.3在关系模式R(U)中,如果X→
6、Y,且对于X的任一真子集X’,都有X’Y,则称Y完全函数依赖于X,记XY。若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记XY。如关系SC(Sno,Cno,Grade)中,由于SnoGrade,CnoGrade。所以有(Sno,Cno)Grade。范式范式是符合某一级别的关系模式的集合。目前主要有六种范式,即第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BD范式(BCNF)、第四范式(4NF)和第五范式(5NF)。它们之间有如下的关系。1NF2NF3NFBCNF4NF5NF若R为第
7、n范式,则记R∈nNF。4.2.1第一范式(1NF)4.2.2第二范式(2NF)4.2.3第三范式(3NF)4.2.4BC范式(BCNF)4.2.5多值依赖与第四范式(4NF)关系模式的规范化通过分解模式得到较高级的模式过程。4.3.1步骤4.3.2关系模式的分解4.传递函数依赖定义4.4在关系模式R(U)中,如果X→Y,Y→Z且ZY(即Z-Y≠φ),YX,则称Z传递函数依赖于X。记作XY。说明,Y→Z且ZY(即Z-Y≠φ)是指Y与Z之间的函数依赖是非平凡的。而加上条件:YX,否则因为如果Y→X,则X←→Y
8、,故XZ。并非传递函数依赖了。如关系Std(Sno,Sdept,Mname)中有Sno→Sdept,Sdept→Mname,且SdeptSno,故SnoMname。5.码此处严格定义关系模式的码。定义4.5设K为关系模式R中属性或属性组合。若KU,则K称为R的一个候选码(candidatekey)。若关系模式R有多个候选码,则选定其中一个作为主码(primarykey)定义:设有关系模式R,如果属性A是
此文档下载收益归作者所有