260-第5章 关系数据库设计理论.ppt

上传人:本田雅阁 文档编号:3032421 上传时间:2019-06-28 格式:PPT 页数:72 大小:620.02KB
返回 下载 相关 举报
260-第5章 关系数据库设计理论.ppt_第1页
第1页 / 共72页
260-第5章 关系数据库设计理论.ppt_第2页
第2页 / 共72页
260-第5章 关系数据库设计理论.ppt_第3页
第3页 / 共72页
260-第5章 关系数据库设计理论.ppt_第4页
第4页 / 共72页
260-第5章 关系数据库设计理论.ppt_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《260-第5章 关系数据库设计理论.ppt》由会员分享,可在线阅读,更多相关《260-第5章 关系数据库设计理论.ppt(72页珍藏版)》请在三一文库上搜索。

1、本章主要讲解内容,关系数据理论是关系数据库的理论基础,也是设计关系数据库的指南。本章计论关系数据理论的基本概念、方法和题解。 如何设计数据库模式 1) 设计一个好的关系数据库模式(概念模式)逻辑设计 2) 凭经验设计? 3) 什么是好的关系数据库模式? 4) 好的关系数据库模式应该包括多少关系模式? 5) 每个关系模式应该包含哪些属性? 6) 借助数学工具规定设计的理论和方法规范化,5、1 数据存储异常,假设有如下关系STUDENT: STUDENT(SNO,SNAME,SEX,CNO,SCORE表示 学号,姓名,性别,课程,成绩 其中SNO,CNO是主关键字 这个关系模式存在如下问题: 数据

2、冗余 一个学生选修多门课程,导致SNAME和SEX多次重复存储. 不一致性 由于数据存储冗余,当更新某些数据项时,就有可能一部分修改了,而另一部分未修改,造成数据不一致性 插入异常 如果某个学生未选课,他的信息(SNO,SNAME,SEX)就无法插入 删除异常 当要删除所有学生成绩时,将所有(SNO,SNAME,SEX)也都删除了,这便是删除异常,为了克服上述这些异常,将STUDENT分解为如下两个关系 STUDENT(SNO,SNAME,SEX) SC(SNO,CNO,SCORE) 这是因为STUDENT关系中的某些属性间存在数据依赖,数据依赖是现实世界事物之间的相互关联性的一种表达,是属性

3、固有语义的体现.人们只有对一个数据库所要表达的现实世界进行认真的调查与分析,才能归纳与客观事实相符合的数据依赖,5.2 函数依赖,5.2.1 函数依赖(FD)的定义 1) 函数依赖 定义1 设R(U)是一个关系模式,X,Y是R的两个属性集合,X,YR,RX,Y是关系R在属性XY上的投影,当任何时刻RX,Y中的任意两个元组中的X属性值相同时,则它的Y属性值也相同,则称X函数决定Y,或称为Y函数依赖于X,记作XY 例子 (1) S(SNO,SN,AGE,SEX,DEPT) (2) SNO函数决定 (SN,AGE,SEX,DEPT) (3) (SN,AGE,SEX,DEPT)函数依赖于SNO (4)

4、SNO(SN,AGE,SEX,DEPT) 2) 平凡函数依赖与非平凡函数依赖 定义2 在关系R(U)中,对于U的子集X和Y,如果XY ,但Y不是X的了集,则XY是非平凡函数依赖.若Y 是X的子集,则称XY为平凡函数依赖,3)完全函数依赖与部分函数依赖 设XY是一个FD,并且对于任何一个XX,X Y不成立,则称XY是一个完全函数依赖,记作X Y 设XY是一个FD,并且存在一个XX,使X Y成立,则称XY是一个部分函数依赖,记作X Y 示例 1) SC(SNO,CNO,G) (SNO,CNO) G是完全函数依赖 (2)SC(SNO,CNO,SNAME,CNAME,G) SNO,CNO是主键 (SN

5、O,CNO) G SNO SNAME CNO CNAME 所以存在部分函数依赖,4)传递函数依赖 设 X,Y,Z是R互不相同的属性集合 XY,Y X,且 YZ 则称属性集合Z传递(transfer)函数依赖于X ,记作 X Z (1) UN(SNO,CN,G,DN,DM) (学号,课程名,成绩,系名,系主任) (2) SNODN (3) DN SNO (4) DNDM则DM传递函数依敕于SNO,5.2.2函数依赖公理 函数依赖的推导公理-Armstrong公理(阿姆斯特朗公理) 设有关系模式 R(U),X,Y,Z,WU,则: A1(自反性):若YX,则XY A2(增广性):若XY,则XZ YZ

