数据库原理及应用 第2版 教学课件 ppt 作者 何玉洁 刘福刚 第6章 关系数据理论

上传人:E**** 文档编号:89375674 上传时间:2019-05-24 格式:PPT 页数:66 大小:1.35MB
返回 下载 相关 举报
数据库原理及应用 第2版  教学课件 ppt 作者  何玉洁 刘福刚 第6章 关系数据理论_第1页
第1页 / 共66页
数据库原理及应用 第2版  教学课件 ppt 作者  何玉洁 刘福刚 第6章 关系数据理论_第2页
第2页 / 共66页
数据库原理及应用 第2版  教学课件 ppt 作者  何玉洁 刘福刚 第6章 关系数据理论_第3页
第3页 / 共66页
数据库原理及应用 第2版  教学课件 ppt 作者  何玉洁 刘福刚 第6章 关系数据理论_第4页
第4页 / 共66页
数据库原理及应用 第2版  教学课件 ppt 作者  何玉洁 刘福刚 第6章 关系数据理论_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《数据库原理及应用 第2版 教学课件 ppt 作者 何玉洁 刘福刚 第6章 关系数据理论》由会员分享,可在线阅读,更多相关《数据库原理及应用 第2版 教学课件 ppt 作者 何玉洁 刘福刚 第6章 关系数据理论(66页珍藏版)》请在金锄头文库上搜索。

1、数据库原理与应用 (第2版),人民邮电出版社,第6章 关系数据库规范化理论,6.1 函数依赖 6.2 关系规范化,6.1 函数依赖,数据的语义不仅表现为完整性约束,对关系模式的设计也提出了一定的要求。 针对一个实际应用业务,如何构造合适的关系模式,应构造几个关系模式,每个关系模式由哪些属性组成等,这些都是数据库设计问题,确切地讲是关系数据库的逻辑设计问题。,数据库设计是数据库应用领域中的主要研究课题。 关系数据库规范化理论是数据库设计的一个理论指南。 规范化理论研究的是关系模式中各属性之间的依赖关系及其对关系模式性能的影响,探讨“好”的关系模式应该具备的性质,以及达到“好”的关系模式的方法。,

2、6.1 函数依赖,6.1.1 基本概念 6.1.2 一些术语和符号 6.1.3 函数依赖的推理规则 6.1.4 属性集闭包及候选码的求解方法 6.1.5 极小函数依赖集 6.1.6 为什么要讨论函数依赖,6.1.1 基本概念,省=f(城市):只要给出一个具体的城市值,就会有唯一一个省值和它对应, 如“武汉市”在“湖北省”,这里“城市”是自变量X,“省”是因变量或函数值Y。 把X函数决定Y,或Y函数依赖于X表示为: XY 如果有关系模式R(A1,A2,An),X和Y为A1,A2,An的子集,则对于关系R中的任意一个X值,都只有一个Y值与之对应,则称X函数决定Y,或Y函数依赖于X。,示例,例1:对

3、学生关系模式 Student(Sno, SName, Sdept, Sage) 有以下依赖关系:,SnoSName, SnoSdept, SnoSage,例2: SC(Sno, Cno, Grade),(Sno, Cno)Grade,函数依赖定义,设有关系模式R(A1,A2,An),X和Y均为A1,A2,An的子集,r是R的任一具体关系,t1、t2是r中的任意两个元组; 如果由t1X=t2X可以推导出t1Y=t2Y,则称X函数决定Y,或Y函数依赖于X,记为XY。 在以上定义中特别要注意,只要 t1X=t2X t1Y=t2Y 成立,就有XY。也就是说只有当t1X=t2X为真,而t1Y=t2Y为假

4、时,函数依赖XY不成立;而当t1X=t2X为假时,不管t1Y=t2Y为真或为假,都有XY成立。,几点说明,函数依赖不是关系模式R的某个或某些实例的约束条件,而是R之下的全部实例都要满足的约束条件。因此,可通过R的某些实例来确定哪些函数依赖不存在,但不能通过R的某些实例来确定哪些函数依赖是成立的。 函数依赖是语义范畴的概念。我们只能根据语义来确定函数依赖关系,而不能根据关系中已有的数据来确定。 函数依赖关系的存在与时间无关。,6.1.2 一些术语和符号,(1)如果XY,但Y不包含于X,则称 XY是非平凡的函数依赖。 (2)如果XY,但Y包含于X,则称 XY是平凡的函数依赖。 若无特别声明,我们讨

