1、5。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的一个函数依赖。函数依赖的逻辑蕴涵:设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出XY,则称F逻辑蕴涵XY,记为F|=XY.部分函数依赖:即局部依赖,对于一个函数依赖WA,如果存在XW(X包含于W)有XA成立,那么称WA是局部依赖,否则称WA为完全依赖。完全函数依赖:见上。传递依赖:在关系模式中,如果YX,XA,且X(表示不决定)Y,和AX(A不属于X),那么称YA是传递依赖.函数依赖集F的闭包F+:被逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包(closure),记为F+。1NF:第一范式.如果关系模式R的所有属性的值域中每一个值都是不可再分解的值,则称R是属于第一范式模式。如果某个数据库模式都是第一范式的,则称该数据库存模式属于第一范式的数据库模式。 第一范式的模式要求属性值
2、不可再分裂成更小部分,即属性项不能是属性组合和组属性组成。2NF:第二范式。如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称是第二范式模式;如果某个数据库模式中每个关系模式都是第二范式的,则称该数据库模式属于第二范式的数据库模式。(注:如果A是关系模式R的候选键的一个属性,则称A是R的主属性,否则称A是R的非主属性。)3NF:第三范式。如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。如果某个数据库模式中的每个关系模式都是第三范式,则称为3NF的数据库模式。BCNF:BC范式.如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式。推理规则的正确性和完备性:正确性是指,如果XY是从推理规则推出的,那么XY在F+中。完备性是指,不能从F使用推理规则导出的函数依赖不在F+中。依赖集的覆盖和等价:关系模式R(U)上的两个函数依赖集F和G,如果满足F+=G+,则称F和G是等价的。如果F和G等价,则可称F覆盖G或G覆盖F。最小依赖集:如果函数集合F满足以下三个条件:(1)F中每个函数依赖的右
3、部都是单属性;(2)F中的任一函数依赖XA,其FXA与F是不等价的;(3)F中的任一函数依赖XA,Z为X的子集.(FXAZA与F不等价。则称F为最小函数依赖集合,记为Fmin。无损联接:设R是一关系模式,分解成关系模式=R1,R2.。.,Rk,F是R上的一个函数依赖集。如果对R中满足F的每一个关系r都有r=R1(r)|X|R2(r)|X|.。XRk(r)则称这个分解相对于F是”无损联接分解.保持依赖集:所谓保持依赖就是指关系模式的函数依赖集在分解后仍在数据库中保持不变,即关系模式R到=R1,R2,.。.,Rk的分解,使函数依赖集F被F这些Ri上的投影蕴涵。多值依赖:设R(U)是属性集U上的一个关系模式,X,Y,Z是U的子集,并且Z=UX-Y,用x,y,z分别代表属性集X,Y,Z的值,只要r是R的关系,r中存在元组(x,y1,z1)和(x,y2,z2)时,就也存在元组(x,y1,z2)和(x,y2,z1),那么称多值依赖(MultiValued Dependency MVD) XY在关系模式R中成立.5。2 关系模式R有n个属性,在模式R上可能成立的函数依赖有多少个?其中平凡的函数依赖集
4、有多少个?非平凡的函数依赖有多少个?答:在模式R上可能成立的函数依赖最多的个数即为R上函数依赖集的闭包中函数依赖的个数。5。 建立关于系、学生、班级、社团等信息的一个关系数据库,一个系有若干个专业,每个专业每年只招一个班,每个班有若干个学生,一个系的学生住在同一宿舍区,每个学生可以参加若干个社团,每个社团有若干学生.描述学生的属性有:学号、姓名、出生年月、系名、班级号、宿舍区.描述班级的属性有:班级号、专业名、系名、人数、入校年份.描述系的属性有:系名、系号、系办公地点、人数。描述社团的属性有:社团名、成立年份、地点、人数、学生参加某社团的年份。请给出关系模式,写出每个关系模式的最小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况,讨论函数依赖是完全函数依赖还是部分函数依赖。指出各关系的候选键、外部键,有没有全键存在?答:关系模式如下:学生(学号,姓名,出生年月,系名,班级号,宿舍区)班级(班级号,专业名,系名,人数,入校年份)系(系名,系号,系办公地点,人数)社团(社团名,成立年份,地点,人数,姓名,学生参加某社团的年份)(这里加入一个”姓名,否则无法实现函数依赖
5、)用英文表示如下:Student(Sno,Sname,Sbirth,Dname,Cno,Hostel)Class(Cno,Subname,Dname,Cnum,Cyear)Department(Dname,Dno,Dadd,Dnum)League(Lname,Lyear,Ladd,Lnum,Sname,Syear)每个关系模式的最小函数依赖集:Student的最小函数依赖集为:Fmin=SnoSname,SnoSbirth,SnoCno,SnoDname,DnameHostelClass的最小函数依赖集为:Fmin=(Dname,Subname)Cno,CnoCnum,CnoCyearDepartment的最小函数依赖集为:Fmin=DnoDname,DnoDadd,DnoDnum)League的最小函数依赖集为:Fmin=LnameLyear,LnameLadd,LnameLnum,SnameSyear)以上关系模式中存在传递函数依赖如:SnoDname,DnameHostel,对于函数依赖左部是多属性的情况,函数依赖是完全函数依赖(假设系中专业名可以相同)各关系的候选键、外部键如下
6、:Student:候选键是Sno,外部键是Sname,Dname,Cno。 Class:候选键是Cno,外部键是Dname. Department:候选键是Dno,外部键是Dname。 League:候选键是Lname,外部键是Sname。5.3 对函数依赖XY的定义加以扩充,X和Y可以为空属性集,用表示,那么X,Y,的含义是什么?答:根据函数依赖的定义,以上三个表达式的含义为:(1)一个关系模式R(U)中,X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1X=t2X必有t1=t2,即X函数决定空属性.即X表示空属性函数依赖于X。这也是任何关系中都存在的. (2)Y表示Y函数依赖于空属性。由此可知该关系中所有元组均相同。 (3)表示空属性函数依赖于空属性。这是显然的。 试分析下列分解是否具有无损联接和保持函数依赖的特点:(1)设R(ABC),F1=AB 在R上成立,1=AB,AC。答:根据课本113页无损联接的测试算法:第一步:构造表:AB CABa1a2b13ACa1b22a3第二步,根据AB进行处理:AB CABa1a2b13ACa1a2a3结果第二行
7、全是a行,因此分解是无损联接分解。(2)设R(ABC),F2=AC,BC在R上成立,2=AB,AC解,用相同的算法,可得是无损联接分解。(3)设R(ABC),F3=AB,在R上成立,3=AB,BC。解:第一步:构造表:AB CABa1a2b13BCb21a2a3第二步,根据AB进行处理,发现没有A分量相等的,所以不再修改。因此这个分解是不具有无损联接特性的. (4)设R(ABC),F4=AB,BC在R上成立,4=AC,BC解:第一步构造表:AB CACa1b12a3BCb21a2a3根据AB,表中无可修改部分,根据BC,表中亦无可修改部分。所以这个分解也是不具有无损联接特性的。5.14 设R=ABCD,R上的函数依赖集F=AB,BC,AD,DC,R的一个分解=AB,AC,AD,求:(1)F在的每个模式上的投影。(2)相对于F是无损联接分解吗?(3)保持依赖吗?解:(1)AB(F)=AB,及按自反律所推导出的一些平凡函数依赖AC(F)=AC,及按自反律所推导出的一些平凡函数依赖AD(F)=AD,及按自反律所推导出的一些平凡函数依赖(2)相对于F是无损联接分解(解法如下题)。(3)AB(F
8、)AC(F)AD(F)=AB,AC,AD,没有满足BC,DC函数依赖,因此相对于F的这个分解不保持依赖。5.15 设R=ABCD,R上的F=AC,DC,BDA,试证明=AB,ACD,BCD相对于F不是无损联接分解。证明:(本题用到教材p114页定理5。4:如果R的分解为=R1,R2,F为R所满足的函数依赖集合,分解具有无损联接性的充分必要条件是:R1R2(R1-R2)或R1R2(R2R1)本题的证明如下:先设R被分解为=R1(ABCD),R2(BCD)R1R2:ABCDBCD=BCDR1R2:ABCD-BCD=A因为BCDA可由BDA得出,因此满足无损联接的分解。 第二步,将R1分解为R3(AB),R4(ACD)R3R4: ABACD=AR3R4 : AB-ACD=BR4R3 : ACDAB=CD此时,AB,ACD(可分解为AC,AD)不在F中,也不在F+中,所以总的来说,R上相对于F的分解不是无损联接分解。 设R=ABCD,R上的F=AB,BC,DB,把R分解成BCNF模式集。(1)若首先把R分解成ACD,BD,试求F在这两个模式上的投影。(2)ACD和BD是BCNF吗?如果不是,请进一步分解。 解:(1)ACD(F)=ACBD(F)=DB (2)ACD不是BCNF,因为根据BCNF的定义,关系模式是第一范式,A为候选键,但D不由A决定,所以它不是BCNF模式。它可进一步分解为:AC,DC,此时AC,DC均为BCNF模式. BD是BCNF,因为R2(BC)是第一范式,且每个属性都不传递依赖于D(候选键),所以它是BCNF模式。 设R=ABCD,=AB,BC,CD。F1=AB,BC;F2=BC,CD;(1)如果F1是R上的函数依赖集,此时是无损联接分解吗?若不是,试举出反例.(2)如果F2是R上的函数依赖集呢? 解:(1)不是无损联接。可由算法5。2判断或由定理5.8判断。 过程如下:第一步,构造初表 ABCDABa1a2b13b14BCb21a2a3b24CDb31b32a3a4第二步:由函数依赖AB发现没有可修改的内容,由BC可修改一处 ABCDABa1a2a3b14BCb2
《数据库课后答案5-7章》由会员桔****分享,可在线阅读,更多相关《数据库课后答案5-7章》请在金锄头文库上搜索。