数据库课后习题参考答案 下载本文

内容发布更新时间 : 2024/5/11 16:51:22星期一 下面是文章的全部内容请认真阅读。

. . . .

C.视图只能建立在基本表上

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

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

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

A.内模式 C.外模式

B.模式 D.概念模式

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

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

SELECT 所在系, COUNT(*) FROM 学生表 GROUP BY 所在系 9.设用户在某数据库中经常需要进行如下查询操作:

A

. word资料可编辑 .

. . . .

SELECT * FROM T WHERE C1=’A’ ORDER BY C2

设T表中已在C1列上建立了主码约束,且该表只建有该约束。为提高该查询的执行效率,下列方法中可行的是

C

A.在C1列上建立一个聚集索引,在C2列上建立一个非聚集索引 B.在C1和C2列上分别建立一个非聚集索引 C.在C2列上建立一个非聚集索引

D.在C1和C2列上建立一个组合的非聚集索引 10.下列关于索引的说法,正确的是

C

A.只要建立了索引就可以加快数据的查询效率

B.当一个表上需要创建聚集和非聚集索引时,应该先创建非聚集索引,然后再创建聚集索引,这种顺序会使创建索引的效率比较高 C.在一个表上可以建立多个唯一的非聚集索引

D.索引会影响数据插入和更新数据的执行效率,但不会影响删除数据的执行效率 11.下列关于CREATE UNIQUE INDEX IDX1 ON T(C1,C2)语句作用的说法,正确的是 D

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

二. 填空题

1.对视图的操作最终都转换为对_____操作。 基本表

2.视图是虚表,在数据库中只存储视图的_____,不存储视图的数据。 定义

. word资料可编辑 .

. . . .

3.修改视图定义的语句是_____。 ALTER VIEW 4.视图对应数据库三级模式中的_____模式。 外

5.在一个表上最多可以建立_____个聚集索引,可以建立_____个非聚集索引。 一 ,多

6.当在T表的C1列上建立聚集索引后,数据库管理系统会将T表数据按 _____ 列进行 _____。 C1 物理排序

7.索引建立的合适,可以加快数据_____操作的执行效率。 查询

8.在employees表的phone列上建立一个非聚集索引的SQL语句是_____

CREATE INDEX IDX1 ON employees(phone)

或:CREATE NONCLUSTERED INDEX IDX1 ON employees(phone)

9.设有student表,结构为Student(Sno,Sname,Sdept)。现要在该表上建立一个统计每个系的学生人数的视图,视图名为V_dept,视图结构为(系名,人数)。请补全下列定义该视图的SQL语句 V_dept (系名,人数) , GROUP BY Sdept CREATE VIEW _____ AS

SELECT Sdept, COUNT(*) _____

10.非聚集索引的B-树中,叶级节点中每个索引行由索引键值和_____组成。 行指示器

三. 简答题

1. 试说明使用视图的好处。

. word资料可编辑 .

. . . .

答:利用视图可以简化客户端的数据查询语句,使用户能从多角度看待同一数据,可以提高数据的安全性,视图对应数据库三级模式中的外模式,因此提供了一定程度的逻辑独立性。

2. 试说明哪类视图可实现更新数据的操作,哪类视图不可实现更新数据的操作。

答:一般只涉及到一张表的行列子集,且不含分组、统计计算等操作的视图是可更新数据的,其他情况一般都不能实现数据的更新操作。

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

答:不对,因为通过视图查询数据时,比直接针对基本表查询数据多了一个转换过程,即从外模式到模式的转换。

4. 索引的作用是什么?

答:索引可以加快数据的查询效率。

5. 索引分为哪几种类型?分别是什么?它们的主要区别是什么

答:分为聚集索引和非聚集索引两种。聚集索引会对数据进行物理排序,非聚集索引不对数据进行物理排序。

6. 聚集索引一定是唯一性索引,对吗?反之呢? 答:不对。反之也不对。

7. 在建立聚集索引时,数据库管理系统首先要将数据按聚集索引列进行物理排序。对吗?

. word资料可编辑 .

. . . .

答:对。

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

9. 不管对表进行什么类型的操作,在表上建立的索引越多越能提高操作效率。对吗? 10. 答:不对。

11. 适合建立索引的列是什么? 答:适合建立索引的情况:

? 包含大量非重复值的列。

? 在WHERE子句中经常用于进行BETWEEN AND、>、>=、< 和 <=等操作的列。 ? 经常被用作连接操作的列。

? ORDER BY或GROUP BY子句中涉及的列。

四.上机练习

1. 写出创建满足下述要求的视图的SQL语句,并执行这些语句。将所写语句保存到一个文件中。 (1) 查询学生的学号、姓名、所在系、课程号、课程名、课程学分。 答:Create view v1 As

Select s.sno,sname,sdept,c.cno,cname,credit From student s join sc on s.sno = sc.sno Join course c on c.cno = sc.cno

. word资料可编辑 .