文档详情

第4节 关系数据库的模式设计.ppt

发布:2017-07-24约1.05万字共55页下载文档
文本预览下载声明
数据库原理与应用 第4章 关系数据库规范化理论    关系数据库理论的实质就是以数学的方法来组织实际的数据。那么,对于一个实际应用的数据库,应构造几个关系,每个关系应由哪些属性构成,关系数据库规范化理论可以提供设计时的理论指南。这些规范化理论产生于数据库的设计实践,反过来又可以指导关系数据库的设计,使数据的组织合理化,达到好的关系模式。    所谓“规范化”,通俗来讲就是把问题关系转化成两个或多个没有问题的关系的过程,同时检验关系合乎需要和正确与否。 4.1 函数依赖    关系数据库规范化理论的中心问题是数据依赖问题,数据依赖反映的是实体的属性值之间相互联系和相互制约的关系。    数据依赖分为两类:函数依赖和多值依赖。我们先来了解有关函数依赖的概念。    函数是我们非常熟悉的概念:    Y=f(x),x函数决定Y,或Y函数依赖于x    课程名=f(课程号) 1.函数依赖 定义:设有一关系模式R(A1,A2,…,An),X 和Y为{A1,A2,…,An}的子集,对于关系模式R的任何可能关系r,r中不存在两个元组,这两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数决定Y,或Y函数依赖于X,简记X →Y。 例:Student(Sno,SName,Sage,Sdept,Smajor) Sno→Sname Sno→Sage Sno→Sdept Sno→Smajor 函数依赖 若X →Y,则称X为决定因素 t1[X]=t2[X] → t1[Y]=t2[Y],其中t1和t2是关系r中任意的元组; 函数依赖并不具有可逆性; 函数依赖中X或Y可以是属性组。 例: SC(Sno, Cno, Grade) (Sno, Cno)→Grade 2.函数依赖的逻辑蕴涵    在讨论函数依赖时,常需要根据已知一组函数依赖,去推断另外一些函数依赖是否成立。 逻辑蕴涵:设F是关系模式R(U)上已知的函数依赖集(U为属性集)。X、Y是U的子集,若从F中已有的函数依赖可推导出X →Y,则称F逻辑蕴涵X →Y 。 逻辑闭包:被F逻辑蕴涵的函数依赖的集合称为F的逻辑闭包,记作F+。 一般,F=F+或F?F+。当F=F+时,称F是函数依赖的完备集。 函数依赖的逻辑蕴涵    在关系R中,若有A→B和B→C成立,则A→C是否成立?  证明:采取反证法,设有两个元组t和u在属性组A上有相同值,而在属性组C上不同值,则    当t和u在B上值相同,则不满足B→C,(在B上值同在C上也应相同从而与假设矛盾);    当t和u在B上值不相同,则不满足A→B,矛盾;    所以,对于关系R必有A→C成立。    F={A→B,B→C}    F+={A→B,B→C,A→C} 3.候选码    根据关系模型实体完整性约束,每个关系都至少有一个能惟一标识每个元组的关键性属性组(候选码),下面把候选码的概念和函数依赖联系起来,用函数依赖给出一个严谨的定义。 定义:设R(U,F)为一关系模式,其中U为属性集,F为函数依赖集,X为U的一子集。若X→U∈F+,且不存在Y?X,使得Y→U成立,则X为R的一候选码。 候选码一定是函数依赖的决定因素; 函数依赖的决定因素不一定是候选码;  SC(Sno,Cno,Cname,Grade),Cno→Cname   关系模式中的码 主码:关系R中被数据库设计者选中的候选码。 主属性:在R中,包含在任一候选码中的属性 非主属性:在R中,不包含在任一候选码中的属性。 全码:候选码为全部整个属性组。  例:SC(SNO,CNO,Grade)   主属性:SNO,CNO,非主属性:Grade  例:R(P,W,A),P—演奏者,W—作品集,A—地点   一个演奏者可演奏多个作品集,某一作品集可被多个演奏者演奏;一个地点可演出不同演奏者的不同作品集。 候选码:(P,W,A)――全码  (演奏者、作品集、地点三者才能确定一场音乐会) 4.常用符号和术语 1. 如果X→Y,但Y不包含于X,则称X→Y是非平凡的函数依赖。如不作特别说明,我们总是讨论非平凡函数依赖。 2. 如果Y不函数依赖于X,则记作X—/→Y。 3. 如果X→Y,则称X为决定因子。 4. 如果X→Y,并且Y→X,则记作X←→Y。 常用符号和术语 5. 如果X→Y,且对于X的一个任意真子集X’都有X’ —/→Y,则称Y完全函数依赖于X,记作: 示例1 例1:有关系模式: SC(Sno,Cno,Sname,Credit,Grade) 则函数依赖关系有: Sno→Sname (Sno, Cno)→ Sname (Sno, Cno)→ Grade 示例2 例2:有学生住宿收费关系模式SF: SF(学号,系,楼号,收费) 函数依赖关系有: 5.函数依赖对关
显示全部
相似文档