数据库综合复习题(2)
一、单选题
1. 以下对SQL Server描述不正确的是( )。
A. 支持XML B. 支持用户自定义函数 C. 支持邮件集成 D. 支持网状数据模型
2. 如果在SQL Server上运行一个非常大的数据库,为取得较好效果应选用安装( )。 A. 企业版 B. 标准版 C. 个人版 D. 开发版 3. Transact-SQL对标准SQL的扩展主要表现为( )。 A. 加入了程序控制结构和变量 B. 加入了建库和建表语句
C. 提供了分组(Group By)查询功能 D. 提供了Min、Max等统计函数
4. 语句“USE master GO SELECT * FROM sysfiles GO”包括( )个批处理。 A. 1 B. 2 C. 3 D.4
5. SQL Server的字符型系统数据类型主要包括( )。
A. Int、money、char B. char、varchar、text C. datetime、binary、int D. char、varchar、int
6. 如果要在SQL Server中存储图形图像、Word文档文件,不可采用的数据类型是( A. binary B. varbinary C. image D. text 7. 下面关于Timestamp数据类型描述正确的是:( )。 A. 是一种日期型数据类型
B. 是一种日期和时间组合型数据类型 C. 可以用来替代传统的数据库加锁技术 D. 是一种双字节数据类型 8. 下列命令不能执行的是( )。
A. SELECT * FROM [select] B. SELECT * FROM @MyTable C. SELECT * FROM [MyTable] D. SELECT * FROM MyTable 9. 下面关于索引的描述不正确的是( )。 A. 索引是一个指向表中数据的指针 B. 索引是在列上建立的一种数据库对象
C. 索引的建立和撤消对表中的数据毫无影响 D. 表被撤消时将同时撤消在其上建立的索引 10. 以下哪种情况应尽量创建索引( )。 A. 在Where子句中出现频率较高的列 B. 具有很多NULL值的列 C. 记录较少的基本表 D. 需要更新频繁的基本表
11. 下面关于聚集索引和非聚集索引说法正确的是( )。 A. 每个表只能建立一个非聚集索引
B. 非聚集索引需要较多的硬盘空间和内存
。) C. 一张表上不能同时建立聚集和非聚集索引 D. 一个复合索引只能是聚集索引
12. “Create Unique Index AAA On 学生表(学号)”将在学生表上创建名为AAA的( )。 A. 惟一索引 B. 聚集索引 C. 复合索引 D. 唯一聚集索引 13. SQL Server提供的单行注释语句是使用( )开始的一行内容。 A. “/*” B. “--” C. “{” D. “/” 14. 以下软件产品中,是数据库管理系统的是( )。 A. PowerBuilder B. DB2
C. Delphi D. Visual Basic 15. 生产出DB2数据库产品的公司是( )。
A. IBM B. ORACLE C. Borland D. Microsoft 16. Delphi是( )。
A. 数据库软件 B. 图形处理软件 C. 系统软件 D. 应用开发软件 17. PowerBuilder是( )。
A. IBM公司的产品 B. ORACLE公司的产品 C. SYBASE公司的产品 D. Microsoft公司的产品
18. 面向对象数据库用面向对象数据模型去映射客观世界,不仅存储数据,而且存储定义在数据上的( )。
二、填空题
1. SQL Server与Windows 2000等操作系统完全集成,可以使用操作系统的用户和域账号作为数据库的 ____ 。
2. SQL Server采用的结构化查询语言称为 ______ 。
3. 常见的SQL Server2000的版本一般包括 、 、 、开发版和评估版等。
4. 安装SQL Server时需要以本地 _______身份登录操作系统。
5. 如果在Windows NT/2000上安装,需要事先设置至少一个 ______ 。
6. SQL Server主数据文件、次数据文件和事务日志文件默认的扩展名分别为 、 和 。
7. SQL Server的数据库分为____________和 ____ 两种类型。
8. 每个SQL Server数据库下都包括 、 、 和 四个系统数据库。
9. 系统数据库主要用来进行复制、作业调度和管理报警等活动。
10. SQL Server客户机传递到服务器上的一组完整的数据和SQL语句称为 __ 。
11. SQL Server中的数据类型主要包括________、________、________、二进制、位和双字节等类型。
12. SQL Server提供的最常用的管理工具是______________和______________。
13. Microsoft SQL Server2000是运行在__________操作系统平台上的、逻辑模型为________型数据库管理系统。
14. 在一个已存在数据的表中增加一列,一定要保证所增加的列允许________值。
15. 对表中记录的维护工作主要有增加、________和________操作,均可通过企业管理器或
Transact-SQL语句完成。
16. 在Transact-SQL语句中需要把日期时间型数据常量用__________括起来。 17. 找回被删除表的惟一方法是事先做好数据库的 工作。
18. 可以将视图理解为存储在SQL Server数据库中的一条经过预编译的 语句。 19. 是一种常用的改善数据库性能的技术。
20. SQL Server中为局部变量赋值的语句是 和 。
21. 触发器是一种特殊的 ,基于表而创建,主要用来保证数据的完整性。
22. 使用create database命令定义一个数据库,包括定义__________文件和__________文件两个部分。
23. 使用create database命令定义一个数据库,定义其数据文件以关键字________开始,定义日志文件以关键字________开始。
24. 修改数据库定义的命令关键字为________________,删除整个数据库的命令关键字为________________。
25. 在SQL Server中,打开一个数据库使之成为当前库,有________种方法,其中之一使用的命令关键字为_______。
26. 在SQL Server中,通常不需要用户建立索引,而是通过使用________约束和________约束,由系统自动建立索引。
27. 单行或行尾注释的开始标记为________,多行注释的开始标记为________,结束标记为________。
28. 局部变量的开始标记为______,全局变量的开始标记为________。
29. 每条________语句能够同时为多个变量赋值,每条________语句只能为一个变量赋值。 30. 定义局部变量的语句关键字为__________,被定义的各变量之间必须用________字符分开。
31. 在SQL Server中,每个程序块的开始标记为关键字__________,结束标记为关键字________。
32. 每次执行使用游标的取数、修改或________操作的语句时,能够对表中的________个记录进行操作。
33. 在SQL Server中,一个事务是一个__________的单位,它把必须同时执行或不执行的一组操作________在一起。
34. 在SQL Server中,一个事务处理控制语句以关键字________________开始,以关键字________________或________________结束。
35. 每个存储过程可以包含________条Transact-SQL语句,可以在过程体中的任何地方使用__________语句结束过程的执行,返回到调用语句后的位置。
36. 建立一个存储过程的语句关键字为________________,执行一个存储过程的语句关键字为____________。
37. 要访问SQL Server数据库服务器,用户必须提供正确的__________和__________。 38. 对用户授予和收回数据库操作的语句关键字分别为__________和__________。
39. 在授予用户访问权限的语句中,所给表名选项以关键字________开始,所给用户名选项以关键字________开始。
40. 在收回用户访问权限的语句中,所给表名选项以关键字________开始,所给用户名选项以关键字________开始。
41. Visual FoxPro的发展过程所经历的三个发展阶段(除本身之外)依次为__________、
__________和__________阶段。
42. 从Visual FoxPro 6.0发布后,Microsoft公司就把它同____________、____________和______________等软件产品一起捆绑销售。
43. Visual FoxPro具有易于使用、______________、______________和______________等优点。
44. Visual FoxPro 6.0是运行与____________和____________平台的32位的关系数据库开发系统。
45. Visual FoxPro 6.0是运行于Windows 95和Windows NT平台的__________位的__________型数据库开发系统。
46. 类中每个对象称为_________。同一类的对象具有共同的_________和________,它们可以在类中统一说明,而不必在类的每个实例中重复。
47. 在第四代编程语言(4GL)中,RAD表示_________。
48. 在PB中有一个智能型、功能强大的对象被称为_________。利用它,软件人员无需编写专门的SQL语句,就可以完成对________数据库进行查询、修改、更新、插入、删除和打印等操作。 49. Delphi是国际著名的软件工具开发厂商_________公司的产品,Delphi实际上是_________语言的一种版本。
50. Visual Basic是_________公司推出的几乎是最早的可视化_________,从VB首次推出至今已经经历了多个版本,目前广泛使用的是VB 6.0。
三、根据主教材第四章所给的商品库和教学库,按照下列所给的每条SQL查询语句写出相应的功能。
在名称为商品库的数据库中包含有商品表1和商品表2,它们的定义分别为: 商品表1(商品代号 char(8),分类名 char(8),单价 float,数量 int) 商品表2(商品代号 char(8),产地 char(6),品牌 char(6))
在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为: 学生(学生号 char(7),姓名 char(6),性别 char(2),出生日期 datetime, 专业 char(10),年级 int)
课程(课程号 char(4),课程名 char(10),课程学分 int) 选课(学生号 char(7),课程号 char(4),成绩 int)
1.select * from 学生
where exists (select * from 选课
where 学生.学生号=选课.学生号
group by 选课.学生号 having count(*)=3 )
2.select * from 学生
where 学生号 in (select 学生号 from 选课
group by 学生号 having count(*)<=2 ) or not exists (select * from 选课
where 学生.学生号=选课.学生号 )
3.select 专业,count(*) as 专业人数 from 学生 group by 专业
order by 专业人数 desc
4.select 专业,性别,count(*) as 人数 from 学生
group by 专业,性别 order by 专业
5.select x.*,课程名,课程学分,成绩 from 学生 x,课程 y,选课 z
where x.学生号=z.学生号 and y.课程号=z.课程号 order by x.学生号,z.成绩
6.select *
from 学生
where not exists (select y.课程号
from 学生 x inner join 选课 y on x.学生号=y.学生号 where x.姓名=@a and not exists (select * from 选课
where 学生.学生号=选课.学生号 and y.课程号=选课.课程号 ) )
四、根据教材第四章所给的商品库和教学库,按照下列所给的每种功能写出相应的查询语句。 在名称为商品库的数据库中包含有商品表1和商品表2,它们的定义分别为: 商品表1(商品代号 char(8),分类名 char(8),单价 float,数量 int) 商品表2(商品代号 char(8),产地 char(6),品牌 char(6))
在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为: 学生(学生号 char(7),姓名 char(6),性别 char(2),出生日期 datetime, 专业 char(10),年级 int)
课程(课程号 char(4),课程名 char(10),课程学分 int) 选课(学生号 char(7),课程号 char(4),成绩 int)
1.从商品库中查询出数量最多的一种商品。