欢迎来到天天文库
浏览记录
ID:50315095
大小:44.00 KB
页数:3页
时间:2020-03-08
《数据库原理及应用(SQL Server 2008) 教学课件 作者 978-7-302-26471-2第7章 索引与视图-ANSWER.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、7.6.1选择题1234567891011AABACACCADA7.6.2填空题1.聚集索引非聚集索引唯一性索引索引视图2.修改数据3.创建表4.删除5.表扫描使用索引查找7.6.3简答题1.分析索引的优点和缺点。答:这是因为创建索引可以大大提高系统的性能:(1)通过创建唯一性索引,可以保证每一行数据的唯一性。(2)可以大大加快数据的检索速度,这也是索引的最主要的原因。(3)可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。(4)在使用ORDERBY和GROUPBY子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。(5)通过使
2、用索引,可以在查询的过程中使用优化隐藏器,提高系统的性能。既然增加索引有如此多的优点,为什么不对表中的每一个列创建一个索引呢?虽然索引有许多优点,但是为表中的每一个列都增加索引是非常不明智的做法。这是因为增加索引也有缺点:(1)创建索引和维护索引要耗费时间。(2)索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间。如果要建立聚集索引,那么需要的空间就会更大。(3)当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。2.堆结构的特点是什么?答:堆是不含聚集索引的表,表中的数据没有任何的顺序。堆结
3、构中数据按照插入的先后次序存放,堆文件的数据页面不一定在物理上相邻。堆文件执行插入操作很容易,但是效率不高。因为堆文件只能执行顺序扫描,这对范围查询很有效,但对于随机查询(单个记录)的效率很低。查询最少的次数为1,最多的次数为N(N为记录数),平均次数为(N+1)/2。如果N比较大,耗费的CPU和I/O资源都会很大。3.什么是聚集索引和非聚集索引?比较这两种索引结构的特点。答:聚集索引是一种数据表的物理顺序与索引顺序相同的索引。建立索引时,系统将对表的物理数据页中的数据按列进行排列,然后再重新存储到磁盘上,即聚集索引与数据是混为一体的。非聚集索引是一种数据
4、表的物理顺序与索引顺序不相同的索引。非聚集索引与聚集索引具有相同的B树结构,但是在非聚集索引中,基础表的数据行不是按照非聚集键的顺序排序和存储,且非聚集索引的叶级是由索引页而不是由数据页组成。非聚集索引既可以定义在表或视图的聚集索引上,也可以定义在表或视图的堆上。非聚集索引中的每一个索引行都是由非聚集键值和行定位符组成,该行定位符指向聚集索引或堆中包含该键值的数据行。当在一个聚集索引上构建非聚集索引时,索引中的指针值就是数据行的聚集索引键值。4.为什么要使用视图?答:视图是查看数据库表中数据的一种方式。视图提供了存储预定义的查询语句作为数据库中的对象以备以
5、后使用的能力。视图是一种逻辑对象,是一种虚拟表。视图结合了基本表和查询两者的特性:用户可以使用视图从一个或多个相关的基表中提取一个数据集(查询特性);用户能运用视图去更新视图中的信息,并且持久地存储到磁盘(表特性)。5.视图的数据来自何处?能否说视图不占据任何的物理空间,为什么?答:视图是一种逻辑对象,是一种虚拟表。除非是索引视图,否则视图不占物理存储空间。在视图中被查询的表称为视图的基表。大多数的SELECT语句都可以用在视图的创建中。不能说视图不占据任何的物理空间。因为,一般情况下的视图都是标准视图,它是一个虚拟表并不占物理存储空间。如果希望提高聚合多
6、行数据的视图性能,那么可以创建索引视图。索引视图是被物理化的视图,它包含有经过计算的物理数据。6.如何使用CREATEVIEW语句创建视图?答:使用Transact-SQL语句中的CREATEVIEW命令创建视图的语法形式如下:CREATEVIEWview_name[(column[,...n])][WITH[,...n]]ASselect_statement[WITHCHECKOPTION]::={ENCRYPTION
7、SCHEMABINDING
8、VIEW_METADATA}7.如何创建索引
9、视图?答:创建索引视图时,视图不能引用任何其他视图,只能引用基表。另外,必须使用SCHEMABINDING子句将视图绑定到架构。8.如何查看视图的定义文本?答:使用系统存储过程语句sp_helptext查看视图、触发器、存储过程在系统表中的定义文本,其语法形式如下:sp_helptext[@objname=]‘name’参数[@objname=]‘name’为对象的名称,对象必须在当前数据库中。7.7上机实验(1)建立索引1)USEstuGoCREATEINDEXindex_SnoON_Student(Sno)___2)USEstuGoCREATE_NOC
10、LUSTEREDINDEXindex_CnoONCourses(C
此文档下载收益归作者所有