数据库原理与应用-(6)课件_第1页
数据库原理与应用-(6)课件_第2页
数据库原理与应用-(6)课件_第3页
数据库原理与应用-(6)课件_第4页
数据库原理与应用-(6)课件_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库系统概论An Introduction to Database System第六章 关系数据理论课程:数据库原理及应用【教学要求】 掌握函数依赖相关概念; 掌握1NF、2NF、3NF等范式判定条件; 了解数据依赖的公理系统等相关概念; 了解关系模式分解等价的概念。【教学重点】 函数依赖相关概念; 侯选码、主码、主属性、非主属性、外码等概念; 1NF、2NF、3NF等范式判定条件 关系模式的规范化经验方法等 教学说明【教学难点】 关系模式的规范化 多值依赖的概念 BCNF、4NF等范式的判定 【自学内容】 其余内容(如数据依赖的公理系统、模式的分解) 可安排有兴趣的同学自学。 教学说明说明

2、:1、 本章内容对应教学大纲和教学计划第4章。 2、通过本章的学习,使同学们能进行关系模式 的规范化分解,能判定关系模式的范式等级,为 今后关系数据库逻辑设计提供理论基础。本章内容6.1: 问题的提出: 从数据库逻辑设计中如何构造一个好的数据库模式问题出发,阐述关系规范化理论研究的实际背景。6.2: 规范化(重点内容) 介绍规范化理论,讨论各种范式及可能存在的插入、删除异常,并直观地描述解决问题的方法。6.3: 数据依赖的公理系统(简要介绍)*6.4 模式的分解(自学)6.1: 问题的提出一、概念回顾二、关系模式的形式化定义三、数据依赖四、一个引例-数据依赖对关系模式的影响 1、引例 2、模式

3、存在的弊病及原因 3、直观的解决方法 6.1: 问题的提出 针对具体问题,如何构造一个适合于它的数据模式,既: 给定一组数据: 在数据库中应构造几个关系? 每个关系由哪些属性组成? 关系数据库逻辑设计问题关系规范化理论有力工具一、概念回顾 从用户观点看:它是一张二维表; 严格的说:是所涉及属性的笛卡尔积的一个有意义的 真子集。 关系:关系模式:对关系的描述,可用五元组形式化表示。概念回顾 在一个给定的应用领域中,所有关系的集合构成一个关系数据库,从形式上看它由一组关系组成。关系数据库: 关系数据库的模式: 定义一组关系的关系模式的全体。 关系数据库模式包括: . 若干域的定义; . 在这些域上

4、定义的若干关系模式二、关系模式的形式化定义关系模式由五部分组成,即它是一个五元组: R( U, D, DOM, F )R: 关系名U: 组成该关系的属性名集合D: 属性组U中属性所来自的域DOM: 属性向域的映象集合F: 属性间数据的依赖关系集合说明:由于 D 和 DOM 对模式设计和关系规范化影响不大,本章将关系模式看成一个三元组: R( U, F)三、数据依赖1. 关系必须满足一定的完整性约束条件。 有两种表现形式: 依赖于值域的限制 依赖于值的相等与否的限制 数据依赖对属性取值范围的限制。属性间的相互关联。 数据库模式设计的关键。数据依赖2. 数据依赖概念与类别 是通过一个关系中属性间值

5、的相等与否体现出来的数据间的相互关系。 . 是现实世界属性之间相互联系的抽象; . 是数据内在的性质; . 是语义的体现; 可见,数据依赖是通过一个关系中属性间值的相互关连体现出来的数据间的相互关系。 数据依赖数据依赖有多种类型,其中最重要的是: 函数依赖(FD:Functional Dependency) 多值依赖(MVD:Multivalued Dependency) 其他(如连接依赖) 1、引例:描述学校的数据库:涉及如下属性: 学号(Sno) 、所在系(Sdept)、系主任姓名(Mname)、 课程名称(Cname)、成绩(Grade)四、一个引例 学校数据库的语义: 一个系有若干学生

6、, 一个学生只属于一个系; 一个系只有一名主任; 一个学生可以选修多门课程, 每门课程有若干 学生选修; 每个学生所学的每门课程都有一个成绩。 若将所有信息集中在建立一个关系中处理,可设计关系模式 STUDENT ( U , F ) , 其一关系实例为:1、引例引例在这个单一的关系模式 Student 中:属性集U Sno , Sdept , Mname , Cname , Grade 函数依赖集F = SnoSdept , SdeptMname , (Sno,Cname)Grade 如图:CnameGradeMnameSnoSdept主码2、模式存在的弊病及原因 1) 数据冗余太大 例:每一

7、个系主任姓名重复出现,浪费大量的空间。2)更新异常 数据的冗余造成更新数据时,维护数据完整性代价大。例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组。模式中存在的问题 3)插入异常该插的数据插不进去。例如一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库。模式中存在的问题数学系刘英该元组主属性为空不能插入4) 删除异常 不该删除的数据不得不删,例如,某个系的学生全部毕业了, 删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。模式中存在的问题结论:. Student关系模式不是一个好的模式。. “好”的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽

8、可能少。 模式存在的弊病的原因原因: 由于模式中存在的某些性质不好的数据依赖(部分函数依赖、传递函数依赖)引起的。CnameGradeMnameSnoSdept 模式存在的弊病的原因部分函数依赖传递函数依赖3、直观的解决方法 把这个单一模式分成 3 个关系模式: Stu(Sno,Sdept,Sno Sdept) Score(Sno,Cname,Grade,(Sno,Cname)Grade) Dept(Sdept,Mname,Sdept Mname)解决方法: 通过模式分解来消除其中不合适的数据依赖,使分解后的子模式不存在那些性质不好的数据依赖分解后的子模式分析:student关系存在的弊病,它

9、们有没有?直观的解决方法 经过分析,分解后的关系模式是一个好的关系数据库模式。 从而得出结论,一个好的关系模式应该具备以下四个条件: 尽可能少的数据冗余。 没有插入异常。 没有删除异常。 没有更新异常。 讨论 一个好的关系模式是不是在任何情况下都是最优的? 并不是,对于分解后的数据库模式,要查询某个学生选修课程名及所在系的系主任时,就要通过连接而连接所需要的系统开销非常大。 因此要以实际设计的目标(规范化要求还是效率要求)出发来进行设计。有关系模式WW= U ,F U= 日期,工号,姓名,工种,定额,超额,车间,车间主任 F= 工号姓名,工号工种,工号车间,车间车间主任, 工种定额,(日期,工

10、号) 超额 分析:码为:(日期,工号) :存在部分函数依赖和传递函数依赖。课后分析:6.2 规范化 1971年E.F.Codd博士首先提出了关系数据库的规范化理论,之后,此理论不断深化、完善。规范化理论是设计关系模式的理论指导和强有力的工具。 规范化理论研究如何将一个不好的关系模式转化为好的关系模式的理论,规范化理论围绕范式而建立。 规范化的作用就在于尽量控制冗余,使数据保持一致,除去在表中进行插入、删除时产生的异常,使数据修改简单。6.2 规范化6.2.1 函数依赖6.2.2 码6.2.3 范式6.2.4 2NF6.2.5 3NF6.2.6 BCNF6.2.7 多值依赖6.2.8 4NF6.

11、2.9 规范化小结1:函数依赖 定义: 设R(U)是一关系模式,U是R的属性集合,X和Y是U的子集。对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作:XY,其中X是决定因素。(可以认为在X上属性值相同,在Y上必然相同)若Y不函数依赖于X,则记作:X Y。 若XY,YX,则记作: XY。说明 1. 所有关系实例均要满足2. 语义范畴的概念3. 数据库设计者可以对现实世界作强制的规定 函数依赖 函数依赖的类别: 平凡函数依赖与非平凡函数依赖 完全函数依赖与部分函数依赖 直接函数依赖与传递函数依赖

