Presentation is loading. Please wait.

Presentation is loading. Please wait.

第8章 索 引(Index) 8.1 索引概述 8.2 创建索引 8.3 修改和删除索引.

Similar presentations


Presentation on theme: "第8章 索 引(Index) 8.1 索引概述 8.2 创建索引 8.3 修改和删除索引."— Presentation transcript:

1 第8章 索 引(Index) 8.1 索引概述 8.2 创建索引 8.3 修改和删除索引

2 能力目标   理解索引的定义和分类;   掌握创建和维护索引的各种方法;   掌握索引的用法。

3 态度目标   团队精神;   态度积极;   任务按时完成;   出勤。

4 重点难点     重点:     索引的用法。     难点:

5 8.1 索引概述 1. 索引(Index) 索引(Index)是数据库中的一个列表,该列表 包含了某个数据表中的一列或几列值的集合,以及
8.1 索引概述   1. 索引(Index)   索引(Index)是数据库中的一个列表,该列表 包含了某个数据表中的一列或几列值的集合,以及 这些值的记录在数据表中存储位置的物理地址。

6 8.1 索引概述 2. 索引分类 聚集索引( Clustered Index ):聚集索引重新
8.1 索引概述   2. 索引分类   聚集索引( Clustered Index ):聚集索引重新 组织表中的数据以按指定的一个或多个列的值排序, 在该类型的索引中,记录行的物理存储顺序与索引 顺序一致,即索引的顺序决定了表中行的顺序。   非聚集索引(Nonclustered Index):非聚集索 引不重新组织表中的数据,索引仅仅记录指向表中 行的位置的指针,它的叶节点中存储了组成非聚集 索引的列的值和行定位指针,通过这些有序的指针 可以快速定位行记录。

7 8.2 创建索引 1. 索引的自动创建 在创建表的过程中,在创建主键(Primary Key) 或唯一性约束时, 系统会自动创建
8.2 创建索引   1. 索引的自动创建   在创建表的过程中,在创建主键(Primary Key) 或唯一性约束时, 系统会自动创建 一个唯一索引, 该索引可以是聚 集索引或非聚集 索引。

8 8.2 创建索引   2. 使用“SQL Server Management Studio” 管理工具 创建索引

9 8.2 创建索引 3. 使用Transac-SQL语句创建索引
8.2 创建索引   3. 使用Transac-SQL语句创建索引 CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name ON <object> ( column [ ASC | DESC ] [ ,...n ] )     [ INCLUDE ( column_name [ ,...n ] ) ]     [ WITH ( <relational_index_option> [ ,...n ] ) ]     [ ON { partition_scheme_name ( column_name )          | filegroup_name          | default          } ][ ; ]

10 8.2 创建索引 3. 使用Transac-SQL语句创建索引 【案例8.1】在employees表上以hiredate字段创建索
8.2 创建索引   3. 使用Transac-SQL语句创建索引 【案例8.1】在employees表上以hiredate字段创建索 引hiredate_ndx。   CREATE INDEX hiredate   ON employees (hiredate) 【案例8.2】在 sales 表上以cust_id列创建索引,并 且强制唯一性。   CREATE UNIQUE NONCLUSTERED INDEX sale_cust_ndx ON   sales (cust_id)

11 8.2 创建索引 3. 使用Transac-SQL语句创建索引 使用IGNORE_DUP_KEY参数,在products表上
8.2 创建索引   3. 使用Transac-SQL语句创建索引 【案例8.3】   使用IGNORE_DUP_KEY参数,在products表上 以ProType列创建唯一索引,如果输入了重复的键, 将忽略该INSERT或UPDATE语句。   CREATE UNIQUE NONCLUSTERED INDEX   protype_ndx ON products(ProType)   WITH IGNORE_DUP_KEY

12 8.2 创建索引 4. 创建索引视图 【案例8.4】 根据customers和sales创建视图ust_order_view,视
8.2 创建索引   4. 创建索引视图 【案例8.4】   根据customers和sales创建视图ust_order_view,视 图中包含order_id、Pro_id、customer、Quantity列。再 使用Transact-SQL语句根据order_id列创建索引视图。 USE eTradeInfo GO CREATE VIEW cust_order_view WITH SCHEMABINDING AS SELECT S.order_id, Pro_id, customer, Quantity FROM customers C, Sales S, Sale_detail D WHERE C.cust_id = S.cust_id AND S.Order_id = D.Order_id 在视图cust_order_view上创建索引: CREATE UNIQUE CLUSTERED INDEX cust_order_view_ndx ON cust_order_view(order_id)   如果在查询中 频繁使用视图,可 以通过对视图创建 唯一聚集索引来提 高查询性能。

13 8.3 修改和删除索引   1. 使用“SQL Server Management Studio”管理工具 修改索引

14 8.3 修改和删除索引 2. 使用Transact-SQL语句删除索引 使用Transact-SQL语言中的DROP INDEX语句
8.3 修改和删除索引   2. 使用Transact-SQL语句删除索引   使用Transact-SQL语言中的DROP INDEX语句 删除索引的常用语法格式如下: 参数:index:是要除出的索引名称。    object:table | view:是索引列所在架构上的        表或索引视图。    n:是表示可以指定多个索引的占位符。 【案例8.5】删除eTradeInfo数据库sales表上的索引 sale_cust_ndx。 DROP INDEX { < index_name ON <object> [ ,...n ] } DROP INDEX dbo.sales.sale_cust_ndx

15 Management Studio ” 管理窗口中,完成索引创建。 1. 在表employees上创建一个索引,使用字段emp_id和
案例分析   使用案例数据库 eTradeInfo ,在 “ SQL Server Management Studio ” 管理窗口中,完成索引创建。   1. 在表employees上创建一个索引,使用字段emp_id和 hiredate作为索引字段。   2. 使用 Transact-SQL 语句,在表Sales上创建一个索引, 使用字段 cust_id、emp_id 和orderdate作为索引字段,并在 “新建查询”窗口中完成调试。   3. 在进货合同表(BuyOrder)上,按照签订合同日期 创建一个非聚集索引,填充因子为10。   4. 在入库单表(EnterStock)上,以入库人和热库时间 创建一个非聚集索引。   5. 在销售和同(Sales)上,以销售部门编号、签订合 同人编号创建一个非聚集索引。

16 1. 用“SQL Server Management Studio”和T-SQL 语句创建索引,并在“SQL编辑器”窗口中调试;
案例分析 要求:   1. 用“SQL Server Management Studio”和T-SQL 语句创建索引,并在“SQL编辑器”窗口中调试;   2. 正确区分索引的种类;   3. 索引修改方法。 问题:   1. 通过创建表中的主键可以自动创建何种类型 的索引?   2. 一个表中聚簇索引可以唯一吗? 讨论:   为何在创建表时最好创建主键?

17 索引的概念、分类以及使用索引的一些原则。 使用“SQL Server Management Studio”管理工具和
本章小结   索引的概念、分类以及使用索引的一些原则。   使用“SQL Server Management Studio”管理工具和 Transact-SQL语法创建、修改和删除索引等。   在一个数据表上只能建立一个聚集索引,可以建 立最多249个非聚集索引。   聚集索引对表中的数据行完全重新排序,用聚 集索引查询数据记录比较快。   非聚集索引具有完全独立于数据行的结构,存储 了索引关键字的值和记录行定位器,它使用索引页的 存储结构,它比聚集索引需要较少的存储空间,其检 索效率较聚集索引低。


Download ppt "第8章 索 引(Index) 8.1 索引概述 8.2 创建索引 8.3 修改和删除索引."

Similar presentations


Ads by Google