数据原理与应用2.doc

上传人:罗晋 文档编号:6066740 上传时间:2020-09-04 格式:DOC 页数:15 大小:107KB
返回 下载 相关 举报
数据原理与应用2.doc_第1页
第1页 / 共15页
数据原理与应用2.doc_第2页
第2页 / 共15页
数据原理与应用2.doc_第3页
第3页 / 共15页
数据原理与应用2.doc_第4页
第4页 / 共15页
数据原理与应用2.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《数据原理与应用2.doc》由会员分享,可在线阅读,更多相关《数据原理与应用2.doc(15页珍藏版)》请在三一文库上搜索。

1、辅导(6)-第八章至第十章综合练习第八、九章综合练习题 一、单选题 1. Microsoft公司的SQL Server2000数据库管理系统一般只能运行于( )。 A. Windows平台 B. UNIX平台 C. LINX平台 D. NetWare平台 2. 当一条SELECT语句访问一张大表里的有限几行数据时,SQL Server2000通常会( )。 A. 为数据加上页级锁 B. 为数据加上行级锁 C. 需要用户的干涉和参与 D. 使用户独占数据库 3. 当采用Windows认证方式登录数据库服务器时,SQL Server2000客户端软件会向操作系统请求一个( )。 A. 信任连接 B

2、. 邮件集成 C. 并发控制 D. 数据转换服务 4. 以下对SQL Server2000描述不正确的是( )。 A. 支持XML B. 支持用户自定义函数 C. 支持邮件集成 D. 支持网状数据模型 5. 如果在SQL Server2000上运行一个非常大的数据库,为取得较好效果应选用安装( )。 A. 企业版 B. 标准版 C. 个人版 D. 开发版 6. 提高SQL Server2000性能的最佳方法之一是( )。 A. 增大硬盘空间 B. 增加内存 C. 减少数据量 D. 采用高分辨率显示器 7. SQL Server2000标准版不支持的操作系统是( )。 A. Windows 20

3、00 Server B. Windows NT Server C. Windows98 D. Windows 2000 Advanced Server 8. 如果希望完全安装SQL Server2000,则应选择( )。 A. 典型安装 B. 最小安装 C. 自定义安装 D. 仅连接 9. 要想使SQL Server2000数据库管理系统开始工作,必须首先启动( )。 A. SQL Server服务器 B. 查询分析器 C. 网络实用工具 D. 数据导入和导出程序 10. 用于配置客户端网络连接的工具是( )。 A. 企业管理器 B. 客户端网络实用工具 C. 查询分析器 D. 联机帮助文档

4、11. SQL Server2000的物理存储主要包括3类文件( )。 A. 主数据文件、次数据文件、事务日志文件 B. 主数据文件、次数据文件、文本文件 C. 表文件、索引文件、存储过程 D. 表文件、索引文件、图表文件 12. 当数据库损坏时,数据库管理员可通过何种方式恢复数据库( )。 A. 事务日志文件 B. 主数据文件 C. DELETE语句 D. 联机帮助文件 13. SQL Server2000系统中的所有系统级信息存储于哪个数据库( )。 A. master B. model C. tempdb D. msdb 14. 下面关于tempdb数据库描述不正确的是( )。 A. 是

5、一个临时数据库 B. 属于全局资源 C. 没有权限限制 D. 是用户建立新数据库的模板 15. Transact-SQL对标准SQL的扩展主要表现为( )。 A. 加入了程序控制结构和变量 B. 加入了建库和建表语句 C. 提供了分组(Group By)查询功能 D. 提供了Min、Max等统计函数 16. 语句“USE master GO SELECT * FROM sysfiles GO”包括( )个批处理。 A. 1 B. 2 C. 3 D.4 17. SQL Server2000的字符型系统数据类型主要包括( )。 A. int、money、char B. char、varchar、t

