SQL Server 期末考试题目及答案文档格式.docx
《SQL Server 期末考试题目及答案文档格式.docx》由会员分享,可在线阅读,更多相关《SQL Server 期末考试题目及答案文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
C.网络实用工具D.数据导入和导出程序
10.用于配置客户端网络连接的工具是()。
A.企业管理器B.客户端网络实用工具
C.查询分析器D.联机帮助文档
11.SQLServer2000的物理存储主要包括3类文件()。
A.主数据文件、次数据文件、事务日志文件
B.主数据文件、次数据文件、文本文件
C.表文件、索引文件、存储过程
D.表文件、索引文件、图表文件
12.当数据库损坏时,数据库管理员可通过何种方式恢复数据库()。
A.事务日志文件B.主数据文件
C.DELETE语句D.联机帮助文件
13.SQLServer2000系统中的所有系统级信息存储于哪个数据库()。
A.masterB.modelC.tempdbD.msdb
14.下面关于tempdb数据库描述不正确的是()。
A.是一个临时数据库B.属于全局资源
C.没有权限限制D.是用户建立新数据库的模板
15.Transact-SQL对标准SQL的扩展主要表现为()。
A.加入了程序控制结构和变量
B.加入了建库和建表语句
C.提供了分组(GroupBy)查询功能
D.提供了Min、Max等统计函数
16.语句“USEmasterGOSELECT*FROMsysfilesGO”包括()个批处理。
A.1B.2C.3D.4
17.SQLServer2000的字符型系统数据类型主要包括()。
A.int、money、charB.char、varchar、text
C.datetime、binary、intD.char、varchar、int
18.如果要在SQLServer2000中存储图形图像、Word文档文件,不可采用的数据类型是()。
A.binaryB.varbinaryC.imageD.text
19.下面关于Timestamp数据类型描述正确的是:
()。
A.是一种日期型数据类型
B.是一种日期和时间组合型数据类型
C.可以用来替代传统的数据库加锁技术
D.是一种双字节数据类型
20.使用“CREATEDATABASEAAA”命令所建立数据库文件的初始大小是()字节。
A.1MB.2MC.3MD.4M
21.下面关于索引的描述不正确的是()。
A.索引是一个指向表中数据的指针
B.索引是在元组上建立的一种数据库对象
C.索引的建立和撤消对表中的数据毫无影响
D.表被撤消时将同时撤消在其上建立的索引
22.以下哪种情况应尽量创建索引()。
A.在where子句中出现频率较高的列
B.具有很多NULL值的列
C.记录较少的基本表
D.需要更新频繁的基本表
23.下面关于聚集索引和非聚集索引说法正确的是()。
A.每个表只能建立一个非聚集索引
B.非聚集索引需要较多的硬盘空间和内存
C.一张表上不能同时建立聚集和非聚集索引
D.一个复合索引只能是聚集索引
24.“CreateUniqueIndexAAAOn学生表(学号)”将在学生表上创建名为AAA的()。
A.惟一索引B.聚集索引C.复合索引D.唯一聚集索引
25.SQLServer2000提供的单行注释语句是使用()开始的一行内容。
A.“/*”B.“--”C.“{”D.“/”
26.下列标识符可以作为局部变量使用()。
A.[@Myvar]B.MyvarC.@MyvarD.@Myvar
27.Transact-SQL支持的程序结构语句中的一种为()。
A.Begin…EndB.If…Then…ELSE
C.DoCaseD.DoWhile
28.不属于SQLServer2000系统全局变量的是()。
A.@@ErrorB.@@Connections
C.@@Fetch_StatusD.@Records
29.属于事务控制的语句是()。
A.BeginTran、Commit、RollBack
B.Begin、Continue、End
C.CreateTran、Commit、RollBack
D.BeginTran、Continue、End
30.SQLServer2000触发器主要针对下列语句创建()。
A.SELECT、INSERT、DELETE
B.INSERT、UPDATE、DELETE
C.SELECT、UPDATE、INSERT
D.INSERT、UPDATE、CREATE
31.下列SQLServer2000语句中出现语法错误的是()。
A.DECLARE@MyvarINT
B.SELECT*FROM[AAA]
C.CREATEDATABASEAAA
D.DELETE*FROMAAA
32.索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它能够加快数据的()速度。
A.插入B.修改C.删除D.查询
二、填空题
1.SQLServer2000采用__________计算模型,通过中央服务器集中存储数据资源。
2.SQLServer2000数据库应用的处理过程分布在____和服务器上。
3.SQLServer2000服务器可以被多台客户机访问,数据库服务器仅返回客户端应用程序所需要的数据,这样做的好处是可以减少____。
4.SQLServer2000提供了动态的自我管理机制,能够自动增大或缩小数据库所占用的______。
5.在网络环境下,当多个用户同时访问数据库时,就会产生并发问题,SQLServer2000是利用________完成并发控制的。
6.SQLServer2000与Windows2000等操作系统完全集成,可以使用操作系统的用户和域账号作为数据库的____。
7.SQLServer2000采用的结构化查询语言称为______。
8.常见的SQLServer2000的版本一般包括、、、开发版和评估版等。
9.安装SQLServer2000时需要以本地_______身份登录操作系统。
10.如果在WindowsNT/2000上安装SQLServer2000,需要事先设置至少一个______。
11.默认情况下,SQLServer2000服务器的名字为。
12.SQLServer2000服务管理器程序的主要作用是启动、__、__服务器。
13.在网络多用户环境下,在停止SQLServer2000服务之前,最好先执行操作。
14.SQLServer2000将数据组织成用户可以看见的逻辑组件,而在磁盘上则作为____实现。
15.常用的数据库对象主要包括缺省、约束、用户、图表、用户自定义数据类型、________、__、__、__、__等。
16.SQLServer2000主数据文件、次数据文件和事务日志文件默认的扩展名分别为、和。
17.SQLServer2000的数据库分为____________和____两种类型。
18.每个SQLServer2000数据库下都包括、、和四个系统数据库。
19.系统数据库主要用来进行复制、作业调度和管理报警等活动。
20.SQLServer2000客户机传递到服务器上的一组完整的数据和SQL语句称为__。
21.一般可以使用命令来标识Transact-SQL批处理的结束。
22.SQLServer2000中的数据类型通常是指字段列、存储过程参数和____的数据特征。
23.varchar数据类型可以自动去掉字段或变量尾部的__以节省空间。
24.SQLServer2000的datetime和smalldatetime数据类型主要用来存储________和________的组合数据。
25.在SQLServer2000中,通常使用________数据类型来表示逻辑数据。
26.函数LEFT(‘abcdef’,2)的结果是。
27.SQLServer2000规定了2种类型的标识符,即____________和____________。
28.SQLServer2000中的整数类型包括__________、__________、__________和__________四种。
29.SQLServer2000中的整数类型分别为bigint、int、smallint和tinyint,它们分别占用______、______、______和______个存储字节。
30.SQLServer2000中的数据类型主要包括________、________、________、二进制、位和双字节等类型。
31.SQLServer2000提供的最常用的管理工具是______________和______________。
32.在SQLServer2000中主要是通过使用______________运行Transact-SQL语句。
33.如果希望修改数据库的名字,可以使用的系统存储过程是。
34.SQLServer2000主要通过查询分析器和____________这两种工具来完成数据库的管理工作。
35.数据库备份和恢复的Transact-SQL语句分别是____________________和__________________。
36.在一个已存在数据的表中增加不带默认值的列,一定要保证所增加的列允许________值。
37.对表中记录的维护工作主要有增加、________和________操作,它们均可通过企业管理器或Transact-SQL语句完成。
38.在Transact-SQL语句中需要把日期时间型数据常量用__________括起来。
39.找回被删除表的惟一方法是事先做好数据库的工作。
40.可以将视图理解为存储在SQLServer2000数据库中的一条经过预编译的语句。
41.是一种常用的改善数据库性能的技术。
42.SQLServer2000中引入索引主要是为了加速________速度,也可保证数据的惟一性。
43.索引可以加速selcet语句中OrderBy和____________选项的执行速度。
44.索引一经创建就完全由SQLServer2000系统选择和维护。
45.索引会影响对基本表的________、________和________等操作的速度。
46.从是否改变基本表记录的物理位置角度可将索引分为__________和__________索引两类。
47.聚集索引与非聚集索引相比,查询速度更。
48.注释是一些说明性的文字,而不是语句,不参与程序的编译。
49.SQLServer2000支持两种形式的变量,即和。
50.一个局部变量的使用范围局限于一个内,即两个GO语句之间的那一部分。
51.SQLServer2000中为局部变量赋值的语句是和。
52.触发器是一种特殊的,基于表而创建,主要用来保证数据的完整性。
53.使用createdatabase命令定义一个数据库,包括定义__________文件和__________文件两个部分。
54.使用createdatabase命令定义一个数据库,定义其数据文件以关键字________开始,定义日志文件以关键字________开始。
55.修改数据库定义的命令关键字为________________,删除整个数据库的命令关键字为________________。
56.在SQLServer2000中,打开一个数据库使之成为当前库,有________种方法,其中之一使用的命令关键字为_______。
57.索引可以由系统根据约束条件自动建立,也可以由用户通过命令或菜单方式建立,但它的________和_______将根据需要由系统自动实现,无须用户过问。
58.索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它将降低数据的________、________、_________速度。
59.基本表中的记录数越______,每条记录占用的字节数越______时,使用索引就越有利。
60.创建索引的命令关键字为________________,删除索引的命令关键字为________________。
61.在索引命令中使用关键字CLUSTERED或NOCLUSTERED分别表示将建立的是________或________索引。
62.在基本表的某个列上建立索引,可以使基本表中的所有记录按该列值的________或________排列。
63.当指定基本表中某一列或若干列为主码时,则系统将在这些列上自动建立一个________、________和________的索引。
64.当指定基本表中某一列或若干列为UNIQUE约束时,则系统将在这些列上自动________一个唯一值________。
65.若规定基本表中某一列或若干列为非空和唯一值双重约束,则这些列就是该基本表的________码,若只规定为唯一值约束,则__________空值重复出现。
66.在SQLServer2000中,通常不需要用户建立索引,而是通过使用________约束和________约束,由系统自动建立索引。
68.单行或行尾注释的开始标记为________,多行注释的开始标记为________,结束标记为________。
68.局部变量的开始标记为______,全局变量的开始标记为________。
69.每条________语句能够同时为多个变量赋值,每条________语句只能为一个变量赋值。
70.定义局部变量的语句关键字为__________,被定义的各变量之间必须用________字符分开。
71.在SQLServer2000中,每个程序块的开始标记为关键字__________,结束标记为关键字________。
72.在SQLServer2000中,前后相邻的语句之间可以使用________、________或________字符分开。
73.在SQLServer2000中,CASE结构是一个________,只能作为一个________使用在另一个语句中。
74.在SQLServer2000中,CASE函数具有______种格式,每种格式中可以带有________个WHEN选项,可以带有______个ELSE选项。
75.在条件结构的语句中,关键字IF和ELSE之间和ELSE之后,可以使用________语句,也可以使用具有____________格式的语句块。
76.在循环结构的语句中,当执行到关键字__________后将终止整个语句的执行,当执行到关键字__________后将结束一次循环体的执行。
77.声明游标语句的关键字为________________,该语句必须带有__________子句。
78.打开和关闭游标的语句关键字分别为________和________。
79.判断使用FETCH语句读取数据是否成功的全局变量为________________。
80.使用游标对基本表进行修改和删除操作的语句中,WHERE选项的格式为“WHERE__________OF____________。
81.每次执行使用游标的取数、修改或________操作的语句时,能够对表中的________个记录进行操作。
82.在SQLServer2000中,一个事务是一个__________的单位,它把必须同时执行或不执行的一组操作________在一起。
83.在SQLServer2000中,一个事务处理控制语句以关键字________________开始,以关键字________________或________________结束。
84.每个存储过程可以包含________条Transact-SQL语句,可以在过程体中的任何地方使用__________语句结束过程的执行,返回到调用语句后的位置。
84.建立一个存储过程的语句关键字为________________,执行一个存储过程的语句关键字为____________。
86.在一个存储过程定义的AS关键字前可以定义该过程的________,AS关键字之后为该过程的__________。
87.触发器是一种特殊的存储过程,它可以在对一个表上进行________、________和________操作中的任一种或几种操作时被自动调用执行。
88.创建和删除一个触发器的语句关键字为________________和________________。
89.在一个表中最多只能有一个关键字为_____________的约束,关键字为FOREIGNKEY的约束可以出现________次。
90.CHECK约束被称为________约束,UNIQUE约束被称为__________约束。
91.使用一种约束时,可以使用关键字_____________和标识符____________的选项命名该约束,也可以省略该选项由系统自动命名,因为用户很少再使用其约束名。
92.当一个表带有约束后,执行对表的各种________操作时,将自动________相应的约束,只有符合约束条件的合法操作才能被真正执行。
93.在SQLServer2000中,数据库的安全机制分为4个等级,分别为客户端____________的安全、数据库的________安全、数据库使用安全和数据库对象的使用安全。
94.数据库的安全管理问题归结为对________和________的管理问题。
95.要访问SQLServer2000数据库服务器,用户必须提供正确的__________和__________。
96.对用户授予和收回数据库操作的语句关键字分别为__________和__________。
97.在授予用户访问权限的语句中,所给表名选项以关键字________开始,所给用户名选项以关键字________开始。
98.在收回用户访问权限的语句中,所给表名选项以关键字________开始,所给用户名选项以关键字________开始。
99.使用游标取数和释放游标的语句关键字分别为____________和____________。
三、写出下列每条语句或程序段的功能
假设存在名为AAA的数据库,包括Students(学号char(8),姓名varchar(8),年龄int,专业varchar(20),入学日期DateTime)和Score(学号char(8),课程名varchar(10),成绩numeric(5,2))两张表。
1.SELECT*
FROMStudents
WHEREDATEPART(year,入学日期)=DATEPART(year,GETDATE())
2.DECLARE@MyNOCHAR(8)
SET@MyNO='
20030001'
IF(SELECT专业FROMStudentsWHERE学号=@MyNO)='
计算机软件'
BEGIN
SELECTAVG(成绩)AS平均成绩
FROMScore
WHERE学号=@MyNO
END
ELSE
PRINT'
学号为'
+@MyNO+'
的学生不存在或不属于软件专业'
GO
3.declare@anumeric(5,2)
set@a=(selectavg(成绩)fromscore)
select*
fromscore
where成绩>
=@a
4.declare@anumeric(5,2),@bnumeric(5,2)
set@a=(selectmax(成绩)fromscore)
set@b=(selectmin(成绩)fromscore)
print@a-@b
5.declare@achar(6)
set@a='
刘亮'
if(exists(select*fromstudentswhere姓名=@a))
print'
姓名为'
+@a+'
的同学存在!
'
else
的同学不存在!
6.declare@achar(8)
计算机'
select