6、 A3(传递性):若XY, YZ,则XZ 由Armstrong公理可以得到以下推论 合成规则:若XY, XZ,则XYZ; 分解规则:若XYZ,则XY, XZ; 伪传递规则:若XY,YW Z,则XW Z,引理:XA1 A2 AN成立的充分必要条件是X AI成立(I=1,2,3.N) 5、2、3函数依赖与属性关系 如果X和Y之间是1-1关系,则存在XY, YX 如果X和Y之间是“多对1”关系,则存在XY 如果X和Y之间是“多对多”,则X和Y 不存在函数依赖,小结,1) 函数依赖是完整性约束的一种特殊形式 2) 函数依赖分为 (1) 完全函数依赖 (2) 部分函数依赖 (3) 传递函数依赖 3) 函

7、数依赖是规范化理论的依据 4) 函数依赖是规范化程度的准则,设有如下关系R:请仅在R中已给出数据的范围内分析其函数依赖关系,5.3 函数依赖的闭包F+ 属性闭包及其计算,5.3.1函数依赖的闭包F+ 定义 关系模式R(U,F)中为F所逻辑蕴含的函数依赖的全体称为F的闭包,记为:F+ 例:关系模式S(U,F),其中U=SNO,SNAME,SEX,AGE F=SNOSNAME,SNOSEX,SNOAGE,5.3.2 属性闭包及其计算,定义 设关系模式R(U),F为其函数依赖集,则称所有用Armstrong公理从F推出的函数依赖XAi中的Ai的属性集合为X的属性闭包,记作X+ 例: 有关系模式 S(

8、SNO,SN,SEX,AGE) 有 SNO SN,SNO SEX,SNO AGE则有SNO+=SNO,SN,SEX,AGE 定理 设关系模式R(U),F为其函数依赖集,X,YU,则从F推出X Y的充分必要条件是Y X+,算法5.1 求属性集X关于函数依赖F的属性闭包X+,算法 求属性的闭包X+ 输入 X,F 输出 X+ 步骤 (1)令X(0)=X,I=0 (2)求B,B=A|(V)(W)(V W FV X(I)AW (A是这样的属性:在F中寻找尚未用过的左边是X(I)的子集的函数依赖) (3)X(I+1)=BX(I) (4)判断X(I+1)=X(I)吗? (5)若相等,或X(I)=U,则X(I

9、)为属性集X的属性闭包.且算法终止 (6)若不相等,则I=I+1,返回第2步.,属性闭包计算示例,例1 已知关系模式R(U,F),U=A,B,C,D,E; F=AB, DC,BC E,AC B求(AE)+ ,(AD)+ 解 求(AE)+ 设X(0)=AE 计算X(1) : 逐一扫描F中的各个函数依赖,找出左部为A,E或AE的函数依赖,得到一个: AB.故有X(1)=AEB=ABE 计算X(2): 逐一扫描F中的各个函数依赖,找到左部为A,B,E或AB,AE,BE,ABE的函数依赖,示发现有新的函数依赖X(2)=X(1)=ABE 有 X(1)=X(2),算法终止, (AE)+ =ABE (注:因

10、为找不到新的函数依赖,即F中未用过的函数依赖的左边属性已没有X(1)的子集,所以,不必再计算下去,算法终止) 练习 求(AD)+,解 求(AD)+ X(0)=AD 求X(1):逐一扫描F中的各个函数依赖,找出左部为A,D或AD的函数依赖,得到: AB,D C,故有X(1)=ABCD 求X(2):逐一扫描F中的各个函数依赖,找出左部为ABCD或其子集的函数依赖,得到: BCE,AC B,故有X(2)=ABCDE 因为X(2)=U,故算法终止, (AD)+=ABCDE,例2,设有关系模式R(U,F),其中U=A,B,C,D,E,I; F=AD,AB E, BIE,CD I,E C计算(AE)+ 解

11、: 设X(0)=AE 求X(1) 在F的左部找出AE及其子集的函数依赖,有 AD,E C 所以X(1)=ACDE 求X(2) 在F的左部找出ACDE及其子集的函数依赖,新的依赖有CDI 所以X(2)=ACDEI 求X(3) 因为在F中未用过的函数依赖左边属性已没有X(2)的子集,所以不必再计算,即X(3)=X(2),算法终止 (AE)+=ACDEI,练习 设有函数依赖集F=DG,C A,CD E,A B计算闭包D+ ,C+, A+ ,(CD)+ ,(AD)+, (AC)+, (ACD)+,5.4 函数依赖的等价与覆盖,5.4.1 等价与覆盖 定义: 一个关系模式R(U)上的两个依赖集F和G,如

12、果F+=G+,则称F和G是等价的,记作F G. 如果函数依赖集FG.则称G是F的一个覆盖,反之亦然 两个等价的依赖集在表示能力上是完全相同的.,5.4.2 函数依赖集的最小集,简称为最小函数依赖集 定义 :对于给定的函数依赖F,当满足下列条件时,称为F的最小集,记作F: F的每个依赖的右部都是单个属性 对于F中的任何一个函数依赖XA, F-XA与F都不等价 对于F中的任何一个XA和X的真子集Z,(F-XA) ZA与F都不等价 说明:条件(2)保证了在F中不存在多余的函数依赖;条件(3)保证了F中每个函数依赖的左边没有多余的属性,5.4.3 最小依赖集的求解算法,算法4.2 计算最小依赖集 输入

13、:一个函数依赖集F 输出:F的一个等价最小依赖集F 方法: (1)应用分解规则,使F中每一个依赖的右部属性单一化 (2)去掉各依赖左部多余的属性.具体做法是:一个一个地检查F中左边是非单属性的依赖,例如XYA,现在要判断Y是否为多余的,则以XA代替XYA是否等价?只要在F中求X+,若X+包含A,则Y是多余的属性;否则Y不是多余的属性.依次判断其他属性即可消除各依赖左边的多余属性. (3)去掉多余的依赖.具体做法是:从第一个依赖开始,从F中去掉它(假设该依赖为XY),然后在剩下的依赖中求X+,看X+是否包含Y,若是,则去掉XY;若不包含Y,则不能去掉XY. (4)这样依次做下去.,例 设有依赖集

14、: F=ABC,C A,BC D,ACD B,D EG,BE C,CG BD,CE AG计算其等价的最小依赖集. 解: (1)将依赖右边属性单一化,结果为 F1=,AB C BE C C A CG B BC D CG D ACD B CE A D E CE G D G,(2)在F1中去掉依赖左部多余的属性,因为有C A,则对CE A,E是多余的,对于ACD B,若去掉A,由于(CD)+=ABCDEG,则A是多余的,删除依赖左部多余的依赖后: F2=,AB C BE C C A CG B BC D CG D CD B C A D E CE G D G,(3)在F2中去掉多余的依赖.对于CG B,

15、去掉他,仍有(CG)+=ABCDEG,则是多余的,删除多余的依赖后: F3=,AB C D G C A BE C BC D CG D CD B CE G D E,注意:F的最小依赖集不一定是惟一的,它与对各函数依赖FD及XA中X各属性的处理顺序有关。,F3即是求得的最小函数依赖集F,5.5 候选关键字的求解理论与算法,候选关键字: 属性或属性的最小组合,其值能够惟一地标识一个元组. 对于给定的关系R(A1,A2,An)和函数依赖集F,可将其属性分为四类: L类:仅出现在F的函数依赖左部的属性 R类:仅出现在F的函数依赖右部的属性 N类:在F的函数依赖左右两边均未出现的属性 LR类:在F的函数依

16、赖左右两边均出现的属性 例:有关系模式R(A,B,C,D,E,F,P) R 的函数依赖集为F=AD,E D,D B,BC D,DC A,D F则 L类属性有:C E R类属性有:F LR类属性有:ABD N类属性:P,5.5.1 快速求解候选关键字的充分条件 定理 对于给定的关系模式R及其函数依赖F,若X(XR)是L类属性,则X必为R的任一候选关键字的成员,若Y(Y R)是R类属性,则Y不在任何候选关键字中,若Z (Z R)是N类属性,则Z必包含在R的任一候选关键字中. 推论1 对于给定的关系模式R及其函数依赖集F,如果X是L类属性,且X+包含了R的全部属性;则X必为R的惟一候选关键字 推论2

17、 对于给定的关系模式及其函数依赖集F,如果X是R的N类和L类组成的属性集,且X+包含了R的全部属性,则X是R的惟一候选关键字,例1 设有关系模式R(A,B,C,D),其函数依赖集F=DB,BD, ADB,AC D,求R的所有候选关键字 解:在F中发现,L 类属性有A,C两属性,则AC必为候选关键字成员,又(AC)+=ABCD,所以AC是唯一候选关键字 例2 设有关系模式R(A,B,C,D,E,P)及其函数依赖集F=A D,E D,D B,BC D,DC A,求R的所有全部候选关键字. 解:考察F发现,L 类属性有C,E ,N类属性有P,则CEP必在任何候选关键字中,又(CEP)+=ABCDEP

18、,所以CEP是R的惟一候选关键字,5.5.2 左边为单属性的函数依赖集的候选关键字成员的图论判定方法 定义:在一个函数依赖图中有下列术语 (1)引出线/引入线:若A B,则A与B是连接的,则(A,B)是引出线,对B而言是引入线 (2)原始点:只有引出线而无引入线的结点,它表示L类属性 (3)终结点:只有引入线而无引出线的结点,它表示R类属性 (4)途中点:即有引入线又有引出线的结点,对应LR类属性 (5)孤立点:既无引入线又无引出线的结点,对应N类属性 (6)关键点:原始点和孤立点统称为关键点 (7)关键属性:关键点对应的属性称为关键属性 (8)独立回路:不能被其他结点到达回路,函数依赖图示例

19、,R(A,B,C,D,E,F) F=A B,B C,E F,FE,算法 单属性依赖集候选关键字图论求解法 输入:关系模式R,R的单属性函数依赖集F 输出:R的所有候选关键字 方法 (1)求F的最小函数依赖集F (2)构造函数依赖图FDG(Functional Dependencies Graph) (3)从图中找出关键属性集X(X可为空) (4)查看图中有无独立回路,若无则输出X即为R的惟一候选关键字,转(6);若有,则转(5) (5)从各独立回路中各取一结点对应的属性与X组合成一候选关键字,并重复这一过程取尽所有可能的组合,即为R的全部候选关键字 (6)结束.,例3 设R=O,B,I,S,Q

20、,DF=SD,D S,I B,B I,B O,O B求R的所有候选关键字. 解: (1)F=F= SD,D S,I B,B I,B O,O B (2)构造函数依赖图如图所示,(3)关键属性Q (4)共有两个独立回路,SDS,IBOBI,所以共有2*3=6个候选关键字 (5)R的所有候选关键字为: QSI,QSB,QSO,QDI,QDB,QDO,5.5.3 多属性依赖集候选关键字求解法 算法 多属性依赖集候选关键字求解法 输入:关系模式R与函数依赖集F 输出:R的所有候选关键字 方法: (1)将R的所有属性分为L,R,N和LR四类,并令X代表L,N两类,Y代表LR类 (2)求X+,若X+包含了R

21、的全部属性,则X为R的惟一候选关键字,转(4),否则转(3) (3)在Y任取所有一个属性A,求(XA)+,若它包含了R的全部属性,则为一个候选关键字,否则依次取两个,三个直至其属性闭包包含了R的全部属性 (4)结束,输出结果,Exercises on Functional Dependencies,Questions:,Consider a relation R(A, B, C, D, E) with the following dependencies: AB C, CD E, DE B Is AB a candidate key of this relation? If not, is A

22、BD? Explain your answer.,设有关系R(A,B,C,D,E),F=(AB)-C,(AB)-D,A-E 请解答如下问题: (1)指出其全部候选关键字,设有关系R(A,B,C,D,E),F=A-B,A-C,(AD)-E 请解答如下问题: (1)指出其全部候选关键字,5.6 关系模式分解的级别-范式,5.6.1. 属性键 1) 全码 (1) 整个属性组合是关系键 2) 主属性(键属性) (1) 包含在任何一个候选键(候选关键字)中的属性 3) 非主属性(非键属性) (1) 不包含在任何候选键中的属性 例子 1) S(SNO,SN,AGE,SEX,DEPT) (1) SNO是主属

