课后习题(2)

2018-12-06 19:55

习 题 7

1.名词解释:

视图 索引 聚集索引 唯一索引 答:

视图:是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是数据库中只存放视图的定义而不存放视图的数据。

索引:是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物理顺序。这种索引对查询非常有效,在每一张基本表中只能有一个聚集索引。

唯一索引:不允许具有索引值相同的行,从而禁止重复的索引或键值。并在每次使用 INSERT 或 UPDATE 语句添加数据时进行检查

5. 对于教务管理数据库中基本表SC,建立视图如下: CREATE VIEW S_GRADE(SNO,C_NUM,AVG_GRADE) AS SELECT SNO,COUNT(CNO),AVG(GRADE) FROM SC

GROUP BY SNO

试判断下列查询和更新是否允许执行。若允许,写出转换到基本表SC上的相应操 作:

(1) SELECT * FROM S_GRADE (2) SELECT SNO,C_NUM FROM S_GRADE

WHERE AVG_GRADE>80; (3) SELECT SNO,AVG_GRADE FROM S_GRADE

WHERE C_NUM>(SELECT C_NUM FROM S_GRADE SNO=’200912121’); (4) UPDATE S_GRADE

SET C_NUM=C_NUM+1 WHERE SNO=’200915122’ (5) DELETE FROM S_GRADE WHERE C_NUM>4;

解:

答:⑴ 允许查询。相应的操作如下:

SELECT SNO,COUNT(CNO) AS C_NUM,AVG(GRADE) AS AVG_GRADE FROM SC

GROUP BY SNO;

⑵ 允许查询。相应的操作如下:

SELECT SNO,COUNT(CNO)AS C_NUM FROM SC

GROUP BY SNO

HAVING AVG(GRADE)>80;

⑶ 允许查询。相应的操作如下:

SELECT SNO,AVG(GRADE) AS AVG_GRADE FROM SC

GROUP BY SNO

HAVING COUNT(CNO)>(SELECT COUNT(CNO) FROM SC

GROUP BY SNO

HAVING SNO=’200912121’);

⑷ 不允许。C_NUM是对SC中的学生选修课程的门数进行统计,在未更改SC表时,要在视图S_GRADE中更改门数,是不可能的。

⑸ 不允许。在视图S_GRADE中删除选修课程的门数在4门以上的学生元组,势必造成SC中这些学生学习元组的删除,这不一定是用户的原意,因此使用分组和聚合操作的视图,不允许用户执行更新操作。

6.简述创建索引的必要性和作用。

答:数据库的索引就类似于书籍的目录,如果想快速查找而不是逐页查找指定的内容,可以通过目录中章节的页号找到其对应的内容。类似地,索引通过记录表中的关键值指向表中的记录,这样数据库引擎就不用扫描整个表而定位到相关的记录。相反,如果没有索引,则会导致SQL Server搜索表中的所有记录,以获取匹配结果,这样就会大大降低查询的效率。


课后习题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《薪酬节税设计》学习安排 (1)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: