欢迎来到天天文库
浏览记录
ID:59239047
大小:120.50 KB
页数:45页
时间:2020-09-26
《第八章 SQL Server数据库应用开发技术ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章索引与视图知识技能目标:1.理解索引的概念、索引种类和创建索引的优缺点2.熟练掌握索引的创建和删除3.理解视图的概念及使用视图的优缺点4.熟练掌握视图的创建、查看、修改、删除、更名5.熟练掌握通过视图查询和更新数据方法第8章索引与视图引导案例:前面的章节中已经创建了教务管理数据库,输入了相应的数据。数据库建立起来后,就可以操作数据库中的数据了,其中最主要的操作就是查询操作。为了提高查询的效率,就需要在相应的表上创建索引,为了增强查询的灵活性,就需要在表的基础上创建视图,满足用户复杂的查询需要。本章介绍这两方面的技术。第8章
2、索引与视图8.1索引概念8.2索引的创建与管理8.3索引的维护8.4视图概念8.5视图的创建与管理8.6通过视图查询和更新数据小结8.1索引概念8.1.1索引的概念用户对数据库最频繁的操作是数据查询,一般情况下,执行查询操作时,需要对整个表进行数据搜索。当表中的数据很多时,搜索就需要很长的时间,为了提高检索数据的效率,数据库引入了索引机制。在数据库中,使用索引无须对整个表扫描,就可以找到所需要的数据。索引是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。可以在表或视图的一列或多列上创建索引,基
3、于两列或多列上建立的索引称为复合索引。如果表中任意两行被索引的列值不允许出现重复值,那么这种索引称为唯一(UNIQUE)索引。返回目录8.1索引概念8.1.2聚簇索引和非聚簇索引按照索引的组织方式,可以将索引分为聚集索引和非聚集索引。1.聚簇索引(ClusteredIndex)对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即聚簇索引与数据是混为一体的,它的叶节点中存储的是实际的数据。可以在表或视图的一列或多列上的组合上创建索引,在实际开发中,一般在定义成主键的列建立聚集索引,且创建主键约束时,若表中没有聚集索引,
4、则SQLServer将主键列作为聚集索引列。在每个表中只能创建一个聚集索引。返回目录8.1索引概念8.1.2聚簇索引和非聚簇索引2.非聚簇索引(NonclusteredIndex)非聚集索引与书中内容的组织方式类似,数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置,索引中的项目按键值的顺序存储,而表中的数据按另一种顺序存储,具有完全独立于数据行的结构,使用非聚集索引不用将物理数据页中的数据按列排序。在表中,最多可以建立250个非聚集索引,或者249个非聚集索引和1个聚集索引。返回目录8.1索引概念8.1.
5、3创建索引的优缺点1.创建索引的优点通过创建唯一索引,可以保证数据记录的唯一性。可以大大加快数据检索速度。可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。在使用ORDERBY和GROUPBY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。返回目录8.1索引概念8.1.3创建索引的优缺点2.创建索引的缺点创建索引要花费时间和占用存储空间。建立索引加快了数据检索速度,却减慢了数据修改速度。返回目录8.1索引概念8.1.4考虑建索引的列和不考
6、虑建索引的列1.考虑建索引的列如果在一个列上创建索引,该列就称为索引列。索引列中的值称为关键字值。考虑建索引的列有以下这些列:(1)主键:通常检索、存取表是通过主键来进行的。因此,应该考虑在主键上建立索引。(2)连接中频繁使用的列:用于连接的列若按顺序存放,系统可以很快地执行连接。如外键,除用于实现参照完整性外,还经常用于进行表的连接。(3)在某一范围内频繁搜索的列和按排序顺序频繁检索的列。返回目录8.1索引概念8.1.4考虑建索引的列和不考虑建索引的列2.不考虑建索引的列建立索引需要产生一定的存储开销,在进行插入和更新数据的操
7、作时,维护索引也要花费时间和空间。一般来说,如下一些列不考虑建立索引:(1)很少或从来不在查询中引用的列,因为系统很少或从来不根据这个列的值去查找数据行。(2)只有两个或很少几个值的列(如性别,只有两个值“男”或“女”),以这样的列创建索引并不能实现建立索引的好处。(3)以bit、text、image数据类型定义的列。(4)数据行数很少的小表一般也没有必要创建索引。返回目录8.2索引的创建与管理8.2.1用T-SQL语句创建索引用T-SQL语句创建索引,通过使用CREATEINDEX语句来实现。语法格式:CREATE[UNIQU
8、E][CLUSTERED
9、NONCLUSTERED]INDEX索引名ON{表名
10、视图名}(列名[ASC
11、DESC][,...n])[WITH[PAD_INDEX][[,]FILLFACTOR=填充因子][[,]DROP_EXISTING]]返回目录8.2索引的创
此文档下载收益归作者所有