《SQL server数据库》课件第6章 索引及应用 .ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《SQL server数据库》课件第6章 索引及应用 .ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL server数据库 SQL server数据库课件第6章 索引及应用 SQL server 数据库 课件 索引 应用
- 资源描述:
-
1、6.1 任务描述任务描述本章完成项目的第6个任务:在大学生选课管理数据库Student中,完成如下操作:1为课程信息表创建一个非聚集复合索引。2为教师教课信息表创建一个聚集复合索引。3为学生选课信息表创建一个唯一、聚集复合索引。6.2 索引综述索引综述 索引的概念索引的概念 数据库中的索引与书籍中的索引(目录)类似,在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。书中的索引是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指
2、针清单。也可以这么说,数据库中某个表的索引是指,将这个表中数据行按照某一列或者若干列值的组合(称为索引键)的大小,只排列各个数据行的顺序,而不改变数据行的存储位置,得到的一个非结构数据文件。2索引的作用索引的作用l 通过创建唯一索引,可以保证数据记录的唯一性。l 通过创建和使用索引可以大大加快数据检索的速度。l 通过创建和使用索引可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。l 通过创建和使用索引使得在使用ORDER BY和GROUP BY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。l 通过索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。6.2
3、索引综述索引综述3索引类型索引类型表或视图可以包含以下类型的索引。(1)聚集索引(2)非聚集索引(3)唯一索引(4)包含性列索引(5)索引视图6.2 索引综述索引综述6.3 创建索引创建索引 使用索引要付出一定的空间和时间的代价,因此为表建立索引时,要根据实际情况,认真考虑哪些列应该索引,哪些列不应该索引。建立索引一般要遵循以下几条原则:主键列上一定要建立索引。外键列上可以建立索引。在经常查询的字段上最好建立索引。对于查询中很少涉及的列、重复值比较多的列不要建立索引。对于定义为text、image和bit数据类型的列上不要建立索引。SQL Server 2008在创建主键约束或唯一约束时,自动
4、创建唯一索引,以强制实施PRIMARY KEY 和UNIQUE约束的唯一性要求。如果需要创建不依赖于约束的索引,可以使用SQL Server Management Studio或者使用SQL命令创建索引。建立索引时要注意以下几点:只有表或视图的所有者才有权建立索引。在建立聚集索引时,将会对表进行复制,对表中的数据进行排序,然后删除原始的表。因此,数据库上必须有足够的空间,以容纳数据复本。在使用CREATE INDEX命令建立索引时,必须指定索引名称、表名称及索引所应用的各列名称(即索引键)。在一个表中最多可建立249个非聚集索引。默认情况下,建立的索引是非聚集索引。复合索引的列的最大数目为16
5、,各列组合的最大长度为900字节。6.3 创建索引创建索引 6.3.1 使用使用SQL Server Management Studio创建索引创建索引 1启动SQL Server Management Studio,并连接到SQL Server 2008中的数据库,在“对象资源管理器”窗口中展开“数据库”节点,再展开建立索引的表所属的数据库名(比如Student),再展开其“表”节点,展开要建立索引的表名(比如Stab),右击其“索引”节点,出现弹出菜单,如图6-1所示。图6-1 新建索引2执行弹出菜单中的【新建索引】命令,系统则出现“新建索引”对话框,如图6-2所示。图6-2“新建索引”对
6、话框6.3.1 使用使用SQL Server Management Studio创建索引创建索引 3在新建索引对话框中,于“索引名称”文本框中输入新建索引的名称,可于“索引类型”下拉框中选择新建索引的类型,可单击“索引键列”列表框后的“添加”按钮,系统出现“选择索引键列”对话框,如图6-3所示。图6-3 选择索引键列 6.3.1 使用使用SQL Server Management Studio创建索引创建索引 在选择索引键列对话框中,列出了建立索引的表的所有字段,从中选择新建索引所应用的各个列名(即选择作为索引键的各个列),选择完毕后,单击“确定“按钮,系统返回“新建索引”对话框,如图6-4所
7、示。图6-4“新建索引”对话框6.3.1 使用使用SQL Server Management Studio创建索引创建索引 在该新建索引对话框中,可通过“索引键列”列表框中的“排序顺序”下拉框,设置相应的索引键列的排序顺序。(1)可选择“选项”选择页,进入“选项”设置界面,在此,可根据实际需要,设置应用索引时的相关选项,如图6-5所示。(2)可选择“包含性列”选择页,进入“包含性列”设置界面,在此,可设置另一个表中的列,只有非聚集索引,该选择页才可用。(3)可选择“存储“选择页,进入“存储”设置界面,在此,可设置对指定的文件组或方案创建索引。图6-5“新建索引”对话框6.3.1 使用使用SQL
8、 Server Management Studio创建索引创建索引 6.3.2 使用使用SQL命令创建索引命令创建索引 语法形式:语法形式:CREATE UNIQUE CLUSTERED|NONCLUSTERED INDEX index_name ON table|view (column ASC|DESC ,.n )WITHPAD_INDEX,FILLFACTOR=fillfactor,IGNORE_DUP_KEY,DROP_EXISTING,STATISTICS_NORECOMPUTE,SORT_IN_TEMPDB ON filegroup 其中:UNIQUE:用于指定为表或视图创建唯一索
9、引。CLUSTERED:用于指定创建的索引为聚集索引。NONCLUSTERED:用于指定创建的索引为非聚集索引,默认为非聚集索引。index_name:用于指定所创建的索引名称。table:用于指定创建索引的表的名称。view:用于指定创建索引的视图的名称。column:用于指定被索引的列,即索引所应用的列(索引键中的列)。ASC|DESC:用于指定具体某个索引列的升序或降序排序方向。PAD_INDEX:用于指定索引中间级中每个页(节点)上保持开放的空间。FILLFACTOR=fillfactor:用于指定在创建索引时,每个索引页的数据占索引页大小的百分比,fillfactor的值为1到100
10、。IGNORE_DUP_KEY:用于控制当往包含于一个唯一聚集索引中的列中插入重复数据时SQL Server所作的反应。DROP_EXISTING:用于指定应删除并重新创建已命名的先前存在的聚集索引或者非聚集索引。STATISTICS_NORECOMPUTE:用于指定过期的索引统计不会自动重新计算。SORT_IN_TEMPDB:用于指定创建索引时的中间排序结果将存储在 tempdb 数据库中。ON filegroup:用于指定存放索引的文件组。6.3.2 使用使用SQL命令创建索引命令创建索引【例例6-1】在数据库Teaching中,为学生成绩表sgrade建立一个基于“学号,姓名”组合列的唯
展开阅读全文