数据库系统原理课后答案-第三章

上传人:go****e 文档编号:137099838 上传时间:2020-07-05 格式:DOC 页数:9 大小:102.50KB
返回 下载 相关 举报
数据库系统原理课后答案-第三章_第1页
第1页 / 共9页
数据库系统原理课后答案-第三章_第2页
第2页 / 共9页
数据库系统原理课后答案-第三章_第3页
第3页 / 共9页
数据库系统原理课后答案-第三章_第4页
第4页 / 共9页
数据库系统原理课后答案-第三章_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《数据库系统原理课后答案-第三章》由会员分享,可在线阅读,更多相关《数据库系统原理课后答案-第三章(9页珍藏版)》请在金锄头文库上搜索。

1、3.1名词解释 (1) 函数依赖:FD(function dependency),设有关系模式R(U),X,Y是U的子集, r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1X=t2X导致t1Y=t2Y, 则称X函数决定Y,或Y函数依赖于X,记为XY。XY为模式R的一个函数依赖。 (2) 平凡的函数依赖:对于FD XY,如果YX 那么称XY 是一个“平凡的函数依赖”,否则称为“非平凡的FD”。(3) 函数依赖集F的闭包F+: 被逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包(closure),记为F+。 (5) 函数依赖的逻辑蕴涵:设F是关系模式R的一个函数依赖集,X,Y是R的属

2、性子集, 如果从F中的函数依赖能够推出XY,则称F逻辑蕴涵XY,记为F|=XY。 (6) 依赖集的覆盖和等价:关系模式R(U)上的两个函数依赖集F和G,如果满足F+=G+,则称F和G是等价的。 如果F和G等价,则可称F覆盖G或G覆盖F。 (7) 最小依赖集:如果函数集合F满足以下三个条件:(1)F中每个函数依赖的右部都是单属性; (2)F中的任一函数依赖XA,其F-XA与F是不等价的;(3)F中的任一函数依赖XA,Z为X的子集,(F-XA)ZA与F不等价。则称F为最小函数依赖集合,记为Fmin。 (8) 无损联接:设R是一关系模式,分解成关系模式=R1,R2.,Rk,F是R上的一个函数依赖集。

3、 如果对R中满足F的每一个关系r都有r=R1(r)R2(r).Rk(r)则称这个分解相对于F是无损联接分解。 (10) 保持依赖集:所谓保持依赖就是指关系模式的函数依赖集在分解后仍在数据库中保持不变, 即关系模式R到=R1,R2,.,Rk的分解,使函数依赖集F被F这些Ri上的投影蕴涵。 (11) 1NF:第一范式。如果关系模式R的所有属性的值域中每一个值都是不可再分解的值, 则称R是属于第一范式模式。如果某个数据库模式都是第一范式的,则称该数据库存模式属于第一范式的数据库模式。 第一范式的模式要求属性值不可再分裂成更小部分,即属性项不能是属性组合和组属性组成。 (12) 2NF:第二范式。如果

4、关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键, 则称是第二范式模式;如果某个数据库模式中每个关系模式都是第二范式的,则称该数据库模式属于第二范式的数据库模式。 (注:如果A是关系模式R的候选键的一个属性,则称A是R的主属性,否则称A是R的非主属性。) (13) 3NF:第三范式。如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键, 则称R是第三范式的模式。如果某个数据库模式中的每个关系模式都是第三范式,则称为3NF的数据库模式。 (14) BCNF:BC范式。如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式。 (1

5、7) 4NF:第四范式。设R是一个关系模式,D是R上的多值依赖集合。如果D中成立非平凡多值依赖XY时, X必是R的超键,那么称R是第四范式的模式。3.4 对函数依赖XY的定义加以扩充,X和Y可以为空属性集,用表示, 那么X,Y,的含义是什么? 根据函数依赖的定义,以上三个表达式的含义为: (1)一个关系模式R(U)中,X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2, 由t1X=t2X必有t1=t2。即X表示空属性函数依赖于X。这是任何关系中都存在的。 (2)Y表示Y函数依赖于空属性。由此可知该关系中所有元组中Y属性的值均相同。 (3)表示空属性函数依赖于空属性。这也是

6、任何关系中都存在的。 3.6关系模式R有n个属性,在模式R上可能成立的函数依赖有多少个? 其中平凡的函数依赖有多少个?非平凡的函数依赖有多少个? (要考虑所有可能的情况,数学排列组合问题。对于数据库本身而言,本题没多大意义) 所有属性相互依赖时,函数依赖最多。平凡的函数依赖:对于函数依赖XY,如果YX,那么称XY是一个“平凡的函数依赖”。3.7已知关系模式R(ABC),F=AC,BC,求F+。 可以直接通过自反律、增广律、传递律加以推广: F+=,A,B,C,AC,BC,AB,ABA,ABB,ABC,ABBC,ABAB,ABABC,BC,BCC,BCB,BCBC,AC,ACC,ACA,ACAC

7、,ABC,ABCA,ABCB,ABCC,ABCBC,ABCAB,ABCABC4.6 试分析下列分解是否具有无损联接和保持函数依赖的特点: (1)设R(ABC),F1=AB 在R上成立,1=AB,AC。 首先,检查是否具有无损联接特点: 第1种解法-算法4.2: ABCABa1a2b13ACa1b22a3ABCa1a2b13a1a2a3(1) 构造表(2)根据AB进行处理结果第二行全是a行,因此分解是无损联接分解。 第2种解法:(定理4.8) 设 R1=AB,R2=AC R1R2=A R2- R1=B AB,该分解是无损联接分解。 然后,检查分解是否保持函数依赖 R1(F1)=AB,以及按自反率

