SQL Server 2005数据库管理与开发教程 教学课件 PPT 作者 蒋瀚洋 李月军 庞娅娟 第7章 索引与数据完整性

上传人:E**** 文档编号:89391810 上传时间:2019-05-24 格式:PPT 页数:45 大小:1.14MB
返回 下载 相关 举报
SQL Server 2005数据库管理与开发教程 教学课件 PPT 作者 蒋瀚洋 李月军 庞娅娟 第7章  索引与数据完整性_第1页
第1页 / 共45页
SQL Server 2005数据库管理与开发教程 教学课件 PPT 作者 蒋瀚洋 李月军 庞娅娟 第7章  索引与数据完整性_第2页
第2页 / 共45页
SQL Server 2005数据库管理与开发教程 教学课件 PPT 作者 蒋瀚洋 李月军 庞娅娟 第7章  索引与数据完整性_第3页
第3页 / 共45页
SQL Server 2005数据库管理与开发教程 教学课件 PPT 作者 蒋瀚洋 李月军 庞娅娟 第7章  索引与数据完整性_第4页
第4页 / 共45页
SQL Server 2005数据库管理与开发教程 教学课件 PPT 作者 蒋瀚洋 李月军 庞娅娟 第7章  索引与数据完整性_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《SQL Server 2005数据库管理与开发教程 教学课件 PPT 作者 蒋瀚洋 李月军 庞娅娟 第7章 索引与数据完整性》由会员分享,可在线阅读,更多相关《SQL Server 2005数据库管理与开发教程 教学课件 PPT 作者 蒋瀚洋 李月军 庞娅娟 第7章 索引与数据完整性(45页珍藏版)》请在金锄头文库上搜索。

1、SQL Server 2005 数据库管理与开发教程,第7章 索引与数据完整性,本章主要介绍索引与数据完整性,包括索引的概念、索引的建立、索引的删除、索引的分析与维护、数据完整性及其实现机制。 通过本章的学习,读者应掌握建立或者删除索引的方法,能够使用索引优化数据库查询;了解数据完整性。,7.1 索 引,7.1.1 索引的概念 数据库索引是对数据表中一个或多个列的值进行排序的结构,它是数据库中一个非常有用的对象,就像一本书的索引,索引提供了在表中快速查询特定行的能力。,在表中索引的支持下,SQL Server查询优化器可以找出并使用正确的索引来优化对数据的访问。 如果没有索引,查询优化器只有一

2、个选择,那就是对表中的数据进行全部扫描以找出要找的数据行。,7.1.2 索引的建立,1使用图形界面创建索引,图7.1 选择新建索引,图7.2 设置索引,图7.3 添加表列,图7.4 选择排序顺序,2使用SQL语句创建索引,SQL Server 2005可以自动创建索引,以满足强制实施PRIMARY KEY和UNIQUE约束的唯一性要求。 如果需要创建不依赖于约束的索引,可以使用CREATE INDEX语句来完成。 其语法结构如下。,CREATE UNIQUE CLUSTERED | NONCLUSTERED INDEX index_name ON ( column ASC | DESC ,.n

3、 ) INCLUDE ( column_name ,.n ) WITH ( ,.n ) ON partition_scheme_name ( column_name ) | filegroup_name | default ; ,图7.5 查看新建索引,7.1.3 索引的删除,删除不再需要的索引,可以回收索引当前使用的磁盘空间,避免不必要的浪费。 下面分别介绍使用SQL Server Management Studio和SQL语句删除索引的方法。,1使用图形界面删除索引,图7.6 删除索引,2使用SQL语句删除索引,使用Transact-SQL语句中的Drop Index命令可删除索引,其语法

4、结构如下: DROP INDEX .,7.1.4 索引的分析与维护,1索引的分析 (1)使用SHOWPLAN语句 显示查询语句的执行信息,包含查询过程中连接表时所采取的每个步骤以及选择哪个索引。,语法: SET SHOWPLAN_ALL ON | OFF SET SHOWPLAN_TEXT ON | OFF ,(2)使用STATISTICS IO语句,显示执行数据检索语句所花费的磁盘活动量信息,可以利用这些信息来确定是否重新设计索引。 语法: SET STATISTICS IO ON|OFF,2索引的维护,(1)使用DBCC SHOWCONTIG语句 显示指定表的数据和索引的碎片信息。 当对表

5、进行大量的修改或添加数据后,应该执行此语句来查看有无碎片。 语法: DBCC SHOWCONTIG table_name | table_id | view_name | view_id , index_name | index_id ) ,(2)使用DBCC DBREINDEX语句,重建指定数据库中表的一个或多个索引。 语法: DBCC DBREINDEX ( database.owner.table_name , index_name , fillfactor ) WITH NO_INFOMSGS ,(3)使用DBCC INDEXDEFRAG语句,整理指定的表或视图的聚集索引和辅助索引碎片

