1.【经典01–10】
定义学生选修课程的关系模式如下: SC(S#,Sn,class,C#,Cn,G,Cr,T#)(其属性分别为学号、姓名、班级,课程号、课程名、成绩、学分、授课教师号),假定学生和课程都会有重名,并且每班的每门课只有一个老师教授,则下面不是非主属性对主属性部分依赖的是______。
A. C#→Cn
B. S#→Sn
C. C#→Cr
D. (S#,C#)→G
正确答案 D
知识点:数据库的逻辑设计。
函数依赖就是一个属性集依赖于别的属性集,或一个属性集决定别的属性集。属性集Y依赖于属性集X记为 X->Y。
学号 S# 是主属性,学生姓名 Sn 会有重复值,为非主属性,学生姓名部分依赖于学号,即S#→Sn。
课程号 C# 是主属性,课程名 Cn 和学分 Cr 会有重复值,为非主属性,课程名和学分部分依赖于课程号,即 C#→Cn,C#→Cr。
2.【经典02–7】
定义学生关系模式如下: Student(S#,Sn,Ssex,class,monitorS#)(其属性分别为学号、学生名、性别、班级和班长学号),则该关系中对主属性(S#)存在传递依赖的非主属性是______。
A. Ssex
B. monitorS#
C. class
D. Sn
正确答案 B
知识点:数据库的逻辑设计。
如果某一属性依赖于其他非主键属性,而其他非主键属性又依赖于主键,那么这个属性就是间接依赖于主键,这被称作传递依赖于主属性。
3.【经典02–9】
定义课程的关系模式如下: Course(C#,Cn,Cr,prC1#,prC2#)(其属性分别为课程号、课程名、学分、先修课程号1和先修课程号2),并且不同课程可以同名,则该关系最高是______。
A. 1NF
B. BCNF
C. 2NF
D. 3NF
正确答案 B
知识点:范式。
对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式模式(1NF)。
如果某个关系模式 R 为第一范式,并且 R 中每一个非主属性完全函数依赖于 R 的某个候选键,则称其为第二范式模式(2NF)。
如果关系模式 R 是第二范式,并且每个非主属性都不传递依赖于R的候选键,则称 R 为第三范式模式(3NF)。
比 3NF 更高级的范式是 BCNF,它要求所有属性都不传递依赖于关系的任何候选键。
由题意可知,C#->Cn,C#->Cr,C#-> prC1#,C#-> prC2#,符合 BCNF 的定义。
4.【经典05–4】
定义学生选修课程的关系模式如下: SC(S#,Sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分) 则关系最高是______。
A. 3NF
B. BCNF
C. 1NF
D. 2NF
正确答案 C
本题的考查知识点是逻辑模式规范化。
每个属性都已不能再分为简单项,则它属于第一范式模式。
第二范式首先是第一范式,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的属性必须完全依赖于主键,而不能只依赖于主键的一部分。
第三范式首先是第二范式,另外非主键属性必须直接依赖于主键,不能存在传递依赖。
主键是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。一个学员不可能只选修一门课程,需要学号和课程号两个属性才能唯一标识一条记录,所以主键是(S#,C#),显然成绩完全依赖于(S#,C#),而姓名只依赖于S#,不满足第二范式,最高范式只能是第一范式。
所以本题选项 1NF 正确
5.【经典05–6】
定义学生选修课程的关系模式如下: SC(S#,Sn,C#,Cn,T#,G,Cr)(其属性分别为学号、姓名、课程号、课程名、授课老师号、成绩、学分) 并且一门课程可由多个教师教授,则该关系的键是______。
A. S#,T#
B. C#
C. S#,C#
D. S#
正确答案 C
本题考查知识点是关系模式。
主键是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。一个学员不可能只选修一门课程,需要学号和课程号两个属性才能唯一标识一条记录,所以主键是(S#,C#)。
所以本题选项 S#,C# 正确
6.【经典05–7】
定义学生选修课程的关系模式如下: SC(S#,Sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分) 该关系可进一步归范化为______。
A. C(C#,Cn,Cr),SC(S#,Sn,C#,G)
B. S(S#,Sn,C#,Cn,Cr),SC(S#,C#,G)
C. S(S#,Sn),C(C#,Cn),SC(S#,C#,Cr,G)
D. S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G)
正确答案 D
知识点:关系模式。
关系数据库设计的关键是关系数据库模式的设计,即确定构造几个关系模式及每一模式各自包含的属性,将相互关联的模式组成合适的关系模型。设计不良的关系模式会有数据冗余、插入异常、删除异常及修改异常等问题。解决这一问题的方法是对关系通过分解进行规范化,其中进行分解的依据是关系属性之间的函数依赖。
主键是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。一个学员不可能只选修一门课程,需要学号和课程号两个属性才能唯一标识一条记录,所以主键是(S#,C#)。姓名只依赖于主属性S#,课程名只依赖于主属性 C#,学分只依赖于主属性 C#。成绩依赖于学号和课程号(S#,C#)。所以我们把上述模式进行如下分解,就可以消除对主属性的部分依赖。
S(S#,Sn)
C(C#,Cn,Cr)
SC(S#,C#,G)
所以本题选项 S(S#,Sn),C(C#,Cn,Cr),SC(S#,C#,G) 正确
7.【经典06–1】
如果定义班级关系如下: 班级(班级号,总人数,所属学院,班级学生) 则使它不满足第一范式的属性是______。
A. 班级号
B. 班级学生
C. 总人数
D. 所属学院
正确答案 B
知识点:逻辑模式规范化
第一范式:数据表中的字段都是单一属性,不可再分。在任何一个关系数据库中,第一范式是对关系模式的基本要求,不满足第一范式的数据库就不是关系数据库。
所以本题选项 班级学生 正确
8.【经典06–3】
定义学生的关系模式如下: S (S#,Sn,Sex,Age,D#,DA)(其属性分别为学号、姓名、性别、年龄、所属学院、院长) 该关系的范式最高是______。
A. 3NF
B. 2NF
C. BCNF
D. 1NF
正确答案 B
知识点:逻辑模式规范化。
每个属性都已不能再分为简单项,则它属于第一范式模式。
第二范式首先是第一范式,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的属性必须完全依赖于主键,而不能只依赖于主键的一部分。
第三范式首先是第二范式,另外非主键属性必须直接依赖于主键,不能存在传递依赖。
主键是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。学号可以唯一标识一条记录,所以主键是S#,姓名、性别、年龄、所属学院直接依赖于S#。院长依赖于所属学院,所属学院依赖于主键,即院长传递依赖于主键,所以不满足第三范式,最高只能是第二范式。
所以本题选项 2NF 正确
9.【经典06–6】
定义学生选修课程的关系模式如下: SC(S#,Sn,C#,Cn,G,Cr)(其属性分别为学号、姓名、课程号、课程名、成绩、学分) 则对主属性部分依赖的是______。
A. S#→Sn
B. (S#,C#)→G
C. (S#,C#)→C#
D. (S#,C#)→S#
正确答案 A
知识点:关系模式。
主键是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。一个学员不可能只选修一门课程,需要学号和课程号两个属性才能唯一标识一条记录,所以主键是(S#,C#)。姓名Sn只依赖于S#,不依赖于课程号C#,所以对主属性部分依赖。
所以本题选项 S#→Sn 正确
10.【经典09–8】
定义学生选修课程的关系模式如下: SC(S#,Sn,C#,Cn,G,Cr,T#)(其属性分别为学号、姓名、课程号、课程名、成绩、学分、授课教师号),假定学生和课程都会有重名,则该关系的主键是______
A. (S#,Cn)
B. (Sn,C#)
C. (S#,C#)
D. (Sn,Cn)
正确答案 C
本题的考查知识点是关系模式。
主键是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。一个学生可以学习多门课程,只有学号和课程号作为主键才可以唯一性标识该关系。
11.【经典10–2】
定义学生关系模式如下:Student(S#,Sn,Ssex,class,monitorS#)(其属性分别为学号、学生名、性别、班级和班长学号),则该关系的主键是______
A. S#
B. (S#,monitorS#)
C. monitorS#
D. (S#,class)
正确答案 A
本题的考查知识点是关系模式。
主键是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。学号作为主键才可以唯一性标识该关系
12.【经典10–3】
定义课程的关系模式如下: Course(C#,Cn,Cr,prC1#,prC2#)(其属性分别为课程号、课程名、学分、先修课程号1和先修课程号 2),则该关系的主键是______。
A. C#
B. prC2#
C. prC1#
D. (C#,prC1#,prC2#)
正确答案 A
本题的考查知识点是关系模式。
主键是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。只有课程号作为主键才可以唯一性标识该关系。
13.【经典10–6】
定义学生关系模式如下: Student(S#,Sn,Ssex,class,monitorS#)(其属性分别为学号、学生名、性别、班级和班长学号),则该关系最高是______。
A. 2NF
B. 1NF
C. 3NF
D. BCNF
正确答案 A
本题的考查知识点是逻辑模式规范化。
每个属性都已不能再分为简单项,则它属于第一范式模式。
第二范式首先是第一范式,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的属性必须完全依赖于主键,而不能只依赖于主键的一部分。
第三范式首先是第二范式,另外非主键属性必须直接依赖于主键,不能存在传递依赖。
monitorS#依赖于class,而不直接依赖于S#,所以选择2NF
14.【经典10–10】
定义学生选修课程的关系模式如下: SC(S#,Sn,C#,Cn,G,Cr,T#)(其属性分别为学号、姓名、课程号、课程名、成绩、学分、授课教师号),假定学生和课程都会有重名,则关系最高是______。
A. 2NF
B. 3NF
C. 1NF
D. BCNF
正确答案 C
本题的考查知识点是逻辑模式规范化。
每个属性都已不能再分为简单项,则它属于第一范式模式。
第二范式首先是第一范式,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的属性必须完全依赖于主键,而不能只依赖于主键的一部分。
第三范式首先是第二范式,另外非主键属性必须直接依赖于主键,不能存在传递依赖。
主键是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。一个学员不可能只选修一门课程,需要学号和课程号两个属性才能唯一标识一条记录,所以主键是(S#,C#),显然成绩完全依赖于(S#,C#),而姓名只依赖于S#,不满足第二范式,最高范式只能是第一范式。