12、函数依赖(2)例:关系Student中SnoSname SnoSsexSnameSdept 例:关系SC中 SnoGrade(Sno,Cno)Grade函数依赖(3)平凡函数依赖与非平凡函数依赖定义: 在关系模式R(U)中,对于U的子集X和Y存在XY如果XY,但Y X,则称XY是 非平凡的函数依赖若XY,但Y X, 则称XY是 平凡的函数依赖 对任一关系模式,平凡函数依赖都必然成立,故一般只讨论非平凡的函数依赖。函数依赖(4)例:关系Student和Sc中SnoSage ,(Sno,Cno)Grade是非平凡的函数依赖(Sno,Cno)Sno , (Sno,Cno)Cno 是平凡的函数依赖函数

13、依赖(5)完全函数依赖和部分函数依赖定义:在关系模式R(U)中,如果XY,对于X的任一真子集X都有X Y,则称Y完全函数依赖于X,记作:XY。Y不完全函数依赖于X,则称Y部分函数依赖于X,记作:XY。FP函数依赖(6)例:关系Student中SnoSdept SnameSdept (sno,sname)Sdept FFP函数依赖(7) 传递函数依赖定义:在关系模式R(U)中,如果XY,YZ且YX,YX,则称Z传递函数依赖于X,记作X Z。例:关系Student中SnoSdept,Sdeptmgr, snomgr传递传递函数依赖(8)说明: 函数依赖不是指关系模式R的某个或某些关系实例满足的约束

14、条件,而是指R的所有关系实例均要满足的约束条件。(不仅对R中现有的元组,而且针对所有将来进入R中的元组。) 函数依赖和别的数据之间的依赖关系一样,是语义范畴的概念,只能根据数据的语义来确定函数依赖。(所谓数据的语义,可以认为是现实世界的经验或常识,是依赖于具体现实环境的。)2:码(1) 定义: 设K为关系模式R(U,F)中属性或属性组合。若KU,则K称为R的一个候选码。F若R有多个候选码,则选定其中一个作为 主码 。 包含在任何一个候选码中的属性,叫做 主属性。 不包含在任何码中的属性称为非主属性。整个属性组是码,称为全码。码(2)例:关系Student中Sno (Sno,Sname,Ssex

15、,Sage,Sdept)讨论在什么情况下,关系Student中Sname可以做主码?例:关系SC中(Sno,Cno) (Sno,Cno,Grade)码例2 关系模式 S(Sno,Sdept,Sage),单个属性Sno是码, SC(Sno,Cno,Grade)中,(Sno,Cno)是码 例3 关系模式R(P,W,A) P:演奏者 W:作品 A:听众 一个演奏者可以演奏多个作品 某一作品可被多个演奏者演奏 听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即All-Key 码(3)外码定义:关系模式R中属性或属性组X并非R的码,但是X是另一个关系模式的码,则成X是R的外部码(Foreign K

16、ey),也称外码。Sname Ssex Sno - - -李勇 男 200215121刘晨 女 200215122王敏 女 200215123张立 男 200515125Student Sno Cno Grade - - -200215121 1 92200215121 2 85200215121 3 88200215122 2 90200215122 3 80SC Cno Cname- -1 数据库2 数学3 信息系统4 操作系统5 数据结构6 数据处理 Course PKPKFKFKPK3:范式 满足不同程度的规范(约束条件)要求的称为不同的范式。 规范化理论把关系应满足的规范要求分为几级

17、, 分别为1NF,2NF,3NF,BCNF,4NF,5NF。范式的等级越高,应满足的约束条件也越严格。 一个低一级的关系模式,可以通过模式分解转换为若干个高一级范式的关系模式的集合,这就是规范化的过程。 各种范式之间: 1NF(1) 定义:在关系模式R中的每一个具体关系r中,如果每个属性值 都是不可再分的最小数据单位,则称R是第一范式的关系,R1NF。1NF的要求是:消除非原子属性。为使关系模式满足1NF的要求,可以:为元组确立关键字。将属性细化,尽量地小,成为原子型的属性。 将多值属性移动到另一个关系里。1NF(2)例:下列关系不符合1NF的要求。工号,姓名,工资,补贴职工号,姓名,电话号码