23、性(2) SN,AGE,SEX,DEPT是非主属性 2) SC(SNO,CNO,G) (1) SNO,CNO是主属性 (2) G是非主属性 3) PWA(演奏者P,作品W,听众A) (1) 之间为多对多关系,无函数依赖(2) 全属性集(P,W,A)是键、主键、全码(3) P,W,A都是主属性,5.6.2范式,1. 范式(NF, Normal Formula) 1) 定义 (1) 符合某种级别的关系模式的集合 (2) 如果一个关系满足某个特定的约束值,则称它属于某种特定的范式 2) 各级范式的要求 (1) 第一范式:关系满足只包含原子值的约束 (2) 第二范式:每个非主属性都完全函数依赖于R的每

24、个键 (3) 第三范式:每个非主属性都不传递依赖于R的任何键 (4) BC范式:R中每个决定因数都是候选键 (5) 第四范式:对于R的每个非平凡多值依赖XY,X都含有候选码 (6) 第五范式:投影连接范式,3) 各级范式的关系 (1) 5NF4NFBCNF3NF2NF1NF (2) 如果关系满足某个范式要求,也会满足级别较低的所有范式的要求 (3) 较高层次的范式比较低层次的范式具有更合乎要求 4) 模式分解(也叫规范化) 将一个低一级范式的关系模式通过投影运算转化为若干个高一级范式的关系模式的集合的过程,第一范式(1NF),1) 定义 (1) 若关系模式R的所有属性都是不可分的基本数据项 (

25、2) 则R1NF 2) 说明 (1) 1NF是关系模式的最起码要求 (2) 若R1NF,则R不是关系数据库 3) 例子 (1) UN(Sno,Cno,Dname,Dm,G) (2) (Sno,Cn)为关系键、候选键、主键 (3) 函数依赖关系 1. (SNO,CNo) G 2. SnoDname 3.DnDm,(4) 存在的问题 1. 插入异常 2. 删除异常 3. 冗余太大 4. 修改异常,第二范式(2NF),1) 定义 (1) 在关系模式R1NF的基础上 (2) 且每个非主属性都完全依赖于R的每个关系键 (3) 则R2NF 2) 例子 (1) S(SNO,SN,AGE,SEX,DEPT)1