8、推出的一些函数依赖 R2(F1)=按自反率推出的一些函数依赖 F1被R1(F1)所蕴涵,所以该分解保持函数依赖。 (2)设R(ABC),F2=AC,BC在R上成立,2=AB,AC 首先,检查是否具有无损联接特点: 第1种解法(略) 第2种解法:(定理4.8) 设 R1=AB,R2=AC R1R2=A R2- R1=C AC,该分解是无损联接分解。 然后,检查分解是否保持函数依赖 R1(F2)=按自反率推出的一些函数依赖 R2(F2)=AC,以及按自反率推出的一些函数依赖 F1中的BC没有被蕴涵,所以该分解没有保持函数依赖。 (3)设R(ABC),F3=AB,在R上成立,3=AB,BC. 首先,

9、检查是否具有无损联接特点: 第1种解法: ABCABa1a2b13BCb21a2a3ABCa1a2a3a1b22a3(1) 构造表(2)根据AB进行处理没有一行全是a行。因此这个分解不具有无损联接特性。 第2种解法:(定理4.8) 设 R1=AB,R2=BC R1R2=B R2- R1=C,R1- R2=A BC,BA不在F3中 该分解不具有无损联接特性。 然后,检查分解是否保持函数依赖 R1(F3)=AB,以及按自反率推出的一些函数依赖 R2(F3)=按自反率推出的一些函数依赖 F1被R1(F3)所蕴涵,所以该分解保持函数依赖。 (4)设R(ABC),F4=AB,BC在R上成立,4=AC,B

10、C 首先,检查是否具有无损联接特点: 第1种解法(略) 第2种解法:(定理4.8) 设 R1=AC,R2=BC R1(AC)R2(BC)=C R2- R1=B,R1- R2=A CB,CA不在F4中 该分解不具有无损联接特性。 然后,检查分解是否保持函数依赖 R1(F2)=按自反率推出的一些函数依赖 R2(F2)=BC,以及按自反率推出的一些函数依赖 F1中的AB没有被蕴涵,所以该分解没有保持函数依赖。 4.7 设R=ABCD,R上的函数依赖集F=AB,BC,AD,DC,R的一个分解=AB,AC,AD,求:(1)F在的每个模式上的投影。(2)相对于F是无损联接分解吗?(3)保持依赖吗? (1)

11、 AB(F)=AB,及按自反律所推导出的一些平凡函数依赖 AC(F)=AC,及按自反律所推导出的一些平凡函数依赖 AD(F)=AD,及按自反律所推导出的一些平凡函数依赖 (2)ABCDABa1a2b13b14ACa1b22a3b24ADa1b32b33a4ABCDa1a2a3a4a1a2a3a4a1a2a3a4(1) 构造表(2)根据AB,BC,AD,DC进行处理每一行都是a,相对于F是无损联接分解。 (3)AB(F)AC(F)AD(F)=AB,AC,AD, 没有满足BC,DC函数依赖, 因此相对于F的这个分解不保持函数依赖。 4.8 设R=ABCD,R上的F=AC,DC,BDA, 试证明=A

12、B,ACD,BCD相对于F不是无损联接分解。 根据算法4.2 ABCDABa1a2b13b14ACDa1b22a3a4BCDb31a2a3a4ABCDa1a2a3b14a1b22a3a4b31a2a3a4(1) 构造表(2)根据AC,DC,BDA进行处理没有一行都是a,所以,相对于F不是无损联接分解。 4.9 设R=ABCD,R上的F=AB,BC,DB,把R分解成BCNF模式集。 (1)若首先把R分解成ACD,BD,试求F在这两个模式上的投影。 (2)ACD和BD是BCNF吗?如果不是,请进一步分解。 (1)ACD(F)=AC BD(F)=DB (2)因为根据BCNF的定义,要求关系模式是第一

13、范式,且每个属性都不传递依赖于R的侯选键。 BCD中(A,D)为候选键,可是(A,D)A, AC,所以它不是BCNF模式。 它可进一步分解为:AC,DC,此时AC,DC均为BCNF模式。 BD是BCNF,因为R2(BD)是第一范式,且每个属性都不传递依赖于D(候选键),所以它是BCNF模式。 4.10 设R=ABCD,=AB,BC,CD。F1=AB,BC;F2=BC,CD; (1)如果F1是R上的函数依赖集,此时是无损联接分解吗?若不是,试举出反例。 (2)如果F2是R上的函数依赖集呢? (1)不是无损联接。可由算法4.2判断或由定理4.8判断。 根据算法4.2 ABCDABa1a2b13b14BCb21a2a3b24CDb31b32a3a4ABCDa1a2a3b14b21a2a3b24b31b32a3a4(1) 构造表(2)根据AB,BC进行处理结果没有出现一行全a的情况,所以它不是无损联接。举例如下: 设模式R的一关系r为(a1b1c1d1),(a2b2c1d2) 则有:r1=AB(r)=(a1b1),(a2b2) r2=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

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