電子紫出版社 第7章索引与视图 7.1索引的定义与类型 7.2创建索引 3视图的基本概念及作用 7.4创建视图 ·7.5通过视图修改数据库信息
第7章 索引与视图 • 7.1索引的定义与类型 • 7.2创建索引 • 7.3视图的基本概念及作用 • 7.4创建视图 • 7.5通过视图修改数据库信息
電子紫出版社 71索引的定义与类型 7.1.1索引的定义 ·索引是一个单独的、物理的数据库结构。它是根据表 中一列或若干列按照一定顺序建立的列值与记录行之 间的对应关系表。 索引可以提供对一个表中的数据的有效访问它可以用 于加速数据的检索和强制唯一性限制 7.1.2索引的类型 如果一个表没有创建索引,则数据行不按任何特定的 顺序存储,这种结构称为堆集。在 SQL Server2000的 数据库中按存储结构的不同将索引分为两类:簇索引 ( Clustered Index)和非簇索引( Nonclustered index) ·根据索引键的组成,可把索引分为三种类型:惟一索 引、复合索引和覆盖索引 返回目录
7.1 索引的定义与类型 • 7.1.1 索引的定义 • 索引是一个单独的、物理的数据库结构。它是根据表 中一列或若干列按照一定顺序建立的列值与记录行之 间的对应关系表。 • 索引可以提供对一个表中的数据的有效访问它可以用 于加速数据的检索和强制唯一性限制。 • 7.1.2 索引的类型 • 如果一个表没有创建索引,则数据行不按任何特定的 顺序存储,这种结构称为堆集。在SQL Server 2000的 数据库中按存储结构的不同将索引分为两类:簇索引 (Clustered Index)和非簇索引(Nonclustered Index) • 根据索引键的组成,可把索引分为三种类型:惟一索 引、复合索引和覆盖索引。 返回目录
電子紫出版社 72索引的创建 在 SQL Server2000中,可使用 Enterprise Manager创建索引,也可以利用 TSQL语句建立索引 1使用 Enterprise Manager创建索引 2利用 CREATE INDEX命令建立索引 ·TSQL语句的 CREATE INDEX命令既可以创建一个可改变表的物理顺 序的簇索引,也可以创建提高査询性能的非簇索引。其语法格式如 CREATE [UNIQUE] [CLUSTERED NONCLUSTERED] INDEX index_name on table view column[ asc deSc]l.) TWTTH [PAD_INDEX] [L I FILLFACTOR fillfactor] IL JIGNORE_DUP_KEY LL I DROP EXISTING [L ]STATISTICS_NORECOMPUTE LL I SORT- IN_ TEMPDB I ·[ on filegroup] 返回目录
7.2 索引的创建 • 在SQL Server 2000中,可使用Enterprise Manager创建索引,也可以利用 T-SQL语句建立索引。 • 1.使用Enterprise Manager创建索引 • 2.利用CREATE INDEX命令建立索引 • T-SQL语句的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] • 返回目录
電子紫出版社 各参数说明如下 UNIQUE:表示创建一个惟一索引。 CLUSTERED:指明创建的索引为簇索引 NONCLUSTERED:指明创建的索引为非簇索引。 index name:指定所创建的索引的名称 Table:指定创建索引的表的名称。 View:指定创建索引的视图的名称 ASC|DESC:指定特定的索引列的排序方式。默认值 是升序ASC。 Column:指定被索引的列。 · PAD INDEX:指定填充索引的内部节点的行数。 IGNORE DUP KEY:用于确定对一个惟一约束中的列中 插入重复数据时的处理方式。 DROP EXISTING:指定要删除并重新创建簇索引。 0 n filegroup:指定存放索引的文件组。 返回目录
• 各参数说明如下 • UNIQUE:表示创建一个惟一索引。 • CLUSTERED:指明创建的索引为簇索引。 • NONCLUSTERED:指明创建的索引为非簇索引。 • index_name:指定所创建的索引的名称。 • Table:指定创建索引的表的名称。 • View:指定创建索引的视图的名称。 • ASC | DESC:指定特定的索引列的排序方式。默认值 是升序ASC。 • Column:指定被索引的列。 • PAD_INDEX : 指 定 填 充 索 引 的 内 部 节 点 的 行 数 。 IGNORE_DUP_KEY:用于确定对一个惟一约束中的列中 插入重复数据时的处理方式。 • DROP_EXISTING:指定要删除并重新创建簇索引。 • ON filegroup:指定存放索引的文件组。 • 返回目录 • 返回目录
電子紫出版社 【例71】为uers表的用户名列创建索引 Use users Create index user id on username th pad index, fillfactor 9 gnore dup key drop existing statistics norecompute on primary 区回目录
• 【例7.1】为users表的用户名列创建索引。 • Use users • Create index user_id on username • with • pad_index, • fillfactor = 9, • ignore_dup_key, • drop_existing, • statistics_norecompute • on [primary] 返回目录