26、NF (2) SNO(SN,AGE,SEX,DEPT) (3) SN(SNO,AGE,SEX,DEPT) (4) SNO为候选键 (5) SNO,AGE,SEX,DEPT是非主属性 (6) SNO,AGE,SEX,DEPT完全依赖于每个键 (7) S2NF,3) 注意 (1) 如果关系R的全体属性都是R的主属性,或者R的所有键仅含有一个属性,那么R2NF。 (2) 从1NF中消除非主属性对键的部分函数依赖,则可获得2NF关系 4) 三个问题的解决 1. 插入异常有所改善 2. 删除异常仍然存在 3. 冗余得到改善,示例:现有关系模式SC(SNO,CNO,CTITLE,GRADE)问其属于第几范

27、式,为什么?,解: (1)求候选键 由题意 F=(SNO,CNO)-G,CNO-CTITLE,L 类属性为SNO,CNO,又(SNO,CNO)+=U,则(SNO,CNO)为唯一候选关键字 (2)关系模式S最高为1NF 因为存在CNO-CTITLE,即非主属性对码的部分函数依赖.,第三范式(3NF),(1) 定义 若关系模式R(U,F)中若不存在这样的码X,属性组Y及非主属性Z(ZY),使得X Y,Y Z且Y不能函数决定X,则 R3NF 即 (1) 若R2NF (2) 且每个非主属性都不传递依赖于R的任何键 (3) 则R3NF 2) 说明 (1) 每个非主属性既不部分依赖,也不传递依赖于R的任何

