数据库第3章

第3章????????关系数据库标准语言
一、单选题
1. SQL语言是(D )标准语言。
 A. 层次数据库 B.网络数据库 C.关系数据库 D.非数据库
2. SQL语言是(C )的语言,易学习。
 A. 过程化 B.非过程化 C.格式化 D.导航化
3. 以下关于SQL语句的书写准则中不正确的是(A )。
 A. SQL语句对大小写敏感,关键字需要采用大写形式
 B. SQL语句可写成一行或多行,习惯上每个子句占用一行
 C. 关键字不能在行与行之间分开,并且很少采用缩写形式
 D. SQL语句的结束符为分号“;”
4. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE和DELETE等。其中最重要的也是使用最频繁的语句是( B)。
 A.SELECT B.INSERT C.UPDATE D.DELETE
5. 下列关于基本表的叙述中,错误的是(A )。
 A.在SQL中一个关系对应一个基本表 B. 表一个基本表对应一个存储文件
 C.一个基本表只能有一个索引,索引也存放在存储文件中
 D. 基本表是独立存储在数据库中的但一个存储文件中只能存放一个基本表
6. 一般来说,以下情况的列不适合建立索引(C )。
 A. 经常被查询的列 B. ORDER BY子句中使用的列。 C. 是外键或主键的列 D. 包含许多重复值的列
7. 定义基本表时,若要求某一列的值是唯一的,则应在定义时使用(C )保留字,但如果该列是主键,则可省写。
 A.NULL B.NOT NULL C.DISTINCT D.UNIQUE
8. 在SQL语句中,可以用来实现关系代数中π运算功能的是(B )语句。
 A. SELECT B.ALTER C.DELETE D.DROP
9. 在SELECT语句中,与关系代数中σ运算符对应的是(D )子句。
 A. SELECT B.FROM C.WHERE D.GROUP BY
10. 使用SQL语句进行查询操作时,若希望查询结果中不出现重复元组,应在SELECT子句中使用( B)保留字。
 A. UNIQUE B.ALL C.EXCEPT D.DISTINCT
11. 在以下SELECT 语句的子句中,放在最后的应该是(B )子句。
 A.GROUP BY B.HAVING C.WHERE D.ORDER BY
12. 与HAVING子句一起使用的子句是(C )。
 A.GROUP BY B.ORDER BY C.WHERE D.JOIN
13. FOREIGN KEY约束是(A )约束。
 A.实体完整性 B.参照完整性 C.用户自定义完整性 D.域完整性
14. 若要修改基本表中某一列的数据类型,需要使用ALTER语句中的(B )子句。
 A. DELETE B. DROP C. MODIFY D. ADD
15. 向基本表中增加一个新列后,原有元组在该列上的值是(D )。
 A.TRUE

 B.FALSE C.空值
D.不确定
16. 当FROM子句中出现多个基本表或视图时,系统将执行(C )操作。
 A. 并 B.等值连接 C.自然联结 D.广义笛卡儿积
17. 视图创建完成后,数据字典中存放的是( A)。
 A. 查询语句 B.查询结果 C.视图的定义 D.所引用的基本表的定义
18. 查询中需要统计元组的个数时,应使用(1.D 2.C)函数。
 A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名)
19. 查询中需要统计某列中值的个数应使用(C )函数。
 A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名)
20. 两个子查询的结果(D )时,可以执行并、交、差操作。
 A.结构完全一致 B.结构完全不一致 C.结构部分一致在 D.主码一致
21. 若用如下的SQL语句创建一个student表:
 CREATE TABLE student( NO CHAR(4) NOT NULL,
 NAME CHAR(8) NOT NULL,
 SEX CHAR(2),
 AGE SMALLINT );
可以插入到student表中的是(1.B 2.C 3.D )。
 A.('1031','曾华',男,23) B.('1031','曾华',NULL,NULL)
 C.(NULL,'曾华','男',23) D.('1031',NULL,'男',23)
