(完整word版)数据库原理与技术课程习题答案

11. TOP 子句的作用是什么?

答:只希望列出结果集中的前几行结果,而不是全部结果。需要使用TOP子句来限制产生的结果集行数。

第6章

一. 选择题

1.下列关于视图的说法,正确的是 B

A.视图与基本表一样,其数据也被保存到数据库中 B.对视图的操作最终都转换为对基本表的操作 C.视图的数据源只能是基本表

D.所有视图都可以实现对数据的增、删、改、查操作

2.下列关于在视图的定义语句中可以包含的语句的说法,正确的是 A

A.只能包含数据查询语句

B.可以包含数据增、删、改、查语句 C.可以包含创建表的语句 D.所有语句都可以

3.视图对应数据库三级模式中的 A

A. 外模式 B. 内模式 C. 模式 D. 其他 4.下列关于通过视图更改数据的说法,错误的是 D

A.如果视图的定义涉及到多张表,则对这种视图一般情况下允许进行更改操作 B.如果定义视图的查询语句中含有GROUP BY子句,则对这种视图不允许进行更改操作 C.如果定义视图的查询语句中含有聚合函数,则对这种视图不允许进行更改操作 D.如果视图数据来自单个基本表的行、列选择结果,则一般情况下允许进行更改操作 5.下列关于视图的说法,正确的是 B

A.通过视图可以提高数据查询效率 B.视图提供了数据的逻辑独立性 C.视图只能建立在基本表上

D.定义视图的语句可以包含数据更改语句 6.创建视图的主要作用是 D

A.提高数据查询效率 B.维护数据的完整性约束 C.维护数据的一致性 D.提供用户视角的数据

7.建立索引可以加快数据的查询效率。在数据库的三级模式结构中,索引属于 A

A.内模式 B.模式 C.外模式 D.概念模式 8.设有学生表(学号,姓名,所在系)。下列建立统计每个系的学生人数的视图语句中,正确的是 D

A.CREATE VIEW v1 AS

SELECT 所在系, COUNT(*) FROM 学生表 GROUP BY 所在系 B.CREATE VIEW v1 AS

SELECT 所在系, SUM(*) FROM 学生表 GROUP BY 所在系 C.CREATE VIEW v1(系名,人数) AS

11

SELECT 所在系, SUM(*) FROM 学生表 GROUP BY 所在系 D.CREATE VIEW v1(系名,人数) AS

SELECT 所在系, COUNT(*) FROM 学生表 GROUP BY 所在系 9.下列关于索引的说法,正确的是 C

A.只要建立了索引就可以加快数据的查询效率 B.在一个表上可以创建多个聚集索引

C.在一个表上可以建立多个唯一的非聚集索引

D.索引会影响数据插入和更新的执行效率,但不会影响删除数据的执行效率 10. “CREATE UNIQUE INDEX IDX1 ON T(C1,C2) ”语句的作用是 D

A.在C1和C2列上分别建立一个唯一聚集索引 B.在C1和C2列上分别建立一个唯一非聚集索引 C.在C1和C2列的组合上建立一个唯一聚集索引 D.在C1和C2列的组合上建立一个唯一非聚集索引

二、简答题

1. 索引的作用是什么? 答:在数据库中建立索引是为了加快数据的查询速度。索引使对数据的查找不需要对整个表进行扫描,就可以在其中找到所需数据。

2. 索引分为哪几种类型?分别是什么?它们的主要区别是什么? 答:索引分为两大类,一类是聚集索引(Clustered Index,也称为聚簇索引),另一类是非聚集索引(Non-Clustered Index,也称为非聚簇索引)。聚集索引对数据按索引关键字值进行物理排序,非聚集索引不对数据按索引关键字值进行物理排序,而只将索引关键字按值进行排序。

3. 在一个表上可以创建几个聚集索引?可以创建多个非聚集索引吗? 答:在一个表中只能创建1个聚焦索引,可以创建多个非聚焦索引。

4. 聚集索引一定是唯一性索引,是否正确?反之呢?