28、键 (2) 从1NF2NF:消除非主属性对键的部分函数依赖 (3) 从2NF3NF:消除非主属性对键的传递函数依赖,3) 3NF的题解 设有关系 R(课程名,教师名,教师地址)(注:每门课程只由一名教师讲解) 问:它能否达到第三范式,为什么?,解: (1)求候选键 由题意 F=课程名-教师名,教师名-教师地址 L 类属性为课程名,又(课程名)+=U,则(课程名)为唯一候选关键字 (2)关系模式R最高为2NF 因为存在教师地址传递函数依赖于课程名,即非主属性对码的传递函数依赖.,Boyce-Codd范式(BCNF)简称BC范式,1) 3NF的不完善性 (1) 3NF排除了非主属性对键的部分函数依

29、赖和传递函数依赖 (2) 把能够分离的属性尽可能地分解为单独的关系 (3) 但3NF没有限制有些主属性对键具有的函数依赖,2) BCNF定义 (1) 若R1NF (2) 如果对于R的每个函数依赖XY,X必含有候选键 (3) R中的每个(决定因素)决定属性集X都是候选键 (4) 则RBCNF 3) 说明 (1) 在满足BCNF的关系中,除候选键之外没有其他的决定因素(决定属性集) (2) 满足BCNF的关系将消除任何属性(主属性或非主属性)对键的部分依赖或传递依赖 (3)属于BCNF的关系必然属于3NF,但属于3NF的关系却不一定属于BCNF,Consider this Relation and