18、多值属性第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库但是满足第一范式的关系模式并不一定是一个好的关系模式4:2NF(1)定义: 若R1NF,且每一个非主属性完全函数依赖于码,则R2NF。 如果满足1NF的表的主码只有一列,则它自动满足2NF。2NF的要求是:消除部分函数依赖2NF(2)例4 关系模式 S-L-C(Sno, Sdept, Sloc, Cno, Grade) Sloc为学生住处,假设每个系的学生住在同一个地方。函数依赖包括: (Sno, Cno) F Grade Sno Sdept (Sno, Cno) P Sdept Sno Sloc (Sno

19、, Cno) P Sloc Sdept Sloc 2NF(续)S-L-C的码为(Sno, Cno)S-L-C满足第一范式。非主属性Sdept和Sloc部分函数依赖于码(Sno, Cno)SnoCnoGradeSdeptSlocS-L-C函数依赖图S-L-C不是一个好的关系模式(续)(1) 插入异常(2) 删除异常(3) 数据冗余度大(4) 修改复杂S-L-C不是一个好的关系模式(续)原因: Sdept、 Sloc部分函数依赖于码。解决方法 S-L-C分解为两个关系模式,以消除这些部分函数依赖 SC(Sno, Cno, Grade) S-L(Sno, Sdept, Sloc)思考可不可以分解为S

20、C(Sno,Cno,Grade) 和S-L(Sdept,sloc)?2NF(续)函数依赖图:SnoCnoGradeSCS-LSnoSdeptSloc关系模式SC的码为(Sno,Cno)关系模式S-L的码为 Sno这样非主属性对码都是完全函数依赖 分析 试分析SC和S-L两个关系模式是否属于2NF? 2NF(续)例: S-L-C(Sno, Sdept, Sloc, Cno, Grade) 1NF S-L-C(Sno, Sdept, Sloc, Cno, Grade) 2NF SC(Sno, Cno, Grade) 2NF S-L(Sno, Sdept, Sloc) 2NF 采用投影分解法将一个1

21、NF的关系分解为多个2NF的关系,可以在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。 将一个1NF关系分解为多个2NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。 为将关系转化为2NF关系,采用经验的方法。在该方法中: 构成码的属性组与被其完全函数决定的相关非主属性组成一个子关系; 可决定其他非主属性的码中的主属性和相关非主属性构成按决定因素组成若干子关系 2NF(续)5:3NF(1)定义: 若关系模式2NF中,且R中不存在这样的码X,属性组Y和非主属性Z (Z Y),使得XY,YZ成立,YX则称R(U,F)3NF。3NF的要求是:消除传递

22、函数依赖 若R3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。 3NF(2)例:关系模式Sdept存在传递函数依赖:F=SnoSdept,Sdept Mgr可以分解成两个关系,进一步消除数据冗余。S(Sno,Sdept )Dept(Sdept,Mgr)思考题:画出分解前后的函数依赖图,然后判断分解后的关系模式S和Ddept属于第几范式?保证可以连接起来 为将关系转化为3NF关系,采用经验的方法。在该方法中: 构成码的属性组与被其直接函数决定的相关非主属性组成一个子关系; 可决定其他非主属性的非主属性和被其决定的相关非主属性构成相应的子关系。3NF(3)例:规范化的过程(1)某书店购书

23、情况汇总登记表 :例:规范化的过程(2)根据分析可以得到一组函数依赖:F= NOC#,C#CN,C#CA,B#BN,B#EU,B#UP,(NO,B#) QUA ,表中(NO,B#)为关键字。消除重复组后,关系模式满足1NF的要求。例:规范化的过程(3) 将其分解成三个关系,使每一个非主属性都完全依赖于主关键字,满足2NF的要求。 例:规范化的过程(4) 进一步消除传递函数依赖,满足3NF的要求。6:BCNF(1)定义: 设关系模式R1NF。如果对于R的每个函数依赖XY,且YX,X必含有候选码,那么RBCNF。既每一个决定属性因素都包含码。所有非主属性都完全函数依赖于每个候选码。所有主属性都完全

