第九章 SQL Server数据库简单应用一、单选题1.使用“CREATE DATABASE AAA”命令所建立数据库文件的初始大小是(A)字节。
A. 1MB. 2MC. 3MD. 4M2.下面关于索引的描述不正确的是(B)。
A. 索引是一个指向表中数据的指针B. 索引是在列上建立的一种数据库对象C. 索引的建立和撤消对表的数据毫无影响D. 表的建立和撤消对索引毫无影响3.下面关于聚集索引和非聚集索引说法正确的是(B)。
A. 每个表只能建立一个非聚集索引B. 非聚集索引需要较多的硬盘空间和内存C. 一张表上不能同时建立聚集和非聚集索引D. 一个复合索引只能是聚集索引4.“Create Unique Index AAA On 学生表(学号)”将在学生表上创建名为AAA的(A)。
A. 惟一索引B. 聚集索引C. 复合索引D. 唯一聚集索引5.下列标识符可以作为局部变量使用(C)。
A. [@Myvar]B. My varC. @MyvarD. @My var6.Transact SQL支持的程序结构语句主要有(A)。
A. Begin…EndB. If…Then…ELSEC. Do CaseD. Do While7.属于事务控制的语句是(A)。
A. Begin Tran、Commit、RollBackB. Begin、Continue、EndC. Create Tran、Commit、RollBackD. Begin Tran、Continue、End8.SQL Server触发器主要针对下列语句创建(B)。
A. SELECT、INSERT、DELETEB. INSERT、UPDATE、DELETEC. SELECT、UPDATE、INSERTD. INSERT、UPDATE、CREATE9.下面关于索引的描述不正确的是(B)。
A. 索引是一个指向表中数据的指针B. 索引是在元组上建立的一种数据库对象C. 索引的建立和撤消对表中的数据毫无影响D. 表被撤消时将同时撤消在其上建立的索引10.以下哪种情况应尽量创建索引(A)。
A. 在where子句中出现频率较高的列B. 具有很多NULL值的列C. 记录较少的基本表D. 需要更新频繁的基本表11.SQL Server2000提供的单行注释语句是使用(B)开始的一行内容。
A. “/*”B. “--”C. “{”D. “/”12.不属于SQL Server2000系统全局变量的是(D)。
A. @@ErrorB. @@ConnectionsC. @@Fetch_StatusD. @Records13. 下列SQL Server2000语句中出现语法错误的是(D)。
A. DECLARE @Myvar INTB. SELECT * FROM [AAA]C. CREATE DATABASE AAAD. DELETE * FROM AAA14.索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它能够加快数据的(D)速度。
A. 插入B. 修改C. 删除D. 查询15.下列命令不能执行的是(B)。
A. SELECT * FROM [select]B. SELECT * FROM @MyTableC. SELECT * FROM [MyTable]D. SELECT * FROM MyTable二、填空题1.在SQL Server中主要是通过(查询分析器)实用工具运行Transact SQL语句。
2.SQL Server可以通过查询分析器和(企业管理器)两种工具完成数据库的管理工作。
3.在一个已存在数据的表中增加一列,一定要保证所增加的列允许(Null)值。
4.Transact-SQL语句中将日期时间型数据类型作为(字符)型处理,需要用单引号括起来。
5.可以将视图理解为一组存储在SQL Server数据库中的经过预编译的(SELECT)语句。
6.SQL Server中引入索引主要是为了(提高查询的效率),保证数据的惟一性并加快表的查询速度。
7.索引一经创建就完全由SQL Server2000系统(自动)选择和维护。
8.从是否改变基本表记录的物理位置角度可将索引分为(聚集)和(非聚集索引)两类。
9.注释是一些说明性的文字,不是(可执行)语句,不参与程序的编译。
10.一个局部变量的使用范围局限于(批处理)内,即两个GO语句之间的那一部分。
11.触发器是一种特殊的(存储过程),基于表而创建,主要用来保证数据的完整性。
12.在一个表中最多只能有一个关键字为(PRIMARY KEY)的约束,关键字为FOREIGN KEY的约束可以出现(多)次。
13.CHECK约束被称为(检查)约束,UNIQUE约束被称为(唯一值)约束。
14.使用一种约束时,可以使用关键字(CONSTRAINT)和标识符(<约束名>)的选项命名该约束,也可以省略该选项由系统自动命名,因为用户很少再使用其约束名。
15. 当一个表带有约束后,执行对表的各种(更新)操作时,将自动(检查)相应的约束,只有符合约束条件的合法操作才能被真正执行。
16. 在SQL Server2000中,数据库的安全机制分为4个等级,分别为客户端(操作系统)的安全、数据库的(登录)安全、数据库使用安全和数据库对象的使用安全。
17. 数据库的安全管理问题归结为对(锁)和(钥匙)的管理问题。
18. 要访问SQL Server2000数据库服务器,用户必须提供正确的(登录账号)和(口令)。
19. 对用户授予和收回数据库操作的语句关键字分别为(GRANT)和(REVOKE)。
20. 在授予用户访问权限的语句中,所给表名选项以关键字(ON)开始,所给用户名选项以关键字(TO)开始。
21. 在收回用户访问权限的语句中,所给表名选项以关键字(ON)开始,所给用户名选项以关键字(FROM)开始。
22. 使用游标取数和释放游标的语句关键字分别为(FETCH)和(DEALLOCATE)。
23. 打开和关闭游标的语句关键字分别为(OPEN)和(CLOSE)。
24. 判断使用FETCH语句读取数据是否成功的全局变量为(@@FETCH_STATUS)。
25. 使用游标对基本表进行修改和删除操作的语句中,WHERE选项的格式为“WHERE (CURRENT) OF (<游标名>)。
26. 每次执行使用游标的取数、修改或(删除)操作的语句时,能够对表中的(单)个记录进行操作。
27. 在SQL Server2000中,一个事务是一个(并发控制)的单位,它把必须同时执行或不执行的一组操作(捆绑)在一起。
28. 在SQL Server2000中,一个事务处理控制语句以关键字(BEGIN TRAN)开始,以关键字(COMMIT [TRAN])或(ROLLBACK [TRAN])结束。
29.每个存储过程可以包含(多)条Transact-SQL语句,可以在过程体中的任何地方使用(RETURN)语句结束过程的执行,返回到调用语句后的位置。
30. 建立一个存储过程的语句关键字为(CREATE PROC),执行一个存储过程的语句关键字为(EXEC)。
31. 在一个存储过程定义的AS关键字前可以定义该过程的(参数),AS关键字之后为该过程的(过程体)。
32.触发器是一种特殊的存储过程,它可以在对一个表上进行(插入)、(删除)和(更新)操作中的任一种或几种操作时被自动调用执行。
33. 单行或行尾注释的开始标记为(--),多行注释的开始标记为(/*),结束标记为(*/)。
34. 局部变量的开始标记为(@),全局变量的开始标记为(@@)。
35. 每条(SELECT)语句能够同时为多个变量赋值,每条(SET)语句只能为一个变量赋值。
36. 定义局部变量的语句关键字为(DECLARE),被定义的各变量之间必须用(逗号)字符分开。
37. 在SQL Server2000中,每个程序块的开始标记为关键字(BEGIN),结束标记为关键字(END)。
38. 在SQL Server2000中,前后相邻的语句之间可以使用(空格)、(分号)或(换行)字符分开。
39. 在SQL Server2000中,CASE结构是一个(函数),只能作为一个(表达式)使用在另一个语句中。
40. 在SQL Server2000中,CASE函数具有(2)种格式,每种格式中可以带有(多)个WHEN选项,可以带有(一)个ELSE选项。
41. 在条件结构的语句中,关键字IF和ELSE之间和ELSE之后,可以使用(单条)语句,也可以使用具有(BEGIN…END)格式的语句块。
42. 在循环结构的语句中,当执行到关键字(BREAK)后将终止整个语句的执行,当执行到关键字(CONTINUE)后将结束一次循环体的执行。
43. 在SQL Server2000中,打开一个数据库使之成为当前库,有(2)种方法,其中之一使用的命令关键字为(USE)。
44. 索引可以由系统根据约束条件自动建立,也可以由用户通过命令或菜单方式建立,但它的(打开)和(重建)将根据需要由系统自动实现,无须用户过问。
45. 索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它将降低数据的(插入)、(修改)、(删除)速度。
46. 基本表中的记录数越(多),每条记录占用的字节数越(多)时,使用索引就越有利。
47. 创建索引的命令关键字为(CREATE INDEX),删除索引的命令关键字为(DROP INDEX)。
48. 在索引命令中使用关键字CLUSTERED或NOCLUSTERED分别表示将建立的是(聚集)或(非聚集)索引。
49. 在基本表的某个列上建立索引,可以使基本表中的所有记录按该列值的(升序)或(降序)排列。
50. 当指定基本表中某一列或若干列为主码时,则系统将在这些列上自动建立一个(非空)、(唯一)和(聚集)的索引。
51. 当指定基本表中某一列或若干列为UNIQUE约束时,则系统将在这些列上自动(建立)一个唯一值(索引)。
52. 若规定基本表中某一列或若干列为非空和唯一值双重约束,则这些列就是该基本表的(备用)码,若只规定为唯一值约束,则(不允许)空值重复出现。
53.使用create database命令定义一个数据库,包括定义(数据)文件和(日志)文件两个部分。
54.使用create database命令定义一个数据库,定义其数据文件以关键字(ON)开始,定义日志文件以关键字(LOG ON)开始。
55.SQL Server2000支持两种形式的变量,即(局部变量)和(全局变量)。
56.SQL Server2000中为局部变量赋值的语句是(SELECT)和(SET)。
57.聚集索引与非聚集索引相比,查询速度更(快)。