6、。 语法: DBCC INDEXDEFRAG ( database_name | database_id | 0 , table_name | table_id | view_name | view_id , index_name | index_id ) WITH NO_INFOMSGS ,7.2 数据完整性,在SQL Server 2005中,数据库主要用于存储数据及其相关的对象(表、视图及存储过程等),如何确保输入的数据符合规则,是保证数据库正常使用的前提条件。 本节主要讲述数据完整性的相关知识。,7.2.1 数据完整性概述,数据完整性是SQL Server用于保证数据库中数据一致性的一

7、种机制,防止非法数据存入数据库。 数据完整性主要体现在以下几点。 (1)数据类型准确无误。 (2)数据取值符合规定的范围。 (3)多个数据表之间的数据不存在冲突。,1实体完整性,现实世界中,任何一个实体都有区别于其他实体的特征,即实体完整性。 在SQL Server数据库中,实体完整性是指所有的记录都应该有一个唯一的标识,以确保数据表中数据的唯一性。,如果将数据库中数据表的第一行看作一个实体,可以通过以下几项实现实体完整性。 (1)唯一索引(Unique Index)。 (2)主键(Primary Key)。 (3)唯一码(Unique Key)。 (4)标识列(Identity Column

8、)。,2域完整性,域是指数据表中的列(字段),域完整性就是指列的完整性。 它要求数据表中指定列的数据具有正确的数据类型、格式和有效的数据范围。,域完整性常见的实现机制包括以下几点。 (1)默认值(Default)。 (2)检查(Check)。 (3)外键(Foreign Key)。 (4)数据类型(Data Type)。 (5)规则(Rule)。,3引用完整性,引用完整性又称参照完整性,通过主键(Primary Key)约束和外键(FOREIGN KEY)约束来实现被参照表和参照表之间的数据一致性。 引用完整性可以确保键值在所有表中保持一致,如果键值更改了,在整个数据库中,对该键值的所有引用要

9、进行一致的更改。,强制引用完整性时,SQL Server禁止用户进行下列操作。 (1)当主表中没有关联的记录时,将记录添加到相关表中。 (2)更改主表中的值并导致相关表中的记录孤立。 (3)从主表中删除记录,但仍存在与该记录匹配的相关记录。,4用户定义完整性,用户定义完整性是用户希望定义的除实体完整性、域完整性和参照完整性之外的数据完整性。 它反映某一具体应用所涉及的数据必须满足的语义要求。 SQL Server提供了定义和检验这类完整性的机制。,(1)规则(Rule)。 (2)触发器(Trigger)。 (3)存储过程(Stored Procedure)。 (4)创建数据表时的所有约束(Co

10、nstraint)。,7.2.2 实现数据完整性,1规则 规则是对录入数据列中的数据所实施的完整性约束条件,它指定了插入到数据列中的可能值。 其特点主要体现在以下几点。,(1)规则是SQL Server 2005数据库中独立于表、视图和索引的数据对象,删除表不会删除规则。 (2)一个列上可以使用多个规则。,2默认值,如果在插入行时没有指定列的值,那么将指定列中所使用的值为默认值。 默认值可以是任何取值为常量的对象,如内置函数和数学表达式等。 通过以下两种方法可以设定默认值。,(1)在CREATE TABLE中使用DEFAULT关键字创建默认定义,将常量表达式指派为列的默认值,这是标准方法。 (

11、2)使用CREATE DEFAULT语句创建默认对象,然后使用sp_bindefault系统存储过程将它绑定到列上,这是一个向前兼容的功能。,【例7-1】 在表中对应字段使用默认值。,图7.7 表设计器,3约束,约束(Constraint)是数据库服务器强制用户必须遵从的业务逻辑。 它定义了列允许的取值,限制用户可能输入指定列的值,从而强制引用完整性。,约束是强制完整性的标准机制。 SQL Server 2005中的约束机制包括以下5种。 (1)非空约束(NOT NULL) (2)检查约束(CHECK约束) (3)唯一约束(UNIQUE约束) (4)主键约束(PRIMARY KEY约束) (5)外键约束(FOREIGN KEY约束),【例7-2】 针对表中字段使用CHECK约束。,图7.8 CHECK约束,图7.9 CHECK约束表达式,小 结,本章介绍了索引的建立、删除、分析与维护,以及3种数据完整性。 读者在了解索引概念的前提下,可以使用SQL Server Management Studio或者SQL语句来建立和删除索引,进而对索引进行分析和维护,以优化对数据的访问。,为了保证存储数据的合理性,读者应了解实体完整性、域完整性、引用完整性和用户定义完整性,并能够实施数据完整性机制,包括规则、默认值和约束。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号