资源描述
《SQL数据库管理与开发教程与实训》试题
《SQL数据库管理与开发教程与实训》试题(K卷)
一、 选择题(每题1分,共20分)
1
2
3
4
5
6
7
8
9
10
C
D
D
D
B
D
B
C
A
D
11
12
13
14
15
16
17
18
19
20
D
D
A
C
B
C
C
B
B
A
1.若某表满足1NF,且其所有属性合起来组成主健,则一定还满足范式 ( )
A、只有2NF B、只有3NF
C、2NF和3NF D、没有
2.Microsoft SQL Server 2000各版本的服务器组件必须在特定的操作系统上使用,其中能在Windows 2000 Professional上运行,但不能在Windows 98上运行的是( )
A、企业版 B、标准版
C、个人版 D、开发版
3.SQL Server支持在线备份,但在备份过程中,不允许执行的操作是( )
(1)、创建或删除数据库文件 (2)、创建索引
(3)、执行非日志操作 (4)、自动或手工缩小数据库或数据库文件大小
A、(1) B、(1)(2)
C、(1)(2)(3) D、(1)(2)(3)(4)
4.MS SQL Server 2000是( )
A、数据库应用程序 B、数据库系统
C、层次数据管理系统 D、关系数据库管理系统
5.现有关系:学生(学号,姓名,系号,系名),为消除数据冗余,至少需要分解为( )
A、1个表 B、2个表
C、3个表 D、4个表
6.数据库中存放三个关系:学生(学号,姓名)和课程(课程号,课程名)和成绩(学号、课程号、成绩),为快速查出某位学生所学的课程名,应该( )
A、在学生表上按学号建索引 B、在成绩表上按课程号建索引
C、在课程表上按课程号建索引 D、在学生表上按姓名建索引
7.如果要从数据库中删除触发器,应该使用SQL语言的命令( )
A、DELETE TRIGGER B、DROP TRIGGER
C、REMOVE TRIGGER D、DISABLE TRIGGER
8.已知员工和员工亲属两个关系,当员工调出时,应该从员工关系中删除该员工的元组,同时在员工亲属关系中删除对应的亲属元组。在SQL语言中利用触发器定义这个完整性约束的短语是( )
A、INSTEAD OF DELETE B、INSTEAD OF DROP
C、AFTER DELETE D、AFTER UPDATE
9.安装MS SQL Server时,系统自动建立几个数据库,其中有一个数据库记录了一个SQL Server系统的所有系统信息,这个数据库是( )
A、master数据库 B、model数据库
C、tempdb数据库 D、pubs数据库
10.对于数据库的管理,对SQL Server中guest用户的描述错误的是 ( )
A、安装系统时,guest用户被加入到master、pubs、tempdb、northwind数据中
B、用户成功登录到SQL Server后,若该登录账号在某数据库中无合法数据库用户,则系统将可能允许以guest用户来访问该数据库
C、不能从master、tempdb数据库中删除guest用户
D、在新建一个数据库时,guest用户将被自动添加
11.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型是( )
A、多对多 B、一对一
C、多对一 D、一对多
12.以下情况发生,往往要求我们立即对master 数据库进行备份,错误的是( )
A、增加用户数据库 B、删除用户数据库
C、执行与登录有关的操作 D、增加数据库用户
13.SQL语言中,删除一个表中所有数据,但保留表结构的命令是( )
A、DELETE B、DROP
C、CLEAR D、REMORE
14.下列四项关于启动服务器的说法不正确的是( )
A、用企业管理器启动 B、用操作系统控制面板中的服务管理程序启动
C、用命令net begin mssqlserver D、自动启动服务器
15.查询员工工资信息时,结果按工资降序排列,正确的是( )
A、ORDER BY 工资 B、ORDER BY 工资 desc
C、ORDER BY 工资 asc D、ORDER BY 工资 dictinct
16.下列聚合函数中正确的是( )
A、SUM (*) B、MAX (*)
C、COUNT (*) D、AVG (*)
17.SQL中,下列涉及通配符的操作,范围最大的是( )
A、name like ’hgf#’ B、name like ’hgf_t%’
C、name like ’hgf%’ D、name like ’h#%’ escape ’#’
18.在MS SQL Server中,关于数据库的说法正确的是( )
A、一个数据库可以不包含事务日志文件
B、一个数据库可以只包含一个事务日志文件和一个数据库文件
C、一个数据库可以包含多个数据库文件,但只能包含一个事务日志文件
D、一个数据库可以包含多个事务日志文件,但只能包含一个数据库文件
19.能够实现执行SQL语句、分析查询计划、显示查询统计情况和实现索引分析等功能的SQL工具是( )。
A、企业管理器 B、查询分析器
C、服务管理器 D、事件探查器
20.每个数据库有且只有一个( )
A、主要数据库文件 B、次要数据库文件
C、日志文件 D、索引文件
二、名词解释(每题4分,共20分)
1、视图
视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表。
2、索引
索引就是表中数据和相应存储位置的列表。
3、触发器
触发器是特殊类型的存储过程,它能在任何试图改变表或视图中由触发器保护的数据时执行。触发器主要通过操作事件(INSERT、UPDATE、DELETE)进行触发而被自动执行,不能直接调用执行,也不能被传送和接受参数。
4、 事务
事务(Transaction)可以看成是由对数据库的若干操作组成的一个单元,如果这些操作在 执行过程中任何一条操作不能正常完成的话,就取消单元中的所有操作,要么单元中的所有操作都正常完成。
5、警报
警报是指发生特定事件,如发生特定的错误或某种严重级别的错误,或者用户自定义的错误时所采取的措施。
三、填空题(每题2分,共10分)
1.MS SQL Server提供多个图形化工具,其中用来启动、停止和暂停SQL Serve的图形化工具称为_____服务管理器__________。
2.___存储过程__是已经存储在SQL Server服务器中的一组预编译过的Transact-SQL语句。
3.在____Windows__________身份验证模式,输入的账号必须是在2000 professional(或NT)已经建立的登录者或组。
4.HAVING子句与WHERE子句很相似,其区别在于:
WHERE子句作用的对象是__表和视图__,HAVING子句作用的对象是___分组___。
5.已知有学生关系S(SNO,SNAME,AGE,DNO),各属性含义依次为学号,姓名、年龄和所在系号;学生选课关系SC(SNO,CNO,SCORE),各属性含义依次为学号、课程号和成绩。分析以下SQL语句:
SELECT SNO
FROM SC
WHERE SCORE= (SELECT SUM(SCORE)
FROM SC
WHERE CNO='002')
简述上述语句完成了的查询操作是_检索有与课程号为“002”的课程的最高成绩相等的同学的学号_____________。
6. 表或视图的操作权限有select、__insert___、___update____、____delete___和dri。
7.创建、修改和删除表命令分别是create table、____alter__ table和___drop__ table。
四、设计题(共50分)
设有学生选修课程数据库,
学生表(学号,姓名,年龄,性别,所在系,地址,出生日期)
选课表(学号,课程号,成绩)
课程表(课程号,课程名称,教师姓名)
用SQL语言查询下列问题:
1)李老师所教的课程号、课程名称。 2)年龄大于23岁的女学生的学号和姓名。
3)“李小波”所选修的全部课程名称。 4)所有成绩都在80分以上的学生姓名及所在系。
5)没有选修“操作系统”课的学生姓名。6)英语成绩比数学成绩好的学生。
7)至少选修两门以上课程的学生姓名、性别。 8)选修了李老师所讲课程的学生人数。
9)没有选修李老师所讲课程的学生。10)“操作系统”课程得最高分的学生姓名、性别、所在系。
1)select 课程号, 课程名称
from 课程表
where 教师姓名='李老师'
2)select 学号, 姓名 from 学生表
where (性别='女') and (年龄>23)
3)select 课程名称 from 课程表
where 课程号 in
(select 选课表.课程号 from 选课表,学生表
where (选课表.学号=学生表.学号) and (学生表.姓名='李小波'))
4)select 姓名, 所在系 from 学生表 where 学号 in
(select distinct 学号from 选课表 where 成绩 >= 80)
5) select distinct 学生表.学号, 姓名
from 学生表, 选课表, 课程表
where (选课表.学号=学生表.学号) and (选课表.课程号=课程表.课程号)
and (课程名称 <>'操作系统')
6)create function 课程成绩(@课程名 nchar(255), @学号 char(6))
returns numeric as
begin
declare @i numeric
select @i=成绩 from [选课表], [课程表]
where (学号 = @学号) and ([选课表].[课程号] =[课程表].[课程号]) and ([课程名称] = @课程名)
return @i
end
select 学号, 姓名,
英语成绩= dbo.课程成绩('英语',学号), 数学成绩= dbo.课程成绩('数学',学号)
from 学生信息表
where dbo.课程成绩('英语',学号)>dbo.课程成绩('数学',学号)
7)select [姓名], [性别] from [学生表]
where [学号] in
(SELECT [学号] FROM [选课表]
group by [学号] having count([学号])>1)
8)select count(学号)
from 选课表, 课程表
where (选课表.课程号=课程表.课程号) and (教师姓名='李老师')
9)select distinct 学生表.学号, 学生表.姓名
from 学生表, 选课表, 课程表
where (选课表.学号=学生表.学号) and (选课表.课程号=课程表.课程号)
and (教师姓名<>'李老师')
10)“操作系统”课程得最高分的学生姓名、性别、所在系。
select top 1 学生表.学号, 姓名, 所在系
from 学生表, 选课表, 课程表
where (选课表.学号=学生表.学号) and (选课表.课程号=课程表.课程号)
and (课程名称 = '操作系统')
order by 成绩 desc
————————————————————————————————————————————
北京大学出版社 5 ISBN 7-301-10173-2/TP.0842
展开阅读全文