答:聚焦索引是唯一性索引,但唯一性索引不一定是聚焦索引,也可以是非聚焦索引。

5. 在建立聚集索引时,数据库管理系统是真正将数据按聚集索引列进行物理排序。是否正

确? 答:是

6. 在建立非聚集索引时,数据库管理系统并不对数据进行物理排序。是否正确? 答:是

7. 不管对表进行什么类型的操作,在表上建立的索引越多越能提高数据操作效率。是否正

确? 答:不是

8. 索引通常情况下可以提高哪个数据操作的效率? 答:可提高查询操作的效率

12

9.试说明使用视图的好处。 答:视图的好处有:(1)简化数据查询语句,(2)使用户能从多角度看待同一数据,(3)提高了数据的安全性,(4)提供了一定程度的逻辑独立性.

10.使用视图可以加快数据的查询速度,这句话对吗?为什么?

答:不对,因为视图并没有保存数据,对视图的查询要转换成为对基本表的查询,这个转换需要时间,它会降低查询效率。

第7章

二. 选择题

1.下列关于触发器的说法,正确的是 B

A.在一个表的一个操作上不能建立多个后触发型触发器 B.在一个表的一个操作上不能建立多个前触发型触发器

C.后触发型触发器只执行触发器,而不执行引发触发器执行的数据操作语句 D.后触发型触发器是在触发器执行完成后,再执行引发触发器的数据操作语句 2.设有商品表(商品号,商品名,单价)和销售表(商品号,销售时间,销售单价),若要限制商品的销售价格必须大于商品的单价,下列做法正确的是 D

A.在商品表的单价列上建立一个插入操作的触发器 B.在商品表上建立一个插入和更新操作的触发器

C.在销售表的销售单价列上建立一个插入操作的触发器 D.在销售表上建立一个插入和更新操作的触发器 3.若要限制SC表中Grade列的取值范围在0-100之间,下列做法中最合适的是 B

A.在SC表上建立一个插入和更新操作的后触发型触发器 B.在SC表上建立一个插入和更新操作的前触发型触发器 C.在SC表上建立一个CHECK约束

D.在SC表的Grade列上建立一个CHECK约束 4.下列关于存储过程的说法,错误的是 C

A.利用存储过程机制可以提高数据的操作效率 B.存储过程支持输入和输出参数

C.在定义存储过程的语句中只能包含查询语句 D.存储过程可以只包含输入参数,不包含输出参数

5.下列定义存储过程头部的语句,正确的是 C

A.create proc p1 x,y int as … B.create proc p1 @x,@y int as … C.create proc p1 @x int,@y int as … D.create proc p1 @x,@y int output as …

三. 简答题

1. 前触发型触发器和后触发型触发器的主要区别是什么?

答:使用FOR或AFTER选项定义的触发器为后触发型的触发器,即只有在引发触发器执

13

行的语句中指定的操作都已成功执行,才执行触发器。

使用INSTEAD OF选项定义的触发器为前触发型触发器。在这种模式的触发器中,指定执行触发器而不是执行引发触发器执行的SQL语句,从而替代引发语句的操作。

2. 触发器的主要作用是什么? 答:触发器是一段由对数据的更改操作引发的自动执行的代码,这些更改操作包括UPDATE、INSERT或DELETE。触发器通常用于保证业务规则和数据完整性,其主要优点是用户可以用编程的方法实现复杂的处理逻辑和商业规则,增强了数据完整性约束的功能。

3. 存储过程的作用是什么?

答:存储过程是 SQL 语句和控制流语句的预编译集合,它以一个名称存储并作为一个单元处理,应用程序可以通过调用的方法执行存储过程。存储过程使得对数据库的管理和操作更加容易,并且可以提高数据的操作效率。

4. 存储过程的好处有哪些? 答:好处有:(1)允许模块化程序设计,(2)改善性能,(3)减少网络流量,(4)可作为安全机制使用

5. 存储过程的参数有几种形式?

答:存储过程的参数有两种类型,一种是输入参数,另一种是输出参数。

14

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4