30、 FDs,Outline,In this section, we describe some of the relational database design algorithms that utilize functional dependency and normalization theory. We first describe the two desirable properties of decompositions, namely, the dependency preservation property and the lossless join property. We t

31、hen introduce the decompositions algorithms to achieve higher normal forms like 3NF,and BCNF,What is Decomposition?,Decomposition the process of breaking down in parts or elements. Decomposition in database means breaking tables down into multiple tables From Database perspective means going to a hi

32、gher normal form,Decomposition,Two Characteristics of Good Decompositions 1) Lossless 2) Preserve dependencies,What is lossless?,Lossless means functioning without a loss. In other words, retain everything. Important for databases to have this feature.,Lossless Join Decompositions,Algorithm : Testin

33、g for Lossless (nonadditive) Join Property,Input: A universal relation R, a decomposition 0 = R1, R2, , Rml of R, and a set F of functional dependencies. 1. Create an initial matrix S with one row i for each relation Ri in D, and one column j for each attribute Aj in R. 2. Set S(i, j):= bij for all

34、matrix entries. (* each bij is a distinct symbol associated with index (i, j) *),Example 1 for lossless join testing,Example 2 for lossless join testing,Consider the following relation schema R(A,B,C,D,E) and a set of FDs F=AC,B C,C D,DE C,CE A. Determine whether the following decomposition has the