5、论的都是非平凡的函数依赖。 (3)如果XY,则X称为决定因子。,术语和符号(续),(4)如果XY,并且YX,则记作 XY。 (5)如果XY,并且对于X的一个任意真子集X / 都有X/ /Y,则称Y完全函数依赖于X,记作;如果X / Y成立,则称Y部分函数依赖于X,记作。 (6)如果XY(非平凡函数依赖,并且Y/X)、YZ,则称Z传递函数依赖于X。,术语和符号(续),设K为关系模式R的一个属性或属性组,若满足: K A1,K A2, K An 则称K为关系模式R的候选码。称包含在候选码中的属性为主属性,不包含在任何候选码中的属性称为非主属性。,示例,例1:有关系模式SC(Sno,Sname,Cn

6、o,Credit,Grade),主码为(Sno, Cno),则函数依赖关系有: SnoSname 姓名函数依赖于学号 (Sno, Cno) Sname 姓名部分函数依赖于学号和课程号 (Sno, Cno) Grade 成绩完全函数依赖于学号和课程号,示例,例2:有关系模式S(Sno,Sname,Dept,Dept_master),各属性分别为:学号、姓名、所在系和系主任(假设一个系只有一个主任),主码为Sno,则函数依赖关系有: Sno Sname 姓名完全函数依赖于学号 由于:Sno Dept 所在系完全函数依赖于学号 Dept Dept_master 系主任完全函数依赖于系 所以有:Sno

7、 Dept_master 系主任传递函数依赖于学号,6.1.3 函数依赖的推理规则,从已知的函数依赖可以推导出另一些新的函数依赖,这需要一系列推理规则。 函数依赖的推理规则最早出现在1974年W.W.Armstrong论文中,因此称这些规则为Armstrong公理。,Armstrong公理, 自反律(Reflexivity) 若YXU,则XY在R上成立。即一组属性函数决定它的所有子集。 例如,对关系模式SC( Sno,Sname, Cno, Credit, Grade),有: (Sno, Cno) Cno 和 (Sno, Cno) Sno 增广律(Augmentation) 若XY在R上成立,

8、且ZU,则XZYZ在R上也成立。 传递律(Transitivity) 若XY和YZ在R上成立,则XZ在R上也成立。,Armstrong公理推论, 合并规则(Union rule) 若XY和XZ在R上成立,则XYZ在R上也成立。 例如,对关系模式Student(Sno, Sname, Sdept, Sage),有Sno(Sname, Sdept),SnoSage,则有Sno(Sname, Sdept, Sage)成立。,Armstrong公理推论(续), 分解规则(Decomposition rule) 若XY和ZY在R上成立,则XZ在R上也成立。 从合并规则和分解规则可得到如下重要结论: 如果

9、A1An是关系模式R的属性集,那么XA1An成立的充分必要条件是XAi(i=1,2,n)成立。,Armstrong公理推论(续), 伪传递规则(Pseudo-transitivity rule) 若XY和YWZ在R上成立,则XWZ在R上也成立。 复合规则(Composition rule) 若XY和WZ在R上成立,则XWYZ在R上也成立。 例如,对关系模式SC(Sno, Sname, Cno, Credit, Grade), 有:SnoSname 和 CnoCredit 成立 则有:(Sno, Cno)(Sname, Credit),6.1.4 属性集闭包及候选码的求解方法,对于一个关系模式R

10、(U,F),要根据已给出的函数依赖F,利用推理规则推导出其全部的函数依赖是比较困难的。 为了能方便地判断某个属性(或属性组)能够函数决定哪些属性,引出了属性集闭包的概念。,属性集闭包,设F是属性集U上的函数依赖集,X为U的一个子集。则对于F,属性集X关于F的闭包(用X+或X+F表示)为: X+ A | XA能够由F根据Amstrong公理导出 因此,若想判断函数依赖XY是否成立,只要计算X关于函数依赖集F的闭包,若Y是X闭包中的一个元素,则XY成立。,求属性集闭包X+的算法,步骤1:初始,X+ = X。 步骤2:如果F中有某个函数依赖YZ满足Y X+。则X+ = X+ Z。 步骤3:重复步骤2

