数据库复习题 下载本文

内容发布更新时间 : 2024/5/6 11:02:50星期一 下面是文章的全部内容请认真阅读。

数据库原理习题集

18. 在以下SELECT 语句的子句中,放在最后的应该是( )子句。 A.GROUP BY B.HAVING C.WHERE D.ORDER BY 19. 与HAVING子句一起使用的子句是( )。

A.GROUP BY B.ORDER BY C.WHERE D.JOIN 20. FOREIGN KEY约束是( )约束。

A.实体完整性 B.参照完整性 C.用户自定义完整性 D.域完整性 21. 若要修改基本表中某一列的数据类型,需要使用ALTER语句中的( )子句。 A. DELETE B. DROP C. MODIFY D. ADD 22. 向基本表中增加一个新列后,原有元组在该列上的值是( )。

A.TRUE B.FALSE C.空值 D.不确定 23. 当FROM子句中出现多个基本表或视图时,系统将执行( )操作。

A. 并 B.等值连接 C.自然联结 D.广义笛卡儿积 24. 视图创建完成后,数据字典中存放的是( )。

A. 查询语句 B.查询结果 C.视图的定义 D.所引用的基本表的定义 25. 查询中需要统计元组的个数时,应使用( )函数。

A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名) 26. 查询中需要统计某列中值的个数应使用( )函数。

A.SUM(列名) B.COUNT(列名) C.COUNT(*) D.AVG(列名) 27.下列的SQL语句中,( )不是数据定义语句。

A. CREATE TABLE B. DROP VIEW C. CREATE VIEWD. GRANT 28. 两个子查询的结果( )时,可以执行并、交、差操作。

A.结构完全一致 B.结构完全不一致 C.结构部分一致在 D.主码一致 29.在SQL语言中,子查询是

A. 返回单表中数据子集的查询语言 B. 选取多表中字段子集的查询语句

C. 选取单表中字段子集的查询语句 D. 嵌入到另一个查询语句之中的查询语句 30.SQL语言中,下列涉及空值的操作,不正确的是( )

A. AGE IS NULL B. AGE IS NOT NULL C. AGE=NULL D. NOT(AGE IS NULL)

31.设有一个关系:DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成 WHERE DNAME LIKE( )

A. “_ _W _%”B. “_ W _ %”C. “_ W _ _”D. “ _ %W _ _” 32.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能( )

A. 数据查询B. 数据操纵C. 数据定义D. 数据控制 第33题到第38题基于这样的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为成绩

33.要查询选修“Computer”课的男生姓名,将涉及到关系( )

A. S B. S,SC C. C,SC D. S,C,SC 34.要查询选修“数据库”课的全体男生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是( )

A. S.S# = SC.S# and C.C# = SC.C# and SEX=‘男’ and CNAME=‘数据库’

B. S.S# = SC.S# and C.C# = SC.C# and SEX in ‘男’and CNAME in ‘数据库’ C. SEX ‘男’and CNAME ‘数据库’D. S.SEX=‘男’and CNAME=‘数据库’

12

数据库原理习题集

35. 检索学生姓名及其所选修课程的课程号和成绩,正确的SELECT语句是( )。 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;

36. 检索选修课程“C2”的男生中的最高成绩,正确的SELECT语句是( )。 A.SELECT MAX(GRADE) FROM SC WHERE C# ='C2’ AND SEX='男';

B.SELECT MAX(GRADE) FROM SC,C,S WHERE C#=‘C2‘ AND SEX=’男‘;

C.SELECT MAX(GRADE) FROM SC,S WHERE SC.C#=C.C# AND C#=’C2‘ AND SEX=’男‘; D.SELECT MAX(GRADE) FROM SC,C,S WHERE SC.C#=C.C# AND SC.S#=S.S# AND C#='C2' AND SEX='男';

37. 检索选修课程“C2”的学生中成绩最高的学生学号,正确的SELECT语句是( )。

A.SELECT S# FROM SC WHERE C# ='C2’ AND GRADE>=(SELECT GRADE FROM SC WHERE C# ='C2’);

B.SELECT S# FROM SC WHERE C# ='C2’ AND GRADE IN (SELECT GRADE FROM SC WHERE C# ='C2’);

C. SELECT S# FROM SC WHERE C# ='C2’ AND GRADE NOT IN(SELECT GRADE FROM SC WHERE C# ='C2’) ;

D. SELECT S# FROM SC WHERE C# ='C2’ AND GRADE >=ALL( SELECT GRADE FROM SC WHERE C# ='C2’) ;

38. 检索选修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#,SUM(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

39.下面列出的关于视图的条目中,不正确的是( )

A. 视图是外模式 B. 使用视图可以加快查询语句的执行速度 C. 视图是虚表 D. 使用视图可以简化查询语句的编写 40.在视图上不能完成的操作是

A. 更新视图B. 查询 C. 在视图上定义新的表D. 在视图上定义新的视图

41.在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建( )

A. 另一个表 B. 游标C. 视图D. 索引 42.在SQL语言中的视图VIEW是数据库的( )

A. 外模式 B. 模式 C. 内模式 D. 存储模式 43. 若用如下的SQL语句创建一个student表( )

CREATE TABLE student( NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR(2), AGE SMALLINT );可以插入到student表中的是( )。

A.('2004010','王华',男,23) B.('2004010,'王华',NULL,NULL) C.(NULL,'王华','男',23) D.('2004010,NULL,'男',23) 44.若要在基本表S中增加一列CN(课程名),可用( )

13

数据库原理习题集