35、lossless join property. =R1(A,D),R2(A,B),R3(B,E), R4(C,D,E),R5(A,E ),构造二维表,A B C D E,R1,R2,R3,a1,a3,a2,a1,b23,R4,R5,a5,a4,a2,a4,a1,a5,a5,b13,b33,b53,b12,b15,b24,b25,b34,b31,b54,b52,b42,b41,由AC,做的修改,A B C D E,R1,R2,R3,a1,a3,a2,a1,b23,R4,R5,a5,a4,a2,a4,a1,a5,a5,b13,b33,b53,b12,b15,b24,b25,b34,b31,b54,

36、b52,b42,b41,b13,b13,由BC,做的修改,A B C D E,R1,R2,R3,a1,a3,a2,a1,b13,R4,R5,a5,a4,a2,a4,a1,a5,a5,b13,b33,b12,b15,b24,b25,b34,b31,b54,b52,b42,b41,b13,b13,由CD做的修改,A B C D E,R1,R2,R3,a1,a3,a2,a1,b13,R4,R5,a5,a4,a2,a4,a1,a5,a5,b13,b13,b13,b12,b15,b24,b25,b34,b31,b54,b52,b42,b41,a4,a4,a4,由DEC做的修改,A B C D E,R1,

37、R2,R3,a1,a3,a2,a1,b13,R4,R5,a5,a4,a2,a4,a1,a5,a5,b13,b13,b13,b12,b15,b25,b31,b52,b42,b41,a4,a4,a4,a3,结果二维表,A B C D E,R1,R2,R3,a1,a3,a2,a1,R4,R5,a5,a4,a2,a4,a1,a5,a5,b12,b15,b25,b52,b42,a3,a3,b13,a3,a1,a1,a4,a4,a4,算法输出true 是无损的,Dependency Preservation Property of a Decomposition,We say that a decompo

38、sition D = R1, R2, . , Rm of R is dependency-preserving with respect to F if the union of the projections of F on each Ri in D is equivalent to F; that is,Example for dependency preservation,Consider the relation R(A,B,C,D) with F=AB,CD, Determine whether each following decomposition D OF R has the

39、dependency-preserving property. a) R1(A,B) ,R2(C,D) b) R1(A,B,C),R2(A,D),Algorithm : Decomposition into 3NF with Dependency Preservation and lossless join,1. Find a minimal cover G for F ; 2. For each left-hand-side X of a functional dependency that appears in G, create a relation schema in D with a

40、ttributes X U AI U A2. U Ak, where X A1,X A2, . , X Ak are the only dependencies in G with X as the left-hand-side(X is the key of this relation); 3. Place any remaining attributes (that have not been placed in any relation) in a single relation schema to ensure the attribute preservation property.

41、4.If none of the relation schemas in D contains a key of R, then create one more relation schema in D that contains attributes that form a key of R.,Solution: Considering L=A,B:L+=AB+=ABCDEFGHI, hence AB is the only key of R. Minimal cover of F is ABC,AD,A E,B F,F G,F H,D I,D J. According to decompo

42、sition algorithms, the final decomposed relations of R are: R1(A,B,C),R2(A,D,E),R3(B,F),R4(F,G,H),R5(D,I,J),Exercise for Decomposition into BCNF,Consider the relation schema R(C,T,H,R,S,G) with F=CS G,C T,HT R,HR C,HSR. Find the candidate key(s). decompose up to BCNF with lossless join property. 解: (1)求所有候选关键字 已知L类属性有HS,HS必出现在唯一候选关键字中,以(HS)+=CTHRSG,所以HS为唯一候选关键字 (2)分解 结果为BCNF的连接不失真分解过程可用分解树表示. (3)由分解图可知=CSG,CT, HRC, HSR,END!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1