第7章 索引 学习导读 本章主要介绍SQL Server 2000中索引的创建和使用方法。通过本章的学习,应掌握以下内容: 了解索引的概念

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

Chapter 3: SQL.
第10章 数据库备份与恢复 第10章 数据库备份与恢复 10.1 数据库备份 10.2 恢复数据库 10.3 数据库的维护 上页 下页 结束.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
目 录 第 1 章 数据库技术基础 第 2 章 SQL Server基础 第 3 章 数据库管理 第 4 章 查询和视图
第2讲 Transact-SQL语言.
6 Copyright © Oracle Corporation, All rights reserved. 维护控制文件.
数据库原理与SQL Server 第6章 全面掌握SQL Server 2000.
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
插入超链接 高邮市第一实验小学 范太国 任务一:设置文本超链接 任务一:设置文字超链接 步骤:1、选定文字并右击,在快捷菜单 中选择“超链接”命令。 2、在弹出的对话框中选择左侧“链接到:”中的“本文档中的位置(A)”项,在“请选择文档中的位置(C):”中选择需要链接的幻灯片,单击“确定”按钮。
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
计算机应用基础 上海大学计算中心.
Oracle数据库 Oracle 子程序.
在PHP和MYSQL中实现完美的中文显示
第五讲 利用视图进行查询优化.
課程名稱:資料庫系統 授課老師:李春雄 博士
4.2 视图 (1) 视图是一个虚拟表,其内容来自对表查询的基础上。
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
Chap 10 SQL定義、操作與控制指令.
第 11 章 建立檢視表.
第十章 数据库表.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
辅导课程六.
第5章 SQL的高级应用 教学目标:通过本章学习,明确索引与视图的作用,掌握索引及视图的使用方法;掌握存储过程与触发器的创建及使用方法。
SQL SERVER 一些经典语句 1.
数据库基础 1.
段磊 王慧锋 TEL: qq群: 数据库系统原理课程设计 实验环节2 段磊 王慧锋 TEL: qq群:
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
以ISI平台为例,为您演示一下如何在Endnote文献中查看该文献的References
第17章 网站发布.
第三章 关系数据库标准语言SQL SQL(Structured Query Language)语言是1974年由Boyce和Chamberlin提出的。 1975年~1979年IBM公司San Jose Research Laboratory研制了著名的关系数据库管理系统原型System R并实现了这种语言。
Ch4.SQL Server 2005資料庫組成員元件介紹
实验二讲评 … 张榆….
数据库技术.
SQL Server 2000数据库 简明教程 李存斌 主编 下一页.
数据库技术与应用.
新PQDT论文全文库提交平台.
SQL查询语句 蔡海洋.
第10章 触发器的创建和使用 10.1 触发器概述 10.2 创建触发器 10.3 修改触发器 10.4 删除触发器.
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
学习目标 1、什么是索引 2、索引类型 3、Mysql Workbench管理索引 4、索引语法.
讲课人:王璞 浙江工商职业技术学院.
Web安全基础教程
第 7 章 建立資料表與資料庫圖表.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
数据库系统与应用实验 基于SQL Server 2005.
第3章 关系数据库的创建与维护 Microsoft SQL Server2008 概述 SQL Server数据库基础 数据库的创建与维护
第5章 表的操作与管理.
iSIGHT 基本培训 使用 Excel的栅栏问题
Visual Basic程序设计 第13章 访问数据库
第8章 索 引(Index) 8.1 索引概述 8.2 创建索引 8.3 修改和删除索引.
Delphi 7.0开发示例.
SCI收录号查询方法介绍 上海大学情报研究所
熟悉PowerDesiner12操作环境 菜单栏 标题栏 工具栏 导航栏 工作区 浮动工具条 导航选项卡 控制信息栏 状态栏.
SpringerLink数据库使用说明 上海师范大学图书馆
Python 环境搭建 基于Anaconda和VSCode.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
YOUR SUBTITLE GOES HERE
VB与Access数据库的连接.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
WEB程序设计技术 数据库操作.
第四章 UNIX文件系统.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
Presentation transcript:

第7章 索引 学习导读 本章主要介绍SQL Server 2000中索引的创建和使用方法。通过本章的学习,应掌握以下内容: 了解索引的概念 第7章 索引 学习导读 本章主要介绍SQL Server 2000中索引的创建和使用方法。通过本章的学习,应掌握以下内容: 了解索引的概念 了解索引的优点 掌握索引的分类 掌握创建、修改和删除索引的方法