24、函数依赖于每个不包含它的候选码(非平凡的函数依赖)。没有任何属性完全函数依赖于非码的任何一组属性BCNF的要求是:消除主属性对码的部分依赖和传递依赖。BCNF(2)例:关系模式Student中,Sno是唯一的码,主属性只有一个Sno, Student BCNF。例:关系模式Sc中,(Sno,Cno)是唯一的码,主属性有两个:Sno和Cno, SCBCNF。BCNF(3)例:关系Course模式中,有两个候选码:Cno和Cname,Cno和Cname都是单个属性,彼此不相交,不存在主属性间的部分依赖或传递依赖,CourseBCNF。BCNF(4)例 每一教师只教一门课。每门课由若干教师教,某一学

25、生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称。思考题:试判断是否属于BCNF主属性间存在部分函数依赖 SCT不是BCNF。SCT中的函数依赖SCTSTC关系模式Sct中有以下函数依赖:(S,C)T (S,T)C TCBCNF(续)SCT3NF没有任何非主属性对码传递依赖或部分依赖SCTBCNFT是决定因素,T不包含码BCNF(续)解决方法:将SCT分解为二个关系模式: ST(S,T) BCNF, TC(T,C) BCNF 没有任何属性对码的部分函数依赖和传递函数依赖STT CSTTC3NF与BCNF的关系R BCNF R 3NF充分不必要充分必要如果R3N

26、F,且R只有一个候选码 R BCNF R 3NF7:多值依赖(1)例:学校中某一门课程由多个教师讲授,他们 使用相同的一套参考书。关系模式Teaching(C, T, B) 课程C、教师T 和 参考书B课 程 C教 员 T参 考 书 B物理数学计算数学李 勇王 军李 勇张 平张 平周 峰 普通物理学光学原理 物理习题集数学分析微分方程高等代数数学分析多值依赖(2)普通物理学光学原理物理习题集普通物理学光学原理物理习题集数学分析微分方程高等代数数学分析微分方程高等代数李 勇李 勇李 勇王 军王 军王 军李 勇李 勇李 勇张 平张 平张 平 物 理物 理物 理物 理物 理物 理数 学数 学数 学数

27、 学数 学数 学 参考书B教员T课程C多值依赖(3)存在多值依赖多值依赖(4)Teach具有唯一候选码(C,T,B), 即全码 TeachingBCNF:多值依赖(5) (2)插入操作复杂: 当某一课程增加一名任课教师时,该课程有多少本参照书,就必须插入多少个元组例如:物理课增加一名教师刘关,需要插入两个元组: (物理,刘关,普通物理学) (物理,刘关,光学原理)Teaching模式中存在的问题 (1)数据冗余度大:有多少名任课教师,参考书就要存 储多少次多值依赖(3) 删除操作复杂:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组 产生原因:存在多值依赖(4) 修改操作复杂

28、:某一门课要修改一本参考书, 该课程有多少名教师,就必须修改多少个元组多值依赖(3)定义: 设R(U)是一个属性集U上的一个关系模式,X,Y和Z是U的子集,并且Z=U-X-Y,多值依赖XY成立,当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值,而与Z值无关。多值依赖(续)平凡多值依赖和非平凡的多值依赖若XY,而Z,则称 XY为平凡的多值依赖否则称XY为非平凡的多值依赖多值依赖(续)例关系模式WSC(W,S,C) W表示仓库,S表示保管员,C表示商品 假设每个仓库有若干个保管员,有若干种商品 每个保管员保管所在的仓库的所有商品 每种商品被所有保管员保管 多值

