文档库 最新最全的文档下载
当前位置:文档库 › 2016sql数据库期末考试题及答案

2016sql数据库期末考试题及答案

一、单选题(共 10 道试题,共 50 分。)V 1. SQL Server中,保存着每个数据库对象的信息的系统表是( C)。

A. sysdatabases

B. Syscolumns

C. Sysobjects

D. Syslogs

2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D )。

A. Update

B. Delete

C. Insert

D. Alter

3. 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于(A )。

A. age>=30 and age<=40

B. age>=30 or age<=40

C. age>30 and age<40

D. age>30 or age<40

4. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D )约束。

A. PDRIMARY KEY

B. FOREIGN KEY

C. unique

D. check

5. 记录数据库事务操作信息的文件是(D )。

A. 数据文件

B. 索引文件

C. 辅助数据文件

D. 日志文件

6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用( C)命令。

A. SELECT * FROM CP WHERE 产品名称 LIKE ‘冰箱’

B. SELECT * FROM XSH WHERE 产品名称 LIKE ‘冰箱’

C. SELECT * FROM CP WHERE 产品名称 LIKE ‘%冰箱%’

D. SELECT * FROM CP WHERE 产品名称=‘冰箱’

7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是(D )。

A. 一对一的联系

B. 一对多的联系

C. 多对一的联系

D. 多对多的联系

8. SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的( D)子句之中。

A. SELECT

B. HAVING

C. GROUP BY… HAVING

D. WHERE

9. 列值为空值(NULL),则说明这一列( C)。

A. 数值为0

B. 数值为空格

C. 数值是未知的

D. 不存在

10. 数据库的数据一般存放在(D )中。

A. 内存

B. CPU

C. 寄存器

D. 磁盘

二、判断题(共 10 道试题,共 50 分。)

1. 如果定义视图的FROM子句包括多张表,并且视图中列来自多张表,则不能用DML语句通过视图操纵数据。B

A. 错误

B. 正确

2. 在sysdatabases中,还记录着存储过程中每个参数的信息。A

A. 错误

B. 正确

3. 在SELECT语句中,当使用ORDER BY子句时,一定要使用GROUP BY子句。A

A. 错误

B. 正确

4. 由于索引是独立的,删除表时,与该表相关的索引并不被删除。A

A. 错误

B. 正确

5. 日志文件用于存放恢复数据库用的所有日志信息,每个数据库至少拥有一个日志文件,也可以拥有多个日志文件,扩展名ldf B

A. 错误

B. 正确

6. 使用INSERT命令一次只能插入一行数据。A (SQL SERVER 只能插入一行)

A. 错误

B. 正确

7. 已使用DROP TABLE除去删除表,若要删除表上的视图,必须通过使用DROP VIEW手工删除。B

A. 错误

B. 正确

8. SQL Server存储过程能够立即访问数据库。B

A. 错误

B. 正确

9. 两个空值相比较的结果是未知。B

A. 错误

B. 正确

10. 在INSERT语句中,VALUES列表中的表达式的数量,必须匹配列表中的列数,表达式的数据类型必须可以和表格中对应各列的数据类型兼容。B

A. 错误

B. 正确

SQL Server数据库试题十及答案

一、单项选择题(每题2分,共15题)

1. SQL Server 2000是一个(C )的数据库系统。

(A)网状型(B)层次型(C)关系型(D)以上都不是

2. DTS 是一个简称,它的全称是(B )。

A. 数据运输系统

B. 数据传输服务

C. 数据库传输系统

D. 数据库运输服务

3. SQL Server 2000 采用的身份验证模式有( D)。

(A)仅Windows身份验证模式

(B)仅SQL Server身份验证模式

(C)仅混合模式

(D)Windows身份验证模式和混合模式

4. SQL 语言按照用途可以分为三类,下面选项中哪一种不是的:( C)

(A)DML (B)DCL (C)DQL (D)DDL

5. 在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是(B )(A) * (B)% (C)- (D)?

6. SQL Server提供的单行注释语句是使用( B)开始的一行内容。

