SQL Server数据库应用与开发 李德有 彭德林 教学课件 SQL 2005第4章.pdf
文本预览下载声明
第4章 索引及数据完整性
4.1 索引
4.2 全文索引
4.3 SQL SERVER数据完整性
主要内容
索引类型、数据完整性的分类
创建索引的方法
掌握索引的维护
各种约束及默认值
数据完整性的实现
4.1.1 索引的简介及分类
索引是某个表中一列或若干列值的集合和相应的指向
表中物理标识这些值的数据页的逻辑指针清单。它提供了
数据库中编排表中数据的内部方法。
通常情况下一个表的存储是由两部分组成的,一部分
用来存放表的数据页面,另一部分存放索引页面。索引就
存放在索引页面上,通常,索引页面相对于数据页面来说
小得多。
4.1.2 索引的分类
唯一索引和非唯一索引
聚集索引和非聚集索引
单列索引、复合索引和包含性列索引
视图索引
全文索引
4.1.2 创建索引的注意事项
1.要合理的建立索引,而不要认为索引越多越好,
否则不仅达不到提高性能的目的,反而会适得其反
2.每个表只能有一个聚簇(聚集)索引
3.聚集索引适合于检索连续键值
表4.1 合理使用聚集索引和非聚集索引
4.1.3 创建索引
创建索引的方法有直接和间接的方法
1.直接方法
2.间接方法
4.1.3.1 间接创建索引
1. 主键索引(Primary Key约束)
1)打开SQL Server Management Studio,连接到本地数据
库实例,在【对象资源管理器】中展开目录树“数据
库”|“xuesheng”|“表”|“学生”,单击鼠标右键,选择
【修改】命令,系统打开表设计器窗口。
2 )在表设计器中,选择“学号”字段,单击【表设计器】工
具栏中的【设置主键】工具,则在字段“学号”字段的前面
多了一个小钥匙的图标。如图4.1所示。
图4.1 利用设置主键间接创建索引
2. 唯一约束(Unique约束)
例4-1 :创建一个成绩表,其中包含主键和Unique约束,创建
后查看其索引信息。其相应的SQL命令如下:
USE xuesheng
CREATE TABLE 成绩
( 学号 INT NOT NULL,
课程号 NUMERIC UNIQUE, /*唯一约束*/
成绩 NUMERIC )
4.1.3.2 在SQL Server Management Studio中创建索引
1.打开“SQL Server Management Studio”窗口,连接到本地实
例,在【对象资源管理器】窗口中,依次展开XUEXIAO-
6BNZNGY|数据库|xuesheng|索引的树型目录。
2 .右击“索引”,在弹开的快捷菜单中选择【新建索引】命令,
如图4.5所示。
图4.5 直接方法创建索引
4.1.3.3 用Create index 语句创建索引
CREATE [UNIQUE]
[CLUSTERED| NONCLUSTERED ]
INDEX index_name ON { table | view } ( column [ ASC |
DESC ] [ ,...n ] )
[with[PAD_INDEX]
[[,]FILLFACTOR=fillfactor]
[[,]IGNORE_DUP_KEY]
[[,]DROP_EXISTING]
[[,]STATISTICS_NORECOMPUTE]
[[,]SORT_IN_TEMPDB]]
[ ON filegroup ]
CREATE INDEX命令创建索引各参数说明如下:
UNIQUE:用于指定为表或视图创建唯一索引,即不允许存
在索引值相同的两行。
CLUSTERED:用于指定创建的索引为聚集索引。
NONCLUSTERED:用于指定创建的索引为非聚集索引。
ON:表示可以在表或视图上创建索引,这里指定表或视图的名
称和相应的列名称。
index_name :用于指定所创建的索引的名称。
table:用于指定创建索引的表的名称。
view:用于指定创建索引的视图的名称。
ASC |DESC:用于指定具体某个索引列的升序或降序排序方
向。
Column:用于指定被索引的列。
PAD_INDEX:为非叶级索引页指定填充度。
FILLFACTOR = fillfactor:用于指定在创建索引时,每个索
引页的
显示全部