29、依赖(续)WSCW1S1C1W1S1C2W1S1C3W1S2C1W1S2C2W1S2C3W2S3C4W2S3C5W2S4C4W2S4C5多值依赖(续)WS且WC用下图表示这种对应 多值依赖的性质(1)多值依赖具有对称性若XY,则XZ,其中ZUXY(2)多值依赖具有传递性若XY,YZ, 则XZ Y(3)函数依赖是多值依赖的特殊情况。若XY,则XY。(4)若XY,XZ,则XY Z。(5)若XY,XZ,则XYZ。(6)若XY,XZ,则XY-Z,XZ -Y。多值依赖与函数依赖的区别(1) 多值依赖的有效性与属性集的范围有关(2) 若函数依赖XY在R(U)上成立,则对于任何Y Y均有XY 成立多值依赖X

30、Y若在R(U)上成立,不能断言对于任何Y Y有XY 成立8: 4NF定义:关系模式R(U,F)1NF,如果对R的每个非平凡多值依赖XY(YX),X都含有候选码,则R4NF。4NF的要求是:消除非平凡且非函数依赖的多值依赖。4NF(续) 通过投影分解法消除非平凡的多值依赖例: Teaching(C,T,B) 4NF 存在非平凡的多值依赖CT,且C不是码用投影分解法把Teaching分解为如下两个关系模式: CT(C, T) 4NF CB(C, B) 4NF CT, CB是平凡多值依赖9:规范化小结(1) 规范化的基本思想是逐步消除数据依赖中不合适的部分,使一个关系描述一个概念、一个实体或者实体间

31、的一种联系,可以认为规范化的实质是:概念的单一化。函数依赖的完美范式是BCNF,多值依赖的完美范式是4NF。多值依赖是连接依赖的特殊情况,当消除了连接依赖后,将达到5NF。 关系模式的规范化通过对关系模式的分解来实现。规范化小结(2) 4NF消除非平凡且非函数依赖的多值依赖BCNF消除主属性对码的部分和传递依赖3NF消除非主属性对码的传递函数依赖2NF消除非主属性对码的部分函树依赖1NF消除决定因素非码的非平凡的函数依赖规范化小结(续) 不能说规范化程度越高的关系模式就越好 在设计数据库模式结构时,必须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式上面的

32、规范化步骤可以在其中任何一步终止反规范化(1)规范化的优点是减少了数据冗余,节约了存储空间,相应逻辑和物理的I/O次数减少,同时加快了增、删、改的速度。完全规范化的设计并不总能生成最优的性能,因为规范化的设计使产生的关系增多,结构更加复杂,对数据库查询通常需要更多的连接操作。在数据库设计中特别对以查询为主的数据库设计来说,频繁的连接严重影响查询速度。反规范化(2)故有时为了提高某些查询或应用的性能而有意破坏规范规则,即反规范化。反规范化的好处是降低连接操作的需求、降低外码和索引数目,减少表的个数,提高查询速度。反规范化(3)常用的反规范技术有合理增加冗余列、派生列,或重新组表几种。复制某些数据

33、列到一些表中以便更容易地访问它们而不用进行多表的连接,这些被复制的列可以是它们自己的列或外码列。预计算和派生数据的存储可以加快处理过程。撤消某些分解的实体是为避免多个连接的开销。讨论(1):下图表示一个公司各部门的层次结构讨论(2):对每个部门,包含部门号(唯一的)D#、预算费(BUDGET)以及此部门领导人的职工号E#(唯一的)信息。对每一个部门,还存在着关于此部门的全部职工、生产与科研项目以及办公室的信息。职工信息包括:职工号、他所参加的生产与科研项目号(J#)、他所在的办公室电话号码(PHONE#)。生产科研项目包括:项目号(唯一的)、预算费。办公室信息包含办公室房间号(唯一的)、面积。