第22题到第24题基于这样的3个表即学生表S、课程表C和学生选课表SC,它们的结构如下:
S(S#,SN,SEX,AGE,DEPT)
 C(C#,CN)
 SC(S#,C#,GRADE)
 其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩
22. 检索学生姓名及其所选修课程的课程号和成绩,正确的SELECT语句是( D)。
 A. SELECT S.SN,SC.C#,SC.GRADE
FROM S WHERE S.S#=SC.S#;
 B. SELECT S.SN,SC.C#,SC.GRADE
FROM SC WHERE S.S#=SC.GRADE;
 C. SELECT S.SN,SC.C#,SC.GRADE
FROM S,SC WHERE S.S#=SC.S#;
 D. SELECT S.SN,SC.C#,SC.GRADE FROM S,SC;
23. 检索选修课程“C2”的男生中的最高成绩,正确的SELECT语句是(C )。
 A. SELECT MAX(GRADE) FROM SC
WHERE CN='C2’ AND SEX='男';
 B. SELECT MAX(GRADE) FROM SC,C,S
WHERE CN=‘C2‘ AND SEX=’男‘;
 C. SELECT MAX(GRADE) FROM SC,S
WHERE SC.C#=C.C# AND CN=’C2‘ AND SEX=’男‘;
 D. SELECT MAX(GRADE) FROM SC,C,S
WHERE SC.C#=C.C# AND SC.S#=S.S# AND CN='C2' AND SEX='男';
24. 检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT语句是( )。
A. SELECT S#,SUM(GRADE) FROM SC
WHERE GRADE>=60
GROUP BY S#

 ORDER BY 2 DESC
HAVING COUNT(*)>=4
B. SELECT S#,SUM(GRADE)
FROM SC
WHERE GRADE>=60
GROUP BY S#
HAVING COUNT(*)>=4
ORDER BY 2 DESC
C. SELECT S#,S
UM(GRADE)
FROM SC
WHERE GRADE>=60
HAVING COUNT(*)>=4
GROUP BY S#
ORDER BY 2 DESC
D. SELECT S#,SUM(GRADE)
FROM SC
WHERE GRADE>=60
ORDER BY 2 DESC
GROUP BY S#
HAVING COUNT(*)>=4
二、多选题
1. SQL具有(BC )功能。
 A.关系规范化 B.数据定义 C.数据操纵 D.数据控制
2. SQL语言的使用方法有(AD )。
 A.交互式SQL B.解释式SQL C.嵌入式SQL D.多用户SQL
3. 下列命令中属于SQL语言中数据定义功能的语句有(ABD)。
 A. CREATE B. SELECT C. DROP D. ALTER
4. 在SQL语言中可以用来表示“10<x<15”的是(BCD )。
 A. x>10 AND x<15 B. x BETWEEN 10 AND 15
 C. x IN (11,12,13,14) D. x BETWEEN 11 AND 14
5. 使用聚合函数进行统计时,忽略空值的有(ABC )。
 A.SUM B.MAX C.COUNT D.AVG
6. 在SELECT语句的FROM子句中允许出现(BCD )。
 A. 列名 B.基本表名 C.视图名 D.表达式
7. 某查询语句中有“%田_ _”语句,在查询结果中有可能含有(CD )。
 A.张田 B.陈力田 C.田华 D.刘田耕
8. 在CREATE TABLE语句中实现完整性约束的子句有(ACD )。
 A.NOT NULL B.PRIMARY KEY C.FOREIGN KEY D.CHECK
9. 已知基本表S对应的关系模式为(S#,SNAME,AGE),在下列SELECT的子句中,正确的是(ABC )。
 A.SELECT S#,AVG(AGE) B.SELECT DISTINCT AGE
 C.SELECT SNAME 姓名 D.SELECT AGE>20
10. 对于下列语句TeacherNo INT NOT NULL UNIQUE,正确的描述是(ABD )。
 A. TeacherNo是主码 B. TeacherNo不能为空
 C. TeacherNo的值可以是“王大力” D. 每一个TeacherNo必须是惟一的

11.BD 12.BC 13.ABC 14.ACD 15.ABC 16.ABCD 17.AB

三、填空题
1. 在SQL语言中,创建基本表应使用( ) 语句,创建视图应使用() 语句,创建索引应使用( ) 语句。
2. 在SQL语言中,DELETE命令用来删除表中的记录, ( )命令用来删除表。UPDATE命令用来更新表的记录值, ( )语句用来更新表结构。
3. 使用INSERT语句插入记录时,有两种形式:一是使用VALUES子句,一次只能插入一行;另一种是使用( ) ,一次可插入多行。
4. 在SQL中定义视图时,需要用关键字( ) 连接

子查询来完成。
5. 设有如下关系模式R、S和T:
R(BH,XM,XB,DWH)
S(DWH,DWM)
T(BH,XM,XB,DWH)
(1) 实现R∪T的SQL语句是: 。
(2) 实现 σDWH=‘100’(R)的SQL语句是: 。
(3) 实现 ΠXM,XB(R)的SQL语句是: 。
(4) 实现
ΠXM,DWH( σXB='女'(R)) 的SQL语句是 :。
(5) 实现RS的SQL语句是: 。
(6) 实现 ΠXM,XB,DWM( σXB='男'(R∞ S))的SQL语句是: 。
6. 有如下关系表R:
 R(NO,NAME,SEX,AGE,CLASS) 主码是NO
 其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。写出实现下列功能的SQL语句。
(1) 插入一个记录(25,"李明",21,NULL,"95031"); 。
(2) 将学号为10的学生姓名改为"王华"; 。
(3) 删除姓"王"的学生记录; 。
(4) 在表中增加一列DEPT,类型为CHAR(10)。
(5) 将全体学生的年龄增加一岁。

三、填空题
1. 集合 2.关系名(属性名1,属性名2,…,属性名n) 3.属性名 4.①框架 ②记录格式 5.①笛卡儿积 ②并 ③交 ④差 6.①并 ②差 ③笛卡儿积 ④投影 ⑤选择 7.①选择 ②投影 ③连接 8.①关系代数 ②关系演算 9.①属性个数 ②相对应的属性值 10.交 11.①系编号 ②无 ③学号 ④系编号

四、判断题
1.原则上讲,两个不同的对象所具有的属性值不能相同,但在给定的关系中的元组可以是完全相同的。(错 )
2.在关系模型中每个元组的分量不能是结构、集合、数组等复合类型。(对 )
3.学生李明同时修财经和电子商务的双学位、有如下关系:
StudentNo StudentName Age Dept
20001101 李明 18财经系
20001101 李明 18电子商务系
???在该关系中,学号是键码。(错 )
4.在R和S关系之间进行并、交、差运算,R和S的模式必须具有:相同的属性集,属性顺序相同。(对 )
5.对于联系与反向联系,常用的方法是将其独立出来作为连接关系。(对 )
6.数据逻辑中的查询是一个或多个规则的聚集。如果规则的头部有多个关系,则只有一个关系是查询结果,其他关系在查询过程中起辅助作用。(对 )
五、简答题
1.举例说明关系参照完整性的含义。
2.叙述等值连接与自然连接的区别和联系。
3.设有如图所示的关系R,S,计算
(1) R1=R-S
(2) R2=R∪S
(3) R3=R∩S
(4) R4= 屯A,B(σB=b1 (R))
????R ???????????????????? ?S
A B C A B C
a1 a1 a2 a1 a2 b2
b1 b2 b2 b2 b2 c1
c1 c2 c1
4.设有如图所示的三个关系S、C和SC。将下列关系代数表达式用汉语表示出来,并求其结果。
S
学号 姓名 年龄 性别 籍贯
98601 王晓燕 20 女 北京
98602 李波 23 男 上海
98603 陈志坚 21 男 长沙
98604 张兵 20 男 上海
98605 张兵 22 女 武汉
??C??
课程号 课程名 教师姓

名 办公室
C601 高等数学 周振兴 416
C602 数据结构 刘建平 415
C603 操作系统 刘建平 415
C604 编译原理 王志伟 415

SC
学号 课程号 成绩
98601
98601
98601
98601
98602
98603
98603
98603
98604
98604
98605
98605
C601
C602
C603
C604
C601
C601
C602
C604
C601
C604
C601
C603
90
90
85
87
9
0
75
70
56
90
85
95
80

5.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:
S
S# SNAME AGE SEX
1 李强 23 男
2 刘丽 22 女
5 张友 22 男



C??
C# CNAME TEACHER
k1 C语言 王华
k5 数据库原理 程军
k8 编译原理 程军



SC
S# C# GRADE
1 k1 83
2 k1 85
5 k1 92
2 k5 90
5 k5 84
5 k8 80
? (1).检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
??(2).检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
??(3).检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
??(4).检索”李强”同学不学课程的课程号(C#)。
??(5).检索至少选修两门课程的课程号(S#)。
??(6).检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
??(7).检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
??(8).检索选修课程号为k1和k5的学生学号(S#)。
??(9).检索选修全部课程的学生姓名(SNAME)。
??(10).检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
??(11).检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
第二部分 答案:
五、简答题
1.答:假设有如下所示的两个关系表,在成绩表中,学号是关键字,课程号是外关键字;在课程表中课程号是关键字.根据关系参照完整性的规则,成绩表中课程号的值或者为空或者在课程表中的课程号中能够找到.
?????????????????????????????????成绩表 ??????????????????????????????????课程表
学号
姓名
课程号
成绩
101
102
103
刘军
王丽
章华
K5
K8
K9
80
75
92

课程号
课程名
K5
K8
K9
高等数学
C语言
计算机网络

满足这个条件是必须的,如果不满足,假设成绩表中课程号的值K20在课程表中课程号的值中找不到,则该课程号显然是不正确的,这样会造成数据的不一致性.
2.答:等值连接表示为R S,自然连接表示为R S;自然连接是除去重复属性的等值连接.两者之间的区别和联系如下:
自然连接一定是等值连接,但等值连接不一定是自然连接.
等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性.
等值连接不把重复的属性除去;而自然连接要把重复的属性除去.
3.答:本题各小题的结果如图所示:
??????R1 ?????????????????????????R2????????????????????????????????R3?????????????????????????R4
A
B
C
a1
b1
c1


A
B
C
a1
b1
c1
a1
b2
c2
a2
b2
c1
a1
b3
c2

A
B
C
a1
b2
c2
a2
b2
c1

A
B
a1
b1
a2
b2

4.答:(1).检索籍贯为上海的学生的姓名、学号和选修的课程号,其结果为下图的R1.
(2).检索选修操作系统的学生姓名、课程号和成绩,其结果为下图的R2.
??????????????????????????????????????????????R1???????????????????????????????????R2???
姓名
学号
课程号
李波
张兵
张兵
98602
98604
98604
C601
C601
C604

姓名
课程号
成绩
王晓燕
张兵
C603
C603
85
80

6.答:本题各个查询语句对应的关系代数表达式表示如下:
????




相关主题
相关文档
最新文档