A. ADD TABLE S(CN CHAR(8))B. ADD TABLE S ALTER(CN CHAR(8)) C. ALTER TABLE S ADD CN CHAR(8)D. ALTER S (ADD CN CHAR(8))

45.学生关系模式 S( S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、

性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是( ) A. DELETE Age from S B. ALTER TABLE S DROP Age C. UPDATE S Age D. ALTER TABLE S ‘Age’

46.设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要把“张二的化学成绩80分”插入S中,则可用( )

A. ADD INTO S VALUES('张二’,‘化学’,‘80’) B. INSERT INTO S VALUES(‘张二’,‘化学’,‘80’) C. ADD INTO S VALUES(‘张二’,‘化学’,80) D. INSERT INTO S VALUES(‘张二’,‘化学’,80)

47.设关系数据库中一个表S的结构为:S(SN,CN,grade),其中SN为学生名,CN为课

程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要更正王二的化学成绩为85分,则可用( )

A. UPDATE S SET grade=85 WHERE SN=‘王二’AND CN=‘化学’ B. UPDATE S SET grade=‘85’WHERE SN=‘王二’AND CN=‘化学’ C. UPDATE grade=85 WHERE SN=‘王二’AND CN=‘化学’

D. UPDATE grade=‘85’WHERE SN=‘王二’AND CN=‘化学’ 48.如下的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作中有可能不能执行的是( )

A. 从职工表中删除行(‘025’,‘王芳’,‘03’,720) B. 将职工号为‘004’的部门号改为‘03’

C. 将行(‘02’,‘财务处’)插入到部门表中 ,部门表中无此行。 D. 将职工号为‘001’的工资改为700

49.用OPEN语句打开游标后,游标指针指向( )。 A. 基本表的第一行 B.基本表的第一行之前 C.查询结果的第一行 D.查询结果的第一行之前 50.SQL语言中,用于实现安全性控制的语句是( ) A. COMMITB. B.GRANT C. ROLLBACK D. SAFE 51.有关嵌入式SQL的叙述,不正确的是( ) A.宿主语言是指C 一类高级程序设计语言 B.宿主语言是指SQL语言

C.在程序中要区分SQL语句和宿主语言语句

D.SQL有交互式和嵌入式两种使用方式

52.卷游标的推进语句”exec sql fetch relative -3”表示( )

A.把游标移向查询结果的第3行 B. 把游标移向查询结果的倒数第3行 C. 把游标从当前位置推进3行 D. 把游标从当前位置返回3行 三.填空题

1.在SQL中,关系模式称为_____,子模式称为_____,元组称为_____,属性称为____。

2.在SQL语言中,DELETE命令用来删除表中的记录,_____命令用来删除表。UPDATE命令用来更新表的记录值, ______语句用来更新表结构。

3.使用INSERT语句插入记录时,有两种形式:一是使用VALUES子句,一次只能插入一行;

另一种是使用_____ ,一次可插入多行。

4.在SQL中,WHERE子句的条件表达式中,字符串匹配的操作符是 ;与0个或多个

14

数据库原理习题集

字符匹配的通配符是 ;与单个字符匹配的通配符是 。如果用户要查询的字符串本身就含有通配符 ,则要用______短语对通配符进行转义。

5. 在SQL中定义视图时,需要用关键字_____ 连接子查询来完成。在数据库中,只存放视

图的______,不存放视图的______。

6.若一个视图是从单个基本表中导出的,并且只是去掉了基本表的某些行和某些列,但保

留了码,我们称这类视图为 。

7. 操作“元组>all(集合)”的语义是_______,与操作符“NOT IN”等价的操作符是_____。 8.设有关系模式S(A,B,C,D),与关系代数表达式σ3<′4′(S)等价的SQL语句是

__________。

9.使用SQL语言的SELECT语句进行分组查询时,如果希望去掉不满足条件的分组,应当使

用______子句。

10.子查询的条件依赖于父查询,这类查询称之为 。

11.如果外连接符出现在连接条件的右边称之为 ,出现在连接条件的左边称之

为 。

12.DBA利用 语句将对某类数据的操作权限赋于用户,用 语句收回用户对某类

数据的操作权限。

13.在关系数据库中,主键值不能为空,也不允许出现重复,这是SQL中的__________完整

性约束规则。

14.写出实现“将查询SC表的权限授予用户U1,并允许该用户将此权限授予其他用户”这

一功能的Grant语句:__________。

15.嵌入式SQL的预处理方式,是指预处理程序先对源程序进行扫描,识别出_____,并处

理成宿主语言的_____形式。

16.主语言向SQL语句提供参数是通过 ,在SQL语句中应用时,必须在主变量前

加 。

17.使用游标的步骤为: 、 、 和 。

18.在不使用游标的SQL语句中,为使查询结果是单条记录的方法有_______和_______。 三.简答题

1.使叙SQL语言支持的三级模式结构。 2.使比较基本表与视图的数据操作异同。

3.在嵌入式SQL中,哪些情况下的DML语句不必涉及到游标操作。 四.综合题

1.设有如下关系模式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)写出实现R×S的SQL语句。

(6)写出实现 ΠXM,XB,DWM( σXB='男'(R∞ S))的SQL语句 。 2.图书管理数据库有以下关系模式

图书(书号,类别,出版社,作者,书名,定价); 读者(编号,姓名,单位,性别,电话); 借阅(书号,读者编号,借阅日期)

(1) 使用SQL DDL 语句定义上述3个表,并说明主键,外键。 (2) 创建视图view1仅含电子工业出版社的图书信息。

(3) 创建包含图书书名、类别、作者、读者姓名、借阅日期的view2。

15