34、讨论(3):对每个职工,数据库中有他曾担任过的职务以及担任某一职务时的工资历史。对每个办公室包含此办公室中全部电话号码的信息。请你给出认为合理的数据依赖,把这个层次结构转化成一组规范化的关系。提示:此题可分步完成,第一步先转换成一组1NF的关系,然后逐步转换成2NF、3NF,6.3: 数据依赖的公理系统(1)数据依赖的公理系统是关系模式分解算法的理论基础。 定义: 对于满足一组函数依赖F的关系模式R,其任何一个关系r,若函数依赖XY都成立(即r中任意两元组t,s若tX=sX,则tY=sY),则称 F 逻辑蕴含XY。6.3: 数据依赖的公理系统(2)Armstrong公理系统 设U为属性集总体,

35、F是U上的一组函数依赖,于是有关系模式R(U,F)。对于R(U,F)来说有下面的推理规则: A1自反律:若YXU,则XY为F所蕴含。 A2增广律: 若XY为F所蕴含,且ZU,则XZYZ为F所蕴含。 A3传递律: 若XY及YZ为F所蕴含,则XZ为F所蕴含。6.3: 数据依赖的公理系统(3) 根据A1,A2,A3这三条推理规则,可以得到以下三条有用的推理规则:合并规则:由XY,XZ,有XYZ。伪传递规则:由XY,WYZ,有XWZ。分解规则:由XY及ZY,有XZ。6.3: 数据依赖的公理系统(4) 定义: 在关系R(U,F)中为F所逻辑蕴涵的函数依赖的全体叫做F的闭包,记做:F+。 定义: 设F为属

36、性集U上的一组函数依赖,XU,X关于函数依赖集F的闭包 XF+ 是:A|XA 定义:如果G+=F+,就说函数依赖集F覆盖G(F是G的覆盖,或G是F的覆盖),或F与G等价。F的闭包F=XY, YZF+=X,Y,Z,XY,XZ,YZ,XYZ, XX, YY, ZZ,XYX,XZX,YZY,XYZX,XY,Y Z,XYY,XZY,YZZ,XYZY,XZ,YYZ,XYZ,XZZ,YZYZ,XYZZ,XXY,XYXY,XZXY,XYZXY, XXZ,XYYZ,XZXZ,XYZYZ,XYZ,XYXZ,XZXY,XYZXZ,XZYZ,XYXYZ,XZXYZ,XYZXYZ F=XA1, , XAn的闭包F+计

37、算是一个NP完全问题关于闭包的引理引理6.2 设F为属性集U上的一组函数依赖,X,Y U,XY能由F 根据Armstrong公理导出的充分必要条件是Y XF+用途 将判定XY是否能由F根据Armstrong公理导出的问题,转化为求出XF+ 、判定Y是否为XF+的子集的问题6.3:数据依赖的公理系统(5)定理6.2 Armstrong公理系统是有效的、完备的 定义6.14 如果G +=F +,就说函数依赖集F 覆盖G(F 是G 的覆盖,或G 是F 的覆盖),或F与G 等价。引理6.3 F + = G + 的充分必要条件是F G + 和G F + 定义 如果函数依赖集F满足下列条件,则称F为一个极

38、小函数依赖集。亦称为最小依赖集或最小覆盖。 (1) F中任一函数依赖的右部仅含有一个属性。 (2) F中不存在这样的函数依赖XA,使得F与F-XA 等价。 (3) F中不存在这样的函数依赖XA, X有真子集Z使得 F-XAZA与F等价。 6.3:数据依赖的公理系统(6)定理6.3 每一个函数依赖集F均等价于一个极小函数依赖集 Fm 。此 Fm 称为F的最小依赖集。 6.3:数据依赖的公理系统(7)F的最小依赖集Fm不唯一极小化过程( 定理6.3的证明 )也是检验F是否为极小依赖集的一个算法6.4 模式的分解 把低一级的关系模式分解为若干个高一级的关系模式的方法不是唯一的 只有能够保证分解后的关系模式与原关系模式等价,分解方法才有意义关系模式分解的标准三种模式分解等价的定义: 分解具有无损连接性 分解要保持函数依赖 分解既要保持函数依赖,又要具有无损连接性模式的分解(续)例:S-L(Sno, Sdept, Sloc) F= SnoSdept,SdeptSloc,S

温馨提示

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

评论

0/150

提交评论