7.1 索引简介 索引是对数据库表中一个或多个列的值进行排序的结构。索引是一个表,这个表中包含了某个表中一列或者多列值的集合,以及这些值在数据表中的存储位置的物理地址。利用索引可以快速访问数据库表中的特定信息,它可以使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据,因为索引是有序排列的,所以,可以通过高效的有序查找算法(如折半查找等)找到索引项,再根据索引项中记录的物理地址,找到查询结果的存储位置。

索引简介 一. 创建索引的原因 索引是为了加速检索而创建的一种存储结构。 索引的优点: 提高查询速度。 提高连接、ORDER BY和GROUP BY执行的速度。 查询优化器依靠索引起作用。在执行查询时,SQL Server会自动对查询进行优化。但是SQL Server的优化是依靠索引来进行的。因此,在建立索引后,SQL Server会依据建立的索引,决定采取哪些索引,使得检索的速度最快。 强制实施行的惟一性。创建惟一索引,可以保证表中的数据不重复。

索引简介 二. 建立索引应该考虑的问题 索引的创建可提高查询速度,但它是以占用更多的存储空间为代价的,所以选择在哪些属性上建立索引就至关重要。一个原则就是创建了索引后查询效率应该得到明显的改善。通常可以在主键、外键、作为连接的属性、经常查询的属性上建立索引。

索引类型 三. 索引类型 1. 聚集索引和非聚集索引 2. 惟一索引和组合索引 聚集索引--数据库表中记录的物理顺序与索引顺序相同。一个表中只能有一个聚集索引。 非聚集索引--数据库表中记录的物理顺序与索引顺序可以不相同。表中的每一列上都可以有自己的非聚集索引。 2. 惟一索引和组合索引 惟一索引--表示表中任何两笔记录的索引值都不相同。 组合索引--将两个或者多个字段组合起来的索引。

创建索引 SQL Server提供了两种方法来创建索引: 直接创建索引。使用CREATE INDEX语句或者企业管理器来直接创建索引。 间接创建索引。使用CREATE TABLE语句创建表时,或者使用ALTER TABLE语句修改表时,如果指定PRIMARY KEY约束或者UNIQUE约束,则SQL Server自动为这些约束创建索引(惟一索引)。

通过企业管理器创建索引 通过企业管理器创建索引 操作步骤如下: (1) 打开企业管理器,并展开相应的服务器组和数据库,在要创建索引的表上(这里选择school数据库的student表作为要创建索引的表。)右击鼠标,将鼠标指向“所有任务”,然后选择“管理索引”命令。

通过企业管理器创建索引 (2) 在打开的“管理索引”对话框中对索引进行管理。顶部的“数据库”和“表/视图”文本框用来选择数据库和要创建索引的表,下面的列表框显示了选中表的索引,下部的按钮用来对索引进行编辑、删除等操作。

通过企业管理器创建索引 (3) 单击“新建”按钮,打开“新建索引”对话框。这里在“索引名称”文本框中输入索引名称IQ_clsss,选择用于创建索引的列class,“排序次序”选项处于选中状态,表示索引以降序排列。

通过企业管理器创建索引 (4) 设置完成后,单击“确定”按钮即可创建一个新的索引。也可以单击“编辑SQL”按钮,出现下列的“编辑Transact-SQL脚本”对话框,单击其中的“执行”按钮则创建一个新的索引。此时,“管理索引”对话框显示有两个索引。

通过向导创建索引 通过向导创建索引 操作步骤如下: (1) 在企业管理器中,展开“数据库”文件夹,执行“工具”菜单中的“向导”命令,打开“选择向导”对话框。然后选择“创建索引向导”。 单击“确定”按钮。

通过向导创建索引 (2) 在出现的“欢迎使用创建索引向导”界面上,单击“下一步”按钮。

通过向导创建索引 (3)在弹出的对话框的“数据库名称”文本框中,可选择数据库。在“对象名”文本框中,可选择要创建索引的表或者视图。这里选择school数据库的teacher表。选择完成后,单击“下一步”按钮。

