《数据库课后答案5》由会员分享,可在线阅读,更多相关《数据库课后答案5(8页珍藏版)》请在金锄头文库上搜索。
1、名词解释:1、函数依赖:FD(FUNCTION DEPENDENCY),设有关系模式R(U), X, Y是U的子集,R是R的任一具体 关系,如果对r的任意两个元组t1,t2,由t1X=t2X导致t1Y=t2Y,则称X函数决定Y,或Y 函数依赖于X,记为XTYXTY为模式R的一个函数依赖。函数依赖的逻辑蕴涵:设F是关系模式R的一个函数依赖集,X, Y是R的属性子集,如果从F 中的函数依赖能够推出XTY,则称F逻辑蕴涵XTY,记为F|二XTY。部分函数依赖:即局部依赖,对于一个函数依赖WTA,如果存在X W(X包含于W)有XTA成立,那么称WTA是局部依赖,否则称WTA为完全依赖。完全函数依赖:见
2、上。传递依赖:在关系模式中,如果YTX,XTA,且XT(表示不决定)Y,和A X(A不属于X),那么 称YTA是传递依赖。函数依赖集F的闭包F+:被逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包(closure),记为F+。1NF:第一范式。如果关系模式R的所有属性的值域中每一个值都是不可再分解的值,则称R是属 于第一范式模式。如果某个数据库模式都是第一范式的,则称该数据库存模式属于第一范式的数 据库模式。第一范式的模式要求属性值不可再分裂成更小部分,即属性项不能是属性组合和组属性组成。2NF:第二范式。如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某 个候选键,则称是第
3、二范式模式;如果某个数据库模式中每个关系模式都是第二范式的,则称该 数据库模式属于第二范式的数据库模式。(注:如果A是关系模式R的候选键的一个属性,则称A 是R的主属性,否则称A是R的非主属性。)3NF:第三范式。如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则 称R是第三范式的模式。如果某个数据库模式中的每个关系模式都是第三范式,则称为 3NF的数 据库模式。BCNF: BC范式。如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R 是BCNF的模式。推理规则的正确性和完备性:正确性是指,如果XTY是从推理规则推出的,那么XTY在F+中。 完备性是指,不
4、能从F使用推理规则导出的函数依赖不在F+中。依赖集的覆盖和等价:关系模式R(U)上的两个函数依赖集F和G,如果满足F+=G+,则称F和G 是等价的。如果F和G等价,则可称F覆盖G或G覆盖F。最小依赖集:如果函数集合F满足以下三个条件:(1)F中每个函数依赖的右部都是单属性;(2)F 中的任一函数依赖XTA,其F-XTA与F是不等价的;(3)F中的任一函数依赖XTA, Z为X的 子集。(F-XTAUZTA与F不等价。则称F为最小函数依赖集合,记为Fmin。无损联接:设R是一关系模式,分解成关系模式p=R1,R2.,Rk,F是R上的一个函数依赖集。如果对R中满足F的每一个关系r都有r=nR1(R)
5、|X|nR2(R)|X|.|X| n Rk(r)则称这个分解相对 于F是无损联接分解。保持依赖集:所谓保持依赖就是指关系模式的函数依赖集在分解后仍在数据库中保持不变,即关 系模式R到p = R1,R2,.,Rk的分解,使函数依赖集F被F这些R|上的投影蕴涵。多值依赖:设R(U)是属性集U上的一个关系模式,X, Y, Z是U的子集,并且Z=U-X-Y,用x,y,z 分别代表属性集X,Y, Z的值,只要r是R的关系,r中存在元组(x,y1,z1)和(x,y2,z2)时,就也存 在元组(x,y1,z2)和(x,y2,z1),那么称多值依赖(Multi Valued Dependency MVD) X
6、TTY 在关系模式 R 中成立。关系模式R有N个属性,在模式R上可能成立的函数依赖有多少个?其中平凡的函数依赖集有多 少个?非平凡的函数依赖有多少个?答:在模式R上可能成立的函数依赖最多的个数即为R上函数依赖集的闭包中函数依赖的个数。5.建立关于系、学生、班级、社团等信息的一个关系数据库,一个系有若干个专业,每个专业 每年只招一个班,每个班有若干个学生,一个系的学生住在同一宿舍区,每个学生可以参加若干 个社团,每个社团有若干学生。描述学生的属性有:学号、姓名、出生年月、系名、班级号、宿 舍区。描述班级的属性有:班级号、专业名、系名、人数、入校年份。描述系的属性有:系名、系号、系办公地点、人数。
7、描述社团的属性有:社团名、成立年份、地点、人数、学生参加某社团的年份。请给出关系模式, 写出每个关系模式的最小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性 的情况,讨论函数依赖是完全函数依赖还是部分函数依赖。指出各关系的候选键、外部键,有没 有全键存在?答:关系模式如下:学生(学号,姓名,出生年月,系名,班级号,宿舍区)班级(班级号,专业名,系名,人数,入校年份)系(系名,系号,系办公地点,人数)社团(社团名,成立年份,地点,人数,姓名,学生参加某社团的年份)(这里加入一个姓名,否则 无法实现函数依赖)用英文表示如下:Student(Sno,Sname,Sbirth,dnam
8、e,cno,hostel)class(cno,Subname,dname,cnum,cyear)DEPARTMENT (DNAME,DNO,DADD,dNUM)league(lname,lyear,ladd,lnum,Sname,Syear)每个关系模式的最小函数依赖集:STUDENT 的最小函数依赖集为:Fmin=SnoTSnaME,SnoTSbirth,SnoTCnO,SnoTDnaME, DnaMeTHoSTEl class 的最小函数依赖集为:Fmin=(DnAME,SubNAME)TCnO,CnoTCnUM, CnoTCyEArDepartment的最小函数依赖集为: fmin=Dn
9、oTDname,DnoTDadd,DnoTDnum)League 的最小函数依赖集为:fmin=lnamelyear,lnameladd,lnamelnum,SnameSyear) 以上关系模式中存在传递函数依赖如:SnoDname, Dname Hostel ,对于函数依赖左部是多属性的 情况,函数依赖是完全函数依赖(假设系中专业名可以相同)各关系的候选键、外部键如下: Student :候选键是 Sno,外部键是 Sname,Dname,cnoclass :候选键是cno,外部键是Dname -Department :候选键是Dno,外部键是Dname。League :候选键是Lname
10、,外卜部键是Sname。对函数依赖XTY的定义加以扩充,X和Y可以为空属性集,用表示,那么XTseTYcpTe 的含义是什么?答:根据函数依赖的定义,以上三个表达式的含义为:(1) 一个关系模式R(U)中,X, Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组 t1,t2,由t1X = t2X必有t1=t2,即X函数决定空属性。即XT表示空属性函数依赖于 X。这也是任何关系中都存在的。(2) 0TY表示Y函数依赖于空属性。由此可知该关系中所有元组均相同。(3) 0T0表示空属性函数依赖于空属性。这是显然的。试分析下列分解是否具有无损联接和保持函数依赖的特点:设 R(ABC),F1=A
11、TB在 R 上成立,p1=AB,AC。答:根据课本113页无损联接的测试算法:第一步:构造表:设 R(ABC),F2=ATC,BTC在 R 上成立,p2=AB,AC 解,用相同的算法,可得p是无损联接分解。(3)设 R(ABC),F3=ATB,在 R 上成立,p3=AB,BC.解:第一步:构造表:ABCABa1a2b13BCb21a2a3第二步,根据ATB进行处理,发现没有A分量相等的,所以不再修改。因此这个分解是不具有 无损联接特性的。设 R(ABC),F4=ATB,BTC在 R 上成立,p4=AC,BC解:第一步构造表:ABCACa1b12a3BCb21a2a3根据ATB,表中无可修改部分
12、,根据BTC,表中亦无可修改部分。所以这个分解也是不具有无 损联接特性的。设 R=ABCD,R 上的函数依赖集 F=ATB, BTC, ATD, DTC,R 的一个分解 p=AB,AC,AD,求:(1)F在p的每个模式上的投影。(2) p相对于F是无损联接分解吗?(3) p保持依赖吗?解:(1)nAB(F)=ATB,及按自反律所推导出的一些平凡函数依赖nAC(F)=ATC,及按自反律所推导出的一些平凡函数依赖nAD(F)=ATD,及按自反律所推导出的一些平凡函数依赖(2) p相对于F是无损联接分解(解法如下题)。 n AB(F) U n AC(F) U nAD(F)=ATB,ATC,ATD,没
13、有满足 BTC,DTC 函数依赖,因此 p 相 对于F的这个分解不保持依赖。设R=ABCD,R上的F=ATC, DTC,BDTA,试证明p=AB,ACD,BCD相对于F不是无损联接分解。 证明:(本题用到教材p114页定理:如果R的分解为p=R1,R2,F为R所满足的函数依赖集合, 分解p具有无损联接性的充分必要条件是:R1DR2T(R1 -R2)或R1AR2T(R2 -R1)本题的证明如 下:先设 R 被分解为 p = R1(ABCD) , R2(BCD)R1R2:ABCDBCD二BCDR1-R2:ABCD-BCD=A因为BCDTA可由BDTA得出,因此满足无损联接的分解。第二步,将 R1
14、分解为R3(AB),R4(ACD)R3AR4:ABAACD=AR3-R4 :AB-ACD=BR4-R3 :ACD-AB=CD此时,ATB,ATCD(可分解为ATC,ATD)不在F中,也不在F+中,所以总的来说,R上相对于F 的分解p不是无损联接分解。设R=ABCD,R上的F=ATB,BTC, DTB,把R分解成BCNF模式集。(1)若首先把R分解成ACD,BD, 试求F在这两个模式上的投影。(2)ACD和BD是BCNF吗?如果不是,请进一步分解。解:(1)nACD(F)=ATC n BD(F)=DTB(2)ACD不是BCNF,因为根据BCNF的定义,关系模式是第一范式,A为候选键,但D不由A决
15、定, 所以它不是BCNF模式。它可进一步分解为:AC,DC,此时AC, DC均为BCNF模式。BD是BCNF,因为R2(BC)是第一范式,且每个属性都不传递依赖于D(候选键),所以它是BCNF模 式。设 R=ABCD, p=AB,BC,CD F1=ATB,BTC;F2=BTC,CTD; (1)如果 F1 是 R 上的函数依赖 集,此时p是无损联接分解吗?若不是,试举出反例。(2)如果F2是R上的函数依赖集呢? 解:(1)不是无损联接。可由算法判断或由定理判断。过程如下:第一步,构造初表?ABCDABa1a2b13b14BCb21a2a3b24CDb31b32a3a4第二步:由函数依赖ATB发现没有可修改的内容,由BTC可修改一处?ABCDABa1a2a3b14BCb21a2a3b24结果没有出现一行全A的情况,所以它不是无损联接。举例如下:设模式 R 的一关系