6、ext C. datetime、binary、int D. char、varchar、int 18. 如果要在SQL Server2000中存储图形图像、Word文档文件,不可采用的数据类型是( )。 A. binary B. varbinary C. image D. text 19. 下面关于Timestamp数据类型描述正确的是:( )。 A. 是一种日期型数据类型 B. 是一种日期和时间组合型数据类型 C. 可以用来替代传统的数据库加锁技术 D. 是一种双字节数据类型 20. 使用“CREATE DATABASE AAA”命令所建立数据库文件的初始大小是( )字节。 A. 1M B.

7、2M C. 3M D. 4M 21. 下面关于索引的描述不正确的是( )。 A. 索引是一个指向表中数据的指针 B. 索引是在元组上建立的一种数据库对象 C. 索引的建立和撤消对表中的数据毫无影响 D. 表被撤消时将同时撤消在其上建立的索引 22. 以下哪种情况应尽量创建索引( )。 A. 在where子句中出现频率较高的列 B. 具有很多NULL值的列 C. 记录较少的基本表 D. 需要更新频繁的基本表 23. 下面关于聚集索引和非聚集索引说法正确的是( )。 A. 每个表只能建立一个非聚集索引 B. 非聚集索引需要较多的硬盘空间和内存 C. 一张表上不能同时建立聚集和非聚集索引 D. 一个