11、,直到X+不再增大为止。,示例1,例1R(U,F),U=X, Y, Z, W,F=XY, YZ, WY,计算X+和(XW)+ (1)计算X+ 步骤1:初始:X+ = X。 步骤2: 对X+ 中的X,XY, X+ = X+ Y = XY 对X+ 中的Y,YZ, X+ = X+ Z = XYZ 在函数依赖集F中,Z不出现在任何函数依赖的左部,因此X+将不会再扩大,所以最终X+ = XYZ。,示例1(续),(2)计算(XW)+。 初始:(XW)+ = XW。 对(XW)+ 中的X,XY,(XW)+ =XW+Y=XWY 对(XW)+ 中的Y,YZ,(XW)+ =XW+Z=XWYZ 对(XW)+ 中的W

12、,有WY,但Y已在(XW)+中,因此(XW)+ 保持不变。 对(XW)+ 中的Z,由于Z不出现在任何函数依赖的左部,因此(XW)+ 保持不变。 最终(XW)+ = XWYZ。,示例3,例2R(U,F),U=A,B,C,D,E,F= (A, B)C,BD,CE,(C, E)B,(A, C)B ,计算(AB) +。 初始:(AB)+ = AB。 对(AB)+ 中的A、B,(A, B)C,(AB)+ =(AB)+C=ABC 对(AB)+ 中的B,BD,(AB)+ =(AB)+D=ABCD 对(AB)+ 中的C,CE,(AB)+ =(AB)+E=ABCDE (AB)+ 已包含了R中的全部属性,因此(A

13、B)+ 计算完毕。 最终(AB)+ = ABCDE。,候选码的求解方法,对于给定的关系模式R(A1, A2, , An)和函数依赖集F,现将R的属性分为如下四类: L类:仅出现在函数依赖左部的属性。 R类:仅出现在函数依赖右部的属性。 N类:在函数依赖的左部和右部均不出现的属性。 LR类:在函数依赖的左部和右部均出现的属性。,候选码的求解方法(续),对R中的属性X,可有以下结论: 若X是L类属性,则X一定包含在关系模式R的任何一个候选码中;若X+包含了R的全部属性,则X为关系模式R的唯一候选码。 若X是R类属性,则X 不包含在关系模式R的任何一个候选码中。 若X是N类属性,则X一定包含在关系模

14、式R的任何一个候选码中。 若X是LR类属性,则X可能包含在关系模式R的某个候选码中。,示例,例3设有关系模式R(U,F),其中U=A,B,C,D ,F= DB,BD,ADB,ACD,求R的所有候选码。 解: A、C均是L类属性,因此A、C必定在R的任何一个候选码中; 由于(AC)+ =ABCD = R的全部属性, 因此,AC是R的唯一候选码。,示例,例4R(U,F),U=A,B,C,D,E,G , F= AD,ED,DB,BCD,DCA,求R的所有候选码。 解: C、E是L类属性,因此C、E必定在R的任何一个候选码中。 G是N类属性,故G也必定在R的任何一个候选码中。 又由于(CEG)+ =A

15、BCDEG = R的全部属性,因此,CEG是R的唯一候选码。,示例,例5R(U,F),U=A,B,C,D,E,G ,F=ABE, ACG,ADB,BC,CD,求R的所有候选码。 A是L类属性,故A必定在R的任何一个候选码中。 E、G是R类属性,故E、G不包含在任何候选码中。 由于A+ =AABCDEG,故A不能单独作为候选码。 B、C、D 均是LR类属性,则它们必有部分或全部在某个候选码中。 下面将B、C、D 依次与A结合,分别求闭包: (AB)+=ABCDEG,因此AB为R的一个候选码; (AC)+=ABCDEG,因此AC为R 的一个候选码; (AD)+ =ABCDEG,因此AD为R 的一个候选码。 关系模式R共有三个候选码:AB、AC和AD。,示例,例6设有关系模式R(U,F),其中U=A,B,C,D,E ,F= ABC,CDE,BD, EA,求R的所有候选码。 解: 通过观察F中的函数依赖,发现关系模式R中所有属性都是LR类属性。因此,先从A、B、C、D、E属性中依次取出一个属性,分别求它们的闭包: A+ = ABCDE B+ = BD C+ = C D+ = D E+ = ABCDE 由于A+和E+都包含了R的全部属性,因此A和E分别是R的一个候选码。 接下来,从R中任意取出两个属性,分别求他们的闭包。由于A

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号