习题七
1. 给出下列术语的定义,并加以理解。
函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、候选关键字、主关键字、全关键字、1NF、2NF、3NF、BCNF、多值依赖、4NF、连接依赖、5NF。
2. 现在要建立关于系、学生、班级、学会诸信息的一个关系数据库。语义为:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区,每个学生可参加若干学会,每个学会有若干学生。
描述学生的属性有:学号、姓名、出生日期、系名、班号、宿舍区;
描述班级的属性有:班号、专业名、系名、人数、入校年份;
描述系的属性有:系名、系号、系办公室地点、人数;
描述学会的属性有:学会名、成立年份、地点、人数、学生参加某会有一个入会年份。 l)请写出关系模式。
2)写出每个关系模式的最小函数依赖集,指出是否存在传递依赖。在函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖,还是部分函数依赖。
3)指出各个关系模式的候选关键字,外部关键字,以及有没有全关键字。
3. 设关系模式R<A,B,C,D>,函数依赖集F={A→C,C→A, B→AC,D→AC,BD→A}。 1)求出R的候选码。
2)求出F的最小函数依赖集。
3)将R分解为3NF,使其既具有无损连接性又具有函数依赖保持性。
4)设关系模式R<A,B,C,D,E,F>,函数依赖集F={AB→E,AC→F,AD→B,B→C,C→D}。
1)证明AB、AC、AD均是候选关键宇。
2)证明主属性C部分依赖于关键字AB,传递依赖于AD。同时证明主属性D部分依赖于关键字AC,传递依赖于关键字AB。
5. 设关系模式R<A,B,C,D,E,F>,函数依赖集F={AB→E,BC→D,BE→C,CD→B,CE→AF,CF→BD,C→A,D→EF},求F的最小函数依赖集。
6 判断下面的关系模式是不是BCNF,为什么?
1)任何一个二元关系。
2)关系模式选课(学号,课程号,成绩),函数依赖集F={(学号,课程号)→成绩}。 3)关系模式R(A,B,C,D,E,F),函数依赖集F={A→BC,BC→A,BCD→EF,E→C}。
7. 设关系模式R(A,B,C,D,E,F),函数依赖集F={A→B,C→F,E→A,CE→A},将R分解为P={ABE,CDEF}。判断p是否是无损连接。
8. 设关系模式R{B,O,I,S,Q.D},函数依赖集F={S→D,I→S,IS→Q,B→Q}。 l)出R的主码。
2)把R分解为BCNF,且具有无损连接性。
9. 在关系模式选课(学号,课程号,成绩)中,“学号→→课程号”正确吗?为什么?
10. 设有关系模式R(A,B,C),数据依赖集F={AB→C,C→→A},R属于第几范式?为什么?
11. 设有关系模式R(A,B,C,D),数据依赖集F={A→B,B→A,AC→D,BC→D,AD→C,BD→C,A→→CD,B→→CD}。
1)求R的主码。
2)R是否为第4范式?为什么?
3)R是否是BCNF?为什么?
4)R是否是3NF?为什么?
12. 下面的结论哪些是正确的?哪些是错误的?对于错误的请给出一个反例说明。
1)任何一个二目关系是属于3NF的。
2)任何一个二目关系是属于BCNF的。
3)任何一个二目关系是属于4NF的。
4)当月仅当函数依赖A→B在R上成立,关系R(A,B,C)等于投影R1(A,B)和R2(A,C)的连接。
5)若R.A→R.B,R.B→R.C,则R.A →R.C。
6)若R.A→R.B,R.A→R.C,则R.A →R.(B,C)。
7)若R.B→R.A,R.C→R.A,则R.(B,C)→R.A。
8)若R.(B,C)→R.A,则R.B→R.A ,R.C →R.A。
13. 试述查询优化的一般步骤。
14. 试述查询优化的一般准则。
15. 有关系模式A(C,T,H,R,S),其中各属性的含义是:C,课程;T,教员;H,上课时间;R,教室;S,学生。根据语义有如下函数依赖集:F={C→T,(H,R)→C,(H,T)→R,(H,S)→R}。现将关系模式A分解为两个关系模式A1(C,T),A2(H,R,S),则其中A1的规范化程度达到_________。
A. 1NF
B. 2NF
C. 3NF
D. BCNF
16. 有关系模式A(C,T,H,R,S),其中各属性的含义是:C,课程;T,教员;H,上课时间;R,教室;S,学生、。根据语义有如下函数依赖集:F={C→T,(H,R)→C,(H,T)→R,(H,S)→R}。关系模式A的规范化程度最高达到_________。
A. 1NF
B. 2NF
C. 3NF
D. BCNF
17. 有关系模式A(C,T,H,R,S),其中各属性的含义是:C,课程;T,教员;H,上课时间;R,教室;S,学生、。根据语义有如下函数依赖集:F={C→T,(H,R)→C,(H,T)→R,(H.S)→R}。关系模式A的码是_________。
A. C
B.(H,R)
C.(H,T)
D.(H,S)
18. 下面关于函数依赖的叙述中,不正确的是__________。
A. 若X→Y,Y→Z,则X→YZ
B. 若XY→Z,则X→Z,Y→Zsql包含哪几个部分
C. 若X→Y,Y→Z,则X→Z
D. 若X→Y,Y'包含Y,则X—Y'
19. 下面关于函数依赖的叙述中,不正确的是__________。
A. 若X→Y,X→Z,则X→YZ
B. 若XY→Z,则X→Z,Y→Z
C. 若X→Y,WY→Z,则XW→Z
D. 若X→Y,则XZ→YZ
习题七解答
1.答:
①函数依赖:设R〈U〉是属性集U上的关系模式,X、Y是U的子集。若对于R〈U〉的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而Y上的属性值不等,则称X函数确定Y函数,或Y函数依赖于X函数,记作X→Y。例如,在学生(学号,姓名,年龄,年级)表中:学号→姓名,学号→年龄,学号→年级。
②部分函数依赖和完全函数依赖:在R〈U〉中,如果X→Y,并且对于X的任何一个
−F Y;若X→Y,但Y 真子集X’,都有,则称Y对X完全函数依赖.记作:X−→
−P Y。
不完全函数依赖于X.则称Y对X部分函数依赖.记作.X−→
例如在教学关系模式中,学号和课程名为主码。(学号,课程名)→成绩,(学号课程−P姓名。
名)−→
③传递函数依赖:在R 〈U 〉中, 如果X →Y , , Y →Z ,称Z 对
X 传递函数依赖。递函数依赖记作X −−
→−传递
Z 。 例如,在教学模式中,因为存在:学号→系名,系名→系主任;所以也存在;学号−−
→−传递
系主任。
④候选关键字,主关键字,全关键字:设R 〈A1,A2,…An 〉为一关系模式,F 为R 所满足的一组函数依赖,X 为{A1,A2,…An }的子集,如果X 满足:l )X →A ,A2,…
A n ∈F +
。2)不存在X 的真子集Y ,Y ⊂X,Y →A1,A2,…An ∈F +
则称X 是关系模式的
码(候选关键字)。在候选关键宇中选择一个为主码(主关键字)。如果关系模式中不存在函数依赖,则全部属性构成码,即为全码(全关键字)。
⑤1NF ,2NF ,3NF ,BCNF :果关系模式R ,其所有的属性均为简单属性,即每个属性都是不可再分的,则称R 属于第一范式;若R ∈1NF ,且每一个非主属性完全依赖于码,则R ∈2NF ;关系模式R 〈U ,F 〉中若不存在这样的码X 、属性组Y 及非主属性使得X →Y 、、Y →Z 成立,则称R 〈U ,F 〉∈E3NF ;系模式R 〈U ,F 〉∈1NF 。若X →Y 且,X 必含有码.则R 〈U ,F 〉∈BCNF 。
⑥多值依赖,4NF :设有关系模式R 〈U 〉,U 是属性集,X 、Y 是U 的子集。如果R 的任一关系,对于X 的一个确定值,都存在Y 的一组值与之对应,且Y 的这组值又与Z=U -X -Y 中的属性值不相关,此时称Y 多值依赖于X ,或X 多值决定Y ,记为X →→Y 。关系模式R 〈U ,F 〉∈1NF ,如果对于R 的每个非平凡多值依赖X →→Y ,X 必含有码,则称 R 〈U ,F 〉∈4NF 。
⑦连接依赖,5NF :设R 〈U 〉是属性集U 上的关系模式X1、X2、X3、…、Xn 是U
的子集,并且Y n
i Xi
i 1==
=U 。如果对R=的一切关系均成立,则称R 在X1、
X2、…、Xn 上具有n 目连接依赖,记作:。如果关系模式R 中的每一个连接依赖均由R 的候选码所隐含,则称R ∈5NF 。
2.答:
(1)学生(学号,姓名,出生日期,班号);
班级(班级编码,专业名,系号,人数.入校年份); 教学系(系名,系号,办公室地点,人数,宿舍区); 学会(学会名,成立年份,地点,人数); 参加(学号,学会名,入去年份)。 (2)={班级编码→专业名,班级→系号,班级→人数.班级→入校年份};
={学号→姓名,学号→出生日期,学号→班号);
={系号→系名,系号→办公室地点,系号→人数,系号→宿舍区}; ={学会名→成立年份,学会名→地点,学会名→人数}; ={(学号,学会名)→入会年份}。
(3)学生表中,码为学号。班级表中,码为班级编码。教学系表中,码为系号。学会表中,码为学会名。参加表中:码为(学号,学会名);外码为学号,参照属性为学生(学号);外码为学会名,参照属性为学会(学会名)。
3.答:
1)R 的候选码为BD 。
2)①将F 中的函数依赖都分解为右部为单属性的函数依赖。
F ={A →C ,C →A , B →A ,B →C ,D →A ,D →C ,BD →A } ②去掉F 中冗余的函数依赖。 判断A →C 是否冗余。
设:G1={C →A ,B →A ,B →C ,D →A ,D →C ,BD →A },得:)(1
A G +
=A ∵C ∉)(1
A G + ∴A →C 不冗余
判断C →A 是不冗余。
设:G2={A →C ,B →A ,B →C ,D →A ,D →C ,BD →A },得: )(2
C G +
=C ∵A ∉)(1
C G + ∴C →A 不冗余
判断B →A 是否冗余。
设:G3={A →C ,C →A ,B →C ,D →A ,D →C ,BD →A },得:)(3
B G +
=BCA ∵A ∈)(3
B G + ∴B →A 冗余 判断B →
C 是否冗余。
设:G4={A →C ,C →A , D →A ,D →C ,BD →A }, 得:)(4
B G +
=B
∵C ∉)(4
B G +
∴B →C 不冗余 判断D →A 是否冗余。
设:G5={A →C ,C →A , B →C ,D →C ,BD →A }, 得:)(5
D G +
=DCA
∵A ∉)(5
D G + ∴D →A 不冗余
判断D →C 是否冗余。
设:G6={A →C ,C →A , B →C ,BD →A }, 得:)(6
D G +=D
∵C ∉)
(6
D G +
∴D →C 不冗余 判断BD →A 是否冗余。
设:G7={A →C ,C →A , B →C ,D →C }, 得:)(7
BD G +
=BDCA
∵A ∉)
(7
BD G +
∴BD →A 冗余 F={A →C ,C →A ,B →C ,D →C } ③由于各函数依赖在部都为单属性.故: Fm={A →C ,C →A ,B →C ,D →C }。 3)T ={AC ,BC ,DC ,BD } 4. 答:
1)∵)
(AB F
+= ABECDF ABCDE F ∈)
(AB F
+ ∴AB 为码 ∵)
(AC F += ABECDF ABCDE F ∈)
(AC F + ∴AC 为码 ∵)(AD F
+= ABECDF ABCDE F ∈)
(AD F
+ ∴AD 为码
2)∵ B →C ∴AB −−
→−部分
C ∵ A
D →B ,B →C ∴AD −−
→−传递
C ∵ C →
D ∴AC −−
→−部分
C ∵ B →C ,C →
D ∴AB −−
→−传递
C 5.答:
①将F 中的函数依赖都分解为右部为单属性的函数依赖。
F ={AB →E ,BC →D ,BE →C ,CD →B ,CE →A ,CE →F ,CF →B ,CF →D ,C →A , D →E ,D →F }
②去掉F 中冗余的函数依赖。 判断AB →E 是否冗余。
设:G1={ BC →D ,BE →C ,CD →B ,CE →A ,CE →F ,CF →B ,CF →D ,C →A , D →E ,D →F }
得:)
(1
AB G +=AB
∵ E ∉)(1
A G + ∴A
B →E 不冗余
判断BC -D 是否冗余。
设:G2={ AB →E ,BE →C ,CD →B ,CE →A ,CE →F ,CF →B ,CF →D ,C →A , D →E ,D →F } 得:)
(2
BC G -=BCAEFD
∵ D ∈)
(2
BC G + ∴BC →D 冗余
判断BE →C 是否冗余。
设:G3={ AB →E ,CD →B,CE →A ,CE →F ,CF →B ,CF →D ,C →A ,D →E ,D →F }
得:)
(3
BE G +=BE
∵ C ∉)
(3
BE G + ∴BE →C 不冗余
判断CD -B 是否冗余。
设:G4={ AB →E,BE →C,CE →A ,CE →F ,CF →B ,CF →D ,C →A ,D →E ,D →F } 得:)(4CD G +
=CDAEFB ∵ B ∈)
(4
CD G +
∴CD →B 冗余
判断CE -A 是否冗余。
设:G5={ AB →E ,BE →C ,CE →F ,CF →B ,CF →D ,C →A ,D →E ,D →F }
得:)(5CE G +
=CEFBDA
∵ A ∈)(5CE G +
∴CE →A 冗余 判断CE →F 是否冗余。
设:G6={ AB →E ,BE →C ,CF →B ,CF →D ,C →A ,D →E ,D →F } 得:)(6CE G +
=CEA
∵ F ∉)
(6
CE G +
∴CE →F 不冗余
判断CF -B 是否冗余。
设:G7={ AB →E ,BE →C ,CE →F ,CF →D ,C →A ,D →E ,D →F }
得:)(7
CF G +
=CFDEF
∵ B ∉)
(7
CF G +
∴CF →B 不冗余
判断CF →D 是否冗余。
设:G8={ AB →E ,BE →C ,CE →F ,CF →B ,C →A ,D →E ,D →F }
得:)
(8
CF G +
=CFABE
∵ D ∉)(8
CF G + ∴CF →D 不冗余
判断C →A 是否冗余。
设:G9={ AB →E ,BE →C ,CE →F ,CF →B ,CF →D ,D →E ,D →F } 得:)
(9
C G +=C
∵ A ∉)
(9
C G + ∴C →A 不冗余
判断D -E 是否冗余。
设:G10={ AB →E ,BE →C ,CE →F ,CF →B ,CF →D ,C →A ,D →F } 得:)(10D G +
=DF
∵ E ∉)(10D G +
∴D →E 不冗余
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论