8、复合索引只能是聚集索引 24. “Create Unique Index AAA On 学生表(学号)”将在学生表上创建名为AAA的( )。 A. 惟一索引 B. 聚集索引 C. 复合索引 D. 唯一聚集索引 25. SQL Server2000提供的单行注释语句是使用( )开始的一行内容。 A. “/*” B. “-” C. “” D. “/” 26. 下列标识符可以作为局部变量使用( )。 A. Myvar B. My var C. Myvar D. My var 27. Transact-SQL支持的程序结构语句中的一种为( )。 A. BeginEnd B. IfThenELSE C.

9、 Do Case D. Do While 28. 不属于SQL Server2000系统全局变量的是( )。 A. Error B. Connections C. Fetch_Status D. Records 29. 属于事务控制的语句是( )。 A. Begin Tran、Commit、RollBack B. Begin、Continue、End C. Create Tran、Commit、RollBack D. Begin Tran、Continue、End 30. SQL Server2000触发器主要针对下列语句创建( )。 A. SELECT、INSERT、DELETE B. IN

10、SERT、UPDATE、DELETE C. SELECT、UPDATE、INSERT D. INSERT、UPDATE、CREATE 31. 下列SQL Server2000语句中出现语法错误的是( )。 A. DECLARE Myvar INT B. SELECT * FROM AAA C. CREATE DATABASE AAA D. DELETE * FROM AAA 32. 索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它能够加快数据的( )速度。 A. 插入 B. 修改 C. 删除 D. 查询 二、填空题 1. SQL Server2000采用 _ 计算模型,通过

11、中央服务器集中存储数据资源。 2. SQL Server2000数据库应用的处理过程分布在 _ 和服务器上。 3. SQL Server2000服务器可以被多台客户机访问,数据库服务器仅返回客户端应用程序所需要的数据,这样做的好处是可以减少 _ 。 4. SQL Server2000提供了动态的自我管理机制,能够自动增大或缩小数据库所占用的 _ 。 5.在网络环境下,当多个用户同时访问数据库时,就会产生并发问题,SQL Server2000是利用 _ 完成并发控制的。 6. SQL Server2000与Windows 2000等操作系统完全集成,可以使用操作系统的用户和域账号作为数据库的 _

12、 。 7. SQL Server2000采用的结构化查询语言称为 _ 。 8. 常见的SQL Server2000的版本一般包括 、 、 、开发版和评估版等。 9. 安装SQL Server2000时需要以本地 _身份登录操作系统。 10. 如果在Windows NT/2000上安装SQL Server2000,需要事先设置至少一个 _ 。 11. 默认情况下,SQL Server2000服务器的名字为 。 12. SQL Server2000服务管理器程序的主要作用是启动、 _ 、 _ 服务器。 13. 在网络多用户环境下,在停止SQL Server2000服务之前,最好先执行 操作。 14

13、. SQL Server2000将数据组织成用户可以看见的逻辑组件,而在磁盘上则作为 _实现。 15. 常用的数据库对象主要包括缺省、约束、用户、图表、用户自定义数据类型、 _ 、 _ 、 _ 、 _ 、 _ 等。 16. SQL Server2000主数据文件、次数据文件和事务日志文件默认的扩展名分别为 、 和 。 17. SQL Server2000的数据库分为_和 _ 两种类型。 18. 每个SQL Server2000数据库下都包括 、 、 和 四个系统数据库。 19. 系统数据库主要用来进行复制、作业调度和管理报警等活动。 20. SQL Server2000客户机传递到服务器上的一

14、组完整的数据和SQL语句称为 _ 。 21. 一般可以使用 命令来标识Transact-SQL批处理的结束。 22. SQL Server2000中的数据类型通常是指字段列、存储过程参数和 _ 的数据特征。 23. varchar数据类型可以自动去掉字段或变量尾部的 _ 以节省空间。 24. SQL Server2000的datetime和smalldatetime数据类型主要用来存储_和_的组合数据。 25. 在SQL Server2000中,通常使用_数据类型来表示逻辑数据。 26. 函数LEFT(abcdef,2)的结果是 。 27. SQL Server2000规定了2种类型的标识符,

15、即_和_。 28. SQL Server2000中的整数类型包括_、_、_和_四种。 29. SQL Server2000中的整数类型分别为bigint、int、smallint和tinyint,它们分别占用_、_、_和_个存储字节。 30. SQL Server2000中的数据类型主要包括_、_、_、二进制、位和双字节等类型。 31. SQL Server2000提供的最常用的管理工具是_和_。 32. 在SQL Server2000中主要是通过使用_运行Transact-SQL语句。 33. 如果希望修改数据库的名字,可以使用的系统存储过程是 。 34. SQL Server2000主要通

16、过查询分析器和_这两种工具来完成数据库的管理工作。 35. 数据库备份和恢复的Transact-SQL语句分别是_和_。 36. 在一个已存在数据的表中增加不带默认值的列,一定要保证所增加的列允许_值。 37. 对表中记录的维护工作主要有增加、_和_操作,它们均可通过企业管理器或Transact-SQL语句完成。 38. 在Transact-SQL语句中需要把日期时间型数据常量用_括起来。 39. 找回被删除表的惟一方法是事先做好数据库的 工作。 40. 可以将视图理解为存储在SQL Server2000数据库中的一条经过预编译的 语句。 41. 是一种常用的改善数据库性能的技术。 42. S

17、QL Server2000中引入索引主要是为了加速_速度,也可保证数据的惟一性。 43. 索引可以加速selcet语句中Order By和_选项的执行速度。 44. 索引一经创建就完全由SQL Server2000系统 选择和维护。 45. 索引会影响对基本表的_、_和_等操作的速度。 46. 从是否改变基本表记录的物理位置角度可将索引分为_和_索引两类。 47. 聚集索引与非聚集索引相比,查询速度更 。 48. 注释是一些说明性的文字,而不是 语句,不参与程序的编译。 49. SQL Server2000支持两种形式的变量,即 和 。 50. 一个局部变量的使用范围局限于一个 内,即两个GO

18、语句之间的那一部分。 51. SQL Server2000中为局部变量赋值的语句是 和 。 52. 触发器是一种特殊的 ,基于表而创建,主要用来保证数据的完整性。 53. 使用create database命令定义一个数据库,包括定义_文件和_文件两个部分。 54. 使用create database命令定义一个数据库,定义其数据文件以关键字_开始,定义日志文件以关键字_开始。 55. 修改数据库定义的命令关键字为_,删除整个数据库的命令关键字为_。 56. 在SQL Server2000中,打开一个数据库使之成为当前库,有_种方法,其中之一使用的命令关键字为_。 57. 索引可以由系统根据约

19、束条件自动建立,也可以由用户通过命令或菜单方式建立,但它的_和_将根据需要由系统自动实现,无须用户过问。 58. 索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它将降低数据的_、_、_速度。 59. 基本表中的记录数越_,每条记录占用的字节数越_时,使用索引就越有利。 60. 创建索引的命令关键字为_,删除索引的命令关键字为_。 61. 在索引命令中使用关键字CLUSTERED或NOCLUSTERED分别表示将建立的是_或_索引。 62. 在基本表的某个列上建立索引,可以使基本表中的所有记录按该列值的_或_排列。 63. 当指定基本表中某一列或若干列为主码时,则系统将在这些

20、列上自动建立一个_、_和_的索引。 64. 当指定基本表中某一列或若干列为UNIQUE约束时,则系统将在这些列上自动_一个唯一值_。 65. 若规定基本表中某一列或若干列为非空和唯一值双重约束,则这些列就是该基本表的_码,若只规定为唯一值约束,则_空值重复出现。 66. 在SQL Server2000中,通常不需要用户建立索引,而是通过使用_约束和_约束,由系统自动建立索引。 68. 单行或行尾注释的开始标记为_,多行注释的开始标记为_,结束标记为_。 68. 局部变量的开始标记为_,全局变量的开始标记为_。 69. 每条_语句能够同时为多个变量赋值,每条_语句只能为一个变量赋值。 70. 定

21、义局部变量的语句关键字为_,被定义的各变量之间必须用_字符分开。 71. 在SQL Server2000中,每个程序块的开始标记为关键字_,结束标记为关键字_。 72. 在SQL Server2000中,前后相邻的语句之间可以使用_、_或_字符分开。 73. 在SQL Server2000中,CASE结构是一个_,只能作为一个_使用在另一个语句中。 74. 在SQL Server2000中,CASE函数具有_种格式,每种格式中可以带有_个WHEN选项,可以带有_个ELSE选项。 75. 在条件结构的语句中,关键字IF和ELSE之间和ELSE之后,可以使用_语句,也可以使用具有_格式的语句块。

22、76. 在循环结构的语句中,当执行到关键字_后将终止整个语句的执行,当执行到关键字_后将结束一次循环体的执行。 77. 声明游标语句的关键字为_,该语句必须带有_子句。 78. 打开和关闭游标的语句关键字分别为_和_。 79. 判断使用FETCH语句读取数据是否成功的全局变量为_。 80. 使用游标对基本表进行修改和删除操作的语句中,WHERE选项的格式为“WHERE _ OF _。 81. 每次执行使用游标的取数、修改或_操作的语句时,能够对表中的_个记录进行操作。 82. 在SQL Server2000中,一个事务是一个_的单位,它把必须同时执行或不执行的一组操作_在一起。 83. 在SQ

23、L Server2000中,一个事务处理控制语句以关键字_开始,以关键字_或_结束。 84. 每个存储过程可以包含_条Transact-SQL语句,可以在过程体中的任何地方使用_语句结束过程的执行,返回到调用语句后的位置。 84. 建立一个存储过程的语句关键字为_,执行一个存储过程的语句关键字为_。 86. 在一个存储过程定义的AS关键字前可以定义该过程的_,AS关键字之后为该过程的_。 87. 触发器是一种特殊的存储过程,它可以在对一个表上进行_、_和_操作中的任一种或几种操作时被自动调用执行。 88. 创建和删除一个触发器的语句关键字为_和_。 89. 在一个表中最多只能有一个关键字为_的

24、约束,关键字为FOREIGN KEY的约束可以出现_次。 90. CHECK约束被称为_约束,UNIQUE约束被称为_约束。 91. 使用一种约束时,可以使用关键字_和标识符_的选项命名该约束,也可以省略该选项由系统自动命名,因为用户很少再使用其约束名。 92. 当一个表带有约束后,执行对表的各种_操作时,将自动_相应的约束,只有符合约束条件的合法操作才能被真正执行。 93. 在SQL Server2000中,数据库的安全机制分为4个等级,分别为客户端_的安全、数据库的_安全、数据库使用安全和数据库对象的使用安全。 94. 数据库的安全管理问题归结为对_和_的管理问题。 95. 要访问SQL

25、Server2000数据库服务器,用户必须提供正确的_和_。 96. 对用户授予和收回数据库操作的语句关键字分别为_和_。 97. 在授予用户访问权限的语句中,所给表名选项以关键字_开始,所给用户名选项以关键字_开始。 98. 在收回用户访问权限的语句中,所给表名选项以关键字_开始,所给用户名选项以关键字_开始。 99. 使用游标取数和释放游标的语句关键字分别为_和_。 三、写出下列每条语句或程序段的功能 假设存在名为AAA的数据库,包括Students(学号 char(8),姓名 varchar(8),年龄 int,专业 varchar(20),入学日期 DateTime)和Score(学号

26、 char(8),课程名 varchar(10),成绩 numeric(5,2))两张表。 1. SELECT * FROM Students WHERE DATEPART(year,入学日期) =DATEPART(year,GETDATE() 2. DECLARE MyNO CHAR(8) SET MyNO=20030001 IF (SELECT 专业 FROM Students WHERE 学号=MyNO)=计算机软件 BEGIN SELECT AVG(成绩) AS 平均成绩 FROM Score WHERE 学号=MyNO END ELSE PRINT 学号为 +MyNO+的学生不存在或

27、不属于软件专业 GO 3. declare a numeric(5,2) set a=(select avg(成绩) from score) select * from score where 成绩=a 4. declare a numeric(5,2),b numeric(5,2) set a=(select max(成绩) from score) set b=(select min(成绩) from score) print a-b 5. declare a char(6) set a=刘亮 if(exists(select * from students where 姓名=a) prin

28、t 姓名为+a+的同学存在! else print 姓名为+a+的同学不存在! 6. declare a char(8) set a=计算机 select 计算机专业人数=count(*) from students where left(专业,3)=a 7. select year(入学日期) as 入学年份,count(*) as 人数 from students group by year(入学日期) 8. select month(入学日期) as 入学月份,count(*) as 人数 from students group by month(入学日期) 9. select day(

29、入学日期) as 入学日号,count(*) as 人数 from students group by day(入学日期) 10. create procedure xxk1 as begin select * from students x,score y where x.学号=y.学号 end 11.create procedure xxk2 as begin select x.学号,x.姓名,x.专业,count(*) as 门数 from students x,score y where x.学号=y.学号 group by x.学号,x.姓名,x.专业 end 12.create p

30、rocedure xxk3 as begin select 学号,avg(成绩) as 平均成绩 from score group by 学号 end 13.create procedure xxk4 ( a char(8),b varchar(10),c numeric(5,2) ) as begin update score set 成绩=c where 学号=a and 课程名=b end 14.create procedure xxk5 ( a char(8),b varchar(10),c numeric(5,2) ) as begin insert into score value

31、s(a,b,c) end 15.create procedure xxk6 ( a char(8),b varchar(10) ) as begin delete from score where 学号=a and 课程名=b end 16.eclare a char(8),b varchar(10),c numeric(5,2) declare d int set d=0 declare xxx cursor for select 学号,课程名,成绩 from score open xxx fetch xxx into a,b,c while fetch_status=0 begin set

32、 d=d+1 fetch from xxx into a,b,c end close xxx deallocate xxx print d 17.declare a char(8),b varchar(10),c numeric(5,2) declare xxx cursor for select 学号,课程名,成绩 from score open xxx fetch xxx into a,b,c while fetch_status=0 begin print a+replicate( ,3) +b+str(c)+replicate( ,3) +(case when c=90 then 优秀

33、 when c=70 then 良好 when c=60 then 及格 else 不及格 end ) fetch from xxx into a,b,c end close xxx deallocate xxx 18.declare c numeric(5,2) declare c1 int, c2 int, c3 int, c4 int set c1=0; set c2=0; set c3=0; set c4=0 declare xxx cursor for select 成绩 from score open xxx fetch xxx into c while fetch_status=0 begin if(c=90) set c1=c1+1; else if(c=70) set c2=c2+1; else if(c=60) set c3=c3+1; else set c4=c4+1 fetc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1