数据库理论练习题一、单项选择1.现有学生关系Student,属性包括学号(Sno),姓名(Sname),所在系(Sdept),系主任姓名(Mname),课程名(Cname)和成绩(Grade)。
这些属性之间存在如下联系:一个学号只对应一个学生;一个学生只对应一个系;一个系只对应一个系主任;一个学生的一门课只对应一个成绩;学生名可以重复;系名不重复;课程名不重复。
则以下不正确的函数依赖是(C)。
A. Sno→SdeptB. Sno→MnameC. Sname→SdeptD. Sno Cname→Grade2. 下面关于函数依赖的描述,错误的是(D )。
A. 在函数依赖A→B中,A称为决定因素B. 在关系R中,属性B依赖于属性A,则说明当属性A的值确定之后,属性B的值也就随之确定C. 函数依赖具有传递性D. 在关系R中,如果属性A依赖于属性B,这种依赖正式记作:A→B)。
A. F1→F2B. F1 F2→F5C. F3 F4→F5D. F2 F3→F44. 关系R包含属性{A1,A2,A3,A4,A5},其中{A1,A2}为键码(key),则下面的说法正确的是()。
A. {A1}或者{A2}有可能单独成为R的键码B. {A1,A2,A3}必然也是R的键码C. R中绝不可能出现两个在A1、A2上取值完全相同的元组D. R的所有元组中,A1或者A2的值都是不能重复的5. 下面关于键码的说法,错误的是()。
A. 一个关系的键码是惟一的B. 一个关系的键码指定值之后,对应的元组也就确定了C. 关系R的键码的任何真子集都不可能是关系R的键码D. 在保存学生学籍信息处的关系,学生姓名对应的属性不适合单独作为键码)。
A. {F1}B. {F3}C. {F1,F2}D. {F4}7. 已知关系R包含属性{A,B,C,D},R的键码为{A,B},则下面的选项哪一个是R的超键码()。
A. {A}B. {C,D}C. {A,B,C,D}D. {B,C,D}8. 已知关系R包含属性A1,A2,…,An,R只有键码为{A1,A2},则R的超键码有多少个()。
A. 1B. nC. n-1D. 2^(n-2)9.下面哪一个依赖是平凡依赖。
()A. Sno Cname Grade→Cname GradeB. Sno Cname →Cname GradeC. Sno Cname →Sname GradeD. 以上答案都不是10.已知关系R具有属性A,B,C,D,E,F。
假设该关系有如下函数依赖:A→C,B C→D E,D→A,F→B。
则{A,B}的封闭集是()。
A. {A,B,C,D,E,F}B. {A,B,C,D,E}C. {A,B,C}D. {A,B}11. 已知关系R具有属性A,B,C,D,E,F。
假设该关系有如下函数依赖A B→C,B C→A D,D→E,C F→B。
则{A,B}的封闭集是()。
A. {A,B,C,D,E,F}B. {A,B,C,D,E}C. {A,B,C}D. {A,B}12. 现在只知道关系包含的属性和关系的键码,则一定是第二范式的关系是()。
A. R1{A1,A2,A3} KEY{A1,A2}B. R2{B1,B2,B3} KEY{B1}C. R3{C1,C2,C3} KEY{C2,C3}D. R4{D1,D2,D3} KEY{D1,D3}13. 在关系模式中,若每个属性都是不可再分的最小数据单位,则R属于()。
A. 1NFB. 2NFC. 3NFD. BCNF14. 如果一个关系R中的所有非主属性都完全函数依赖于键码,则称关系R属于()。
A. 2NFB. 3NFC. 4NFD. BCNF15. 一个关系模式R{x1,x2,x3,x4},假定该关系存在着如下函数依赖:x1,x2→x3,x2→x4,则该关系属于()。
A. 1NFB. 2NFC. 3NFD. 4NF16. 一个关系模式R{x1,x2,x3,x4},假定该关系存在着如下函数依赖:x1→x2,x1→x3,x3→x4,则该关系属于()。
A. 2NFB. 3NFC. 4NFD. BCNF17.若关系模式R(U,F)属于3NF,则()。
A. 一定属于BCNFB. 消除了插入的删除异常C. 仍存在一定的插入和删除异常D. 属于BCNF且消除了插入和删除异常二、多项选择1. 现有学生关系Student,属性包括学号(Sno),姓名(Sname),所在系(Sdept),系主任姓名(Mname),课程名(Cname)和成绩(Grade)。
这些属性之间存在如下联系:一个学号只对应一个学生;一个学生只对应一个系;一个系只对应一个系主任;一个学生的一门课只对应一个成绩;学生名可以重复;系名不重复;课程名不可重复。
则以下不正确的函数依赖是()。
A. Sno→SdeptB. Sno→MnameC. Sname→SdeptD. Sno Cname→Grade2.已知关系R包含属性{A,B,C,D},R的键码为{A,B},则下面的选项哪一个是R的超键码()。
A. {A,B}B. {C,D}C. {A,B,C,D}D. {B,C,D}3.已知函数依赖A1 A2→B1 B2,则下列依赖一定正确的是()。
A. A1 A2→B1B. A1 A2→B2C. A1→B1 B2D. A2→B1 B24.已知关系Movie中有函数依赖title year→length color,则下面正确的分解结果有()。
A. title→length colorB. year→length colorC. title year→len gthD. title year→color5.下面哪几外依赖是平凡依赖。
()A. Sno Cname Grade→Cname GradeB. Sno Cname→Cname GradeC. Sno Cname→Sname GradeD. Sno Sname→Sname6.已知关系R具有属性A,B,C,D,E,F。
假设该关系有如下函数依赖A B→C,B C→A D,D→E,C F→B。
则下列领带蕴含于给定的这些函数依赖的有()。
A. A B→CB. A B→DC. A B→ED. A B→F第二范式第三范式范式8.关系模式R(Sname,Tname,Cname,Grade),四个属性分别为学生姓名、教师姓名、课程名和成绩。
每个学生可选几门课。
每个教师只教一门课,但一门课可有几个教师开设。
当某个学生选定某门课后,其上课教师就固定了。
通过上面的描述,可以指定这个关系的键码为(Sname,Cname),那么,这个关系属于()。
A. 第二范式B. 第三范式C. BC范式D. 第四范式9.一个关系模式R{ x1,x2,x3,x4},假定该关系存在着如下函数依赖:x1→x2,x1→x3,x3→x4,则该关系属于()。
A. 1NFB. 2NFC. 3NFD. 4NF10.关系模式规范化中常规流程正确的有()。
A. 消除非主属性对键码的部分依赖在消除非主属性对键码的传递依赖之前B. 消除非主属性对键码的传递依赖在消除非主属性对键码的部分依赖之前C. 消除非主属性对键码的传递依赖在消除主属性对键码的部分和传递依赖前D. 消除主属性对键码的部分和传递依赖在消除非主属性对键码的传递依赖前三、判断题1. 函数依赖具有传递性。
(√)2. R的健码的真子集有可能函数决定R的所有其他属性。
(√)3. 键码都是超键码。
(√)4. 超键码都是键码。
(×)5.对于函数依赖A1A2…An→B1B2…Bm,如果B中至少有一个属性不在A中,则称该依赖为完全非平凡的。
(×)6.函数依赖A1A2→B1B2等价于A1A2→B1。
(×)7.如果一个关系没有一个属性能由所有其他属性函数决定,则该关系根本不存在非平凡的函数依赖。
(√)8.当存在非主属性对键码的完全依赖时,就会产生数据冗余和更新异常。
(×)9.在零件信息这个关系(part)中包含有3个属性;零件编号(pID),零件名称(pName)和零件价格(pPrice)。
其中任何零件不重名。
已知的函数依赖有pID→pName,pName→pPrice,则pPrice对pID传递依赖。
(×)10. 如果一个关系模式R的所有属性都是不可分的基本数据项,则这个关系属于第一范式。
(√)11.属于第二范式的关系模式必然属于第一范式;属于第三范式的关系模式必然属于第二范式。
(√)12.如果一个关系数据库中的所有关系模式都满足第三范式,那么在函数依赖范畴内,它已实现了模式的彻底分解,达到了最高的规范化程度,消除了更新异常和信息冗余。
(×)13.如果A→→B,则A→B。
(×)四、问答题1、假设关系模式R(A,B,C,D),函数依赖为A->B, B->C ,B->D。
(1)求蕴含于给定函数依赖的所有非平凡函数依赖;(2)示R的所有键码;(3)求R的所有超键码;(不包括键码).参考解答案:1)先求各种属性组合的封闭集,再从中找出新的函数依赖。
A+=ABCD B+=BCD C+=C D+=DA-> C,A->D (2)A B+=ABCD A C+=ABCD A D+=ABCD BC+=BCD BD+=BCD CD+=CDAB->C,AB->D AC->B,AC->D AD->B,AD->C BC->D BD->C (8)A B C+=ABCD A B D+=ABCD BCD+=BCDABC->D ABD->C (2)A B C D+=ABCD蕴含于给定函数依赖的非平凡函数依赖共12个。
2)A为键码。
3)AB,AC,AD,ABC,ABD,ABCD为超键码。
2设有关系模式R(A,B,C,D,E),R的函数依赖集F={AB→D,B→CD,DE→B,C→D,D→A}(1)、求R 的所有候选键;(2)、计算(AB)+,(AC)+,(DE)+(3)、求出F 的最小函数依赖集3、已知有函数依赖集F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG} 属性集U={A ,B ,C ,D ,E ,G} ,X=BD ,求X+4、求函数依赖及F的最小函数依赖集,其中:F= {AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG}。