(A)“/*”(B)“--”(C)“{”(D)“/”

7. 以下那种类型能作为变量的数据类型( C)。

(A)text (B)ntext (C)table (D)image

8. 下面不属于数据定义功能的SQL语句是:( C)

A.CREATE TABLE

B.CREATE CURSOR

C.UPDATE

D.ALTER TABLE

9. 如果希望完全安装SQL Server,则应选择( A)。

A. 典型安装

B. 最小安装

C. 自定义安装

D. 仅连接

10. 在SQL SERVER中局部变量前面的字符为:( D)

(A)* (B)# (C)@@ (D) @

11. 假如有两个表的连接是这样的: table_1 INNER JOIN table_2 其中table_1和table_2是两个具有公共属性的表,这种连接会生成哪种结果集?(D )

(A)包括table_1中的所有行,不包括table_2的不匹配行

(B)包括table_2中的所有行,不包括table_1的不匹配行

(C)包括和两个表的所有行

(D)只包括table_1和table_2满足条件的行

12. 对视图的描述错误的是:(D )

(A)是一张虚拟的表

(B)在存储视图时存储的是视图的定义

(C)在存储视图时存储的是视图中的数据

(D)可以像查询表一样来查询视图

13. 在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是( C)。

(A)ALTER (B)UPDATE (C)UPDAET (D)ALLTER

14. SQL Server 2000提供了一整套管理工具和实用程序,其中负责启动、暂停和停止SQL Server的4种服务的是(D )。

(A)企业管理器(B)导入和导出数据(C)事件探察器(D)服务管理器

15. 要查询book表中所有书名中以“计算机”开头的书籍的价格,可用( D)语句。(A) SELECT price FROM book WHERE book_name = ‘计算机*’

(B) SELECT price FROM book WHERE book_name LIKE ‘计算机*’

(C) SELECT price FROM book WHERE book_name = ‘计算机%’

(D) SELECT price FROM book WHERE book_name LIKE ‘计算机%’

二、填空题(每空2分,共15空)

1.数据库系统的特点分别是数据的结构化、、数据独立性和。

2.在SQL Server 2000中,一个批处理语句是以结束的。

3. SQL Server 2000中的数据以页为基本存储单位,而8个相邻的页称为扩展盘区,那么扩展盘区的大小应该为。

4. 在SQL Server 2000中,索引的顺序和数据表的物理顺序不相同的索引是_____________。

5. 如果要计算表中数据的平均值,可以使用的聚合函数是________ ____。

6. 游标的概念包括两个部分,它们是和。

7. 一个事务的操作必须是具备以下四个属性:原子性、、_____________和持久性。

8. 在SQL Server 2000中,我们创建数据库的语句是,而修改数据库的语句是。

9. 在我们说到数据完整性时,使用是优先于使用触发器、规则和。

三、简答(10分)

1. 声明一个长度为16的字符型变量“cname”, 并赋初值为”数据库系统概述”。请按前面的要求写出相应语句。

2. 在字符串中,我们应该怎样来产生一个回车并生成一个新行?

四、程序阅读题(10分)

下面程序段的功能是:在数据库中判断是否存在名为my_proc的存储过程,若存在,则删除之,然后创建同名的存储过程,该存储过程的功能是向author_id、author_name、address 和telephone字段插入数据。阅读并回答以下问题:

USE bookdb

GO

IF EXISTS(SELECT ① FROM Sysobjects

WHERE name=’my_proc’ and type=’②’)

DROP PROC my_proc

GO

CREATE PROC my_proc

@a int, @b char(8),@c char(50)

INSERT INTO clients(client_id,client_name,address)

VALUES(@a,@b,@c)

GO

问题:(1)填写该程序段中空白处的内容:①②③

(2)任写一条调用该存储过程的语句:。

五、编程题(20分,共4题)

student表(学生表)

学号姓名性别年龄系别

1 吴好男18 计算机系

2 崔平女21 经管系

3 钱筱女19 电子系

course表(课程表) sc表(选课表)

课程号课程名学分

1 SQL Server 4

2 数据结构 3

3 专业英语 2

学号课程号成绩

1 1 88

2 1 90

2 2 70

3 3 79

1、把course表中课程号为3的课程的学分修改为3。(3分)

2、在student表中查询年龄大于18的学生的所有信息,并按学号降序排列。(4分)

3、在以上三个表中查询选的课程的“学分”为3,并且成绩大于80的学生的学号、姓名和性别。(6分)

4、为student表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除SC表中与之有关的记录。

(注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。)(7分)

参考答案

一、单项选择题(每题2分,共15题)

1. C

2.B

3.D

4.C

5.B

6.B

7.C

8.C

9.A 10.D 11.D 12.D 13.C 14.D 15.D

二、填空题(每空2分,共15空)

1.数据共享可控冗余 2.GO 3. 64KB 4.非聚集索引 5.AVG函数 6.游标结果集游标位置 7.一致性隔离性 8.CREATE DATABASE ALTER DATABASE 9.约束默认值

三、简答(10分)

1.DECLARE cname char(16)

SET cname=’数据库系统概述’

或者是

DECLARE cname char(16)

SELECT cname=’数据库系统概述’

2.CHAR(13)+CHAR(10)

四、程序阅读题(5分)

1. name P as

2. EXEC my_proc 7,‘李好’,‘考试书店’或者 EXEC my_proc @a=7,@b=‘李好’,@c=‘考试书店’

五、编程题(25分,共4题)

1、 (4分)

update course (1分)

set 学分=4 (2分)

where课程号=2 (1分)

2、select * from student where 年龄>18 order by 学号 desc (5分)

1分 1分 1分 2分

3、(6分)

方法1:

select distinct student.学号,姓名,性别 (1分)

from student, course, sc (1分)

where (student.学号=sc.学号) and (course.课程号=sc.课程号)

and (course.学分=4) and (sc.成绩>80) (1+1+1+1分)

方法2:

select distinct student.学号,姓名,性别 (1分)

from student Inner Join (sc Inner Join course On course.课程号=sc.课程号)

On student.学号=sc.学号 (2分+2分)

where (course.学分=4) and (sc.成绩>80) (1分+1分)

4、(10分)

If exists(Select name From sysobjects

Where name=’my_trig’and type=’tr’) (整个If语句 1分)

Drop trigger my_trig (0.5分)

Go (0.5分)

Create trigger my_trig (1分)

On student (0.5分)

For Delete (1分)

As (0.5分)

Delete From sc (2分)

Where 学号 in (Select 学号 From Deleted) (1分+2分)

Go

相关文档
相关文档 最新文档