通过向导创建索引 (4)在打开的当前索引信息对话框中,列出了已有索引的信息,其中PK_teacher是在建立表时创建的(在企业管理器中设置主键约束时自动创建的惟一索引,索引名为PK_表名),其他以“_WA”开头的索引是系统建立的。 单击“下一步”按钮。

通过向导创建索引 (5)在出现的“选择列”对话框中,选择要创建索引的列后,单击“下一步”按钮。

通过向导创建索引 (6)在打开的“指定索引选项”对话框中,可以设置索引的各个选项,包括聚集索引、惟一性和填充因子等。设置索引属性选项后,单击“下一步”按钮。

通过向导创建索引 (7)在“正在完成创建索引向导”对话框中显示了该索引的名称以及创建索引的列。可以通过“上移”和“下移”按钮来设置列的优先级。设置完成后,单击“完成”按钮,系统开始创建索引,完成后弹出一个提示对话框,提示完成新索引的创建。

使用SQL语言创建索引 使用SQL语言创建索引 各主要选项的含义: UNIQUE:为表或视图创建惟一索引 格式:CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX index_name ON {table | view} (column [ASC | DESC][,…n]) [WITH index_option [,…n]] [ON filegroup] index_option定义为 { PAD_INDEX | FILLFACTOR = fillfactor | IGNORE_DUP_KEY | DROP_EXISTING | STATISTICS_NORECOMPUTE | SORT_IN_TEMPDB } 各主要选项的含义: UNIQUE:为表或视图创建惟一索引 CLUSTERED:创建聚集索引。如果没有指定CLUSTERED,则创建非聚集索引。 NONCLUSTERED:创建非聚集索引。每个表最多可以有249个非聚集索引。

使用SQL语言创建索引 index_name:是索引名。 table:包含要创建索引的列的表。 view:要建立索引的视图的名称。 column:应用索引的列。 [ASC | DESC]:确定具体某个索引列的升序(ASC)或降序(DESC)排序方向。默认设置为ASC(升序)。 ON filegroup:在给定的filegroup(文件组)上创建指定的索引。

创建索引之例 例1:用SQL语句在school数据库中的teacher表中的tno列上创建一个非聚集索引。 SET NOCOUNT OFF --返回计数 USE school --判断是否存在IDX_tno索引,若存在,则删除之 IF EXISTS(SELECT name FROM sysindexes WHERE name='IDX_tno') DROP INDEX teacher.IDX_tno GO USE school --创建IDX_tno索引 CREATE INDEX IDX_tno ON teacher(tno)

创建索引之例 例2:为score表的sno和cno列创建索引,并且强制惟一性。 SET NOCOUNT OFF --返回计数 USE school --判断是否存在IDX_sc索引,若存在,则删除之 IF EXISTS(SELECT name FROM sysindexes WHERE name='IDX_sc') DROP INDEX score.IDX_sc GO USE school --创建IDX_sc索引 CREATE UNIQUE CLUSTERED INDEX IDX_sc ON score(sno,cno)

查看和删除索引 使用企业管理器 使用企业管理器查看和删除索引的操作步骤如下: (1) 打开企业管理器,并展开相应的服务器和数据库,选择要查看或者删除的索引所在的表。 (2) 在上面右击鼠标,将鼠标移向“所有任务”,然后执行“管理索引”命令,打开 “管理索引”对话框。在列表框中选择索引,单击底部的“编辑”按钮。即可打开“编辑现有索引”对话框。在此对话框中查看和编辑索引的选项,完成后单击“确定”按钮即可。 (3) 要删除索引,可在选择索引后,单击“管理索引”对话框底部的“删除”按钮,系统弹出一个确认对话框,单击“确定”按钮即可删除选择的索引。

查看和删除索引 使用SQL语言 1.查看索引 可使用存储过程sp_helpindex。 例:EXEC sp_helpindex student 2. 删除索引 格式:DROP INDEX 'table.index | view. index' [,…n] 例:DROP INDEX table1.Idx1

练习题 1.什么是索引?索引分为哪两种?各有什么特点? 2.创建索引有什么优、缺点? 3.哪些列上适合创建索引?哪些列上不适合创建索引? 4.如何创建升序和降序索引? 5. 在前面建立的factory数据库上,完成: (1) 在worker表中的“部门号”列上创建一个非聚集索引,若该索引已存在,则删除后重建。 (2) 在salary表的“职工号”和“日期”列创建聚集索引,并且强制惟一性。