SQL Server 2005 数据库应用技术 教学课件 ppt 作者 刘宏 第7章 使用视图与索引

上传人:E**** 文档编号:89180888 上传时间:2019-05-20 格式:PPT 页数:38 大小:1.35MB
返回 下载 相关 举报
SQL Server 2005 数据库应用技术 教学课件 ppt 作者 刘宏 第7章 使用视图与索引_第1页
第1页 / 共38页
SQL Server 2005 数据库应用技术 教学课件 ppt 作者 刘宏 第7章 使用视图与索引_第2页
第2页 / 共38页
SQL Server 2005 数据库应用技术 教学课件 ppt 作者 刘宏 第7章 使用视图与索引_第3页
第3页 / 共38页
SQL Server 2005 数据库应用技术 教学课件 ppt 作者 刘宏 第7章 使用视图与索引_第4页
第4页 / 共38页
SQL Server 2005 数据库应用技术 教学课件 ppt 作者 刘宏 第7章 使用视图与索引_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《SQL Server 2005 数据库应用技术 教学课件 ppt 作者 刘宏 第7章 使用视图与索引》由会员分享,可在线阅读,更多相关《SQL Server 2005 数据库应用技术 教学课件 ppt 作者 刘宏 第7章 使用视图与索引(38页珍藏版)》请在金锄头文库上搜索。

1、7.1 创建视图,7.1.1 视图,视图是一种数据库对象,是另一种查看数据表中数据的方法。视图中数据定义来源于表,可以从一个表或者多个表中提取数据。提供数据和数据定义的表称为基表。 在SQL Server 2005中视图有标准视图、分区视图和索引视图三种类型。 标准视图:标准视图组合了一个或多个表中的数据。 分区视图:分区视图在一台或多台服务器间水平连接一组成员表中的分区数据,使对数据的处理如同对一个表进行操作。 索引视图:索引视图是被具体化了的视图,即它已经过计算并存储。,7.1.2 视图的优点,提高服务器的效率:不同的用户对数据的需求不同,视图可以按照需要将多个表或者视图中的数据集中在一起

2、,从而方便用户的数据查询和处理,提高服务器的效率。 提高了数据的安全性:视图在基表和用户之间建立了一个缓冲,保护了基表的结构、定义和基表中不需用户知晓的数据,简化和方便了数据的查询,提高了数据的安全性。,7.1.3 使用SSMS创建视图,使用SQL Server Management Studio创建视图的基本步骤演示。,7.1.4 使用T-SQL语句创建视图,除了可以通过SQL Server Management Studio的图形化界面创建视图以外,还可以使用T-SQL语言提供的CREATE VIEW语句创建视图。使用T-SQL语句创建视图的基本语法格式如下: CREATE VIEW 视图

3、名 (列名 ,.n ) AS 查询语句 WITH CHECK OPTION ,7.1.4 使用T-SQL语句创建视图,其中各个参数的含义如下: 列名:视图中包含的列的名称,可以省略。如果列名省略,视图根据查询语句提取基表的列名作为列名。可以用“列名 AS 别名”的方式指定列的别名。当视图中的数据有函数、表达式或者常量生成,列名不能省略。当视图中有两个列或者多个列同名,必须指定列名。 WITH CHECK OPTION:强制通过视图进行的数据修改必须符合定义视图的查询语句中所包含的各种限制。如果在查询语句中使用了关键字“TOP”,则不能使用该选项。,7.1.5 创建视图的原则,在SQL Serv

4、er 2005中创建视图应遵循如下原则: SQL Server 2005允许视图嵌套定义,嵌套层数最多32层。 在SQL Server 2005中,视图中最多只能包含1024列字段,只能在当前数据库中创建视图。 视图的命名规则应当遵循标识符命名规则,在数据库中必须唯一,不能与表或者其它视图同名。 如果视图引用的表或者视图被删除,视图将无法使用,除非应用对象被重建。 不能在视图定义的查询语句中包含COMPUTER、COMPUTER BY、OPTION子句和INTO关键字。,7.2 使用视图,7.2.1 在SSMS中打开视图,在SQL Server Management Studio中打开视图的步

5、骤演示。,7.2.2 在SSMS中使用视图,在SQL Server Management Studio中使用视图演示。,7.2.3 用T-SQL使用视图,使用T-SQL语句也可以完成视图的打开,数据的插入、修改与删除操作。 演示,7.2.4 查询视图,视图是一个“虚拟表”,可以采用查询普通表类似的方法查询视图。通过视图进行查询时,Microsoft SQL Server 2005会执行检查,从而确定语句中引用的所有数据库对象是否都存在,这些对象在语句的上下文中是否有效,以及数据修改语句是否违反数据完整性规则。 如果检查失败,将返回错误消息。 如果检查成功,则将操作转换为对基础表的查询操作。,7

6、.3 维护视图,7.3.1 查看视图定义,视图的核心是查询语句,因此查看视图定义主要是查看创建视图的查询语句。在SQL Server 2005中可以通过多种方法查看视图定义。 (1)通过系统表查看视图定义。 创建视图时,视图的定义被存储在当前库“syscomments”和“sys.sql_modules”中,因此可以通过打开“syscomments”和“sys.sql_modules”查看。,6.3.2 子查询的规则,(2)通过修改视图查看视图定义。 在SQL Server Management Studio中,右键单击希望查看的视图名称,在弹出的菜单中选择“修改”命令,在打开的视图设计窗口中

7、可以查看视图定义。 (3)通过系统存储过程查看视图定义。 通过系统存储过程查看视图定义的语法格式如下: EXECUTE sp_helptext 视图名称,7.3.3 查看视图相关信息,(1)查看视图的属性 在SQL Server Management Studio中,右键单击希望查看属性的视图名称,在弹出的菜单中选择“属性”命令,打开“视图属性”对话框,可以从常规、权限和扩展属性三个方面查看视图属性。视图属性对话框还可以完成向指定用户赋予视图的使用权限,删除扩展属性等操作。,7.3.3 查看视图相关信息,(2)查看依赖关系 在SQL Server Management Studio中,右键单击

8、希望查看属性的视图名称,在弹出的菜单中选择“查看依赖关系”命令,打开“对象依赖关系”对话框,可查看依赖关系。,7.3.3 查看视图相关信息,(3)用存储过程查看视图信息 用存储过程查看视图信息的语法格式如下: EXECUTE sp_help 视图名称,7.3.4 使用SSMS修改视图,使用SQL Server Management Studio修改视图的基本操作步骤演示。,7.3.5 使用T-SQL语句修改视图,可以使用ALTER VIEW语句修改视图,基本语法格式如下: ALTER VIEW 视图名 (列名 ,.n ) AS 查询语句 WITH CHECK OPTION ,7.3.6 重命名

9、视图,在SQL Server Management Studio中,右键单击需要重命名的视图名称,在弹出菜单中选择“重命名”命令,直接在视图名称上输入新名称即可实现视图的重命名。 也可以使用“sp_rename”系统存储过程重命名视图,语法格式如下: sp_rename 原视图名称,新视图名称,7.3.7 删除视图,在SQL Server Management Studio中,右键单击希望删除的视图名称,在弹出菜单中选择“删除”命令,打开“删除对象”对话框,确认删除后,单击“确定”按钮,即可删除所选视图。 也可以使用DROP VIEW语句删除视图,基本语法格式如下: DROP VIEW 视图名

10、称 ,n,7.4 创建索引,7.4.1 索引,在Microsoft SQL Server系统中,可管理的最小空间是页,一个页是8KB的物理空间。按照其存储内容的不同,页可分为数据页和索引页。当插入数据的时候,数据就按照插入的时间顺序被放置在数据页上。一般情况下,放置数据的顺序与数据本身的逻辑关系之间是没有任何联系的。因此,从数据间的逻辑关系来看,数据被杂乱地堆放在一起。数据的这种堆放方式称为堆,当一个数据页上的数据堆放满之后,数据就得堆放在另外一个数据页上,这时就称为页分解。随着页分解现象的增多,查找数据的难度也随之增加。建立索引可有效及解决这个问题。 索引类似于书中的目录,它与表或者视图相关

11、联,物理存在于磁盘上,包含了表中的一列或者若干列的数据集合(称为关键字)和包含这些数据的记录在表中的物理存储地址。它提供了数据库中编排表中数据的内部方法。,7.4.2 索引的作用,使用索引可以大大提高系统的性能,其主要作用表现在以下几个方面。 建立索引可以极大提高数据查询速度。 通过创建唯一性索引,可以保证每一行数据的唯一性。 加快表间连接。 可以明显减少包含了排序和分组子句的查询语句的分组和排序时间。,7.4.3 索引的类型,(1)聚集索引 在聚集索引中,行的物理存储顺序与索引顺序完全相同,因为行是经过排序的,即将表中的记录在物理数据页中的位置按索引字段值重新排序,再将重排后的结果写回到磁盘

12、上。所以索引的顺序决定了表中行的存储顺序。 (2)非聚集索引 非聚集索引并不在物理上排列数据,即索引中的逻辑顺序并不等同于表中行的物理顺序,索引仅仅记录指向表中行的位置的指针,这些指针本身是有序的,通过这些指针可以在表中快速地定位数据。非聚集索引中的定位指针称为行定位器。,7.4.3 索引的类型,(3)唯一索引 唯一索引要求创建索引的关键字段值在表中不能有重复值,唯一索引与聚集索引和非聚集索引不冲突,如果要求索引改变数据存储结构,可以创建唯一聚集索引,如果要求索引不影响数据的物理存储结构,可以定义唯一的非聚集索引。唯一索引可以确保键列的数据完整性。 (4)其他索引 SQL Server 200

13、5还包含复合索引、全文索引和XML索引等。,7.4.4 创建索引的原则,(1)适合索引的原则 如果一个表或者视图经常被检索而且很少更新,索引会提高效率,如果一个视图连接的表很多或者很复杂,建立索引可以提高连接速度。 索引建立在主键所在的列上可以强制主键的唯一性;建立在外键所在的字段上加快连接速度;建立在查询条件所包含的列上可以提高检索速度;建立在ORDER BY、GROUP BY、DISTINCT子句中出现的字段上,由于数据已经按照这些字段排序,也可以提高创建索引的速度;建立在经常被查询的字段上,索引带来的效率最大。,7.4.4 创建索引的原则,(2)不适合索引的情况 如果一个表或者视图中的数

14、据更新频率高,即使经常被检索,但是维护索引的时间和空间开销都会很大,降低效率; 如果一个表中包含的数据行很少,建立索引可能只会增加系统开销; 如果数据很少被检索,在它们上面建立索引只会增加系统的空间开销; 如果字段是ntext、text、image、varchar(max)、nvarchar(max) 和 varbinary(max)等类型,则不能建立索引。,7.4.3 使用SSMS创建索引,使用SQL Server Management Studio创建索引的基本步骤演示。,7.4.4 使用T-SQL语句创建索引,使用T-SQL语言提供的CREATE INDEX语句创建索引。基本语法格式如下

15、: CREATE UNIQUE CLUSTERED | NONCLUSTERED INDEX 索引名 ON 表视图 (列名ABSDESC ,.n ) WITH 索引选项 ,.n ON 文件组名,7.4.4 使用T-SQL语句创建索引,其中各个参数的含义如下: UNIQUE:确定索引类型为唯一索引,可以和CLUSTERED或者NONCLUSTERED组合。 CLUSTERED:确定索引类型为聚集索引,不能与NONCLUSTERED同时使用。 NONCLUSTERED:确定索引类型为非聚集索引。 索引选项包括以下几方面: 1)DROP_EXISTING:如果新索引名称与已经存在的索引名称同名时,则

16、删除已经存在的索引,再创建新索引。 2)IGNORE_DUP_KEY:指定对唯一性索引插入重复数据时,用于控制SQL Server所作的响应。 ON 文件组名:指定索引存储的文件组,默认为PRIMARY。,7.5 管理和维护索引,7.5.1 使用SSMS查看和修改索引,使用SQL Server Management Studio查看和修改索引的基本步骤演示。,7.5.2 用T-SQL查看和修改索引,(1)查看索引通过sp_helpindex系统存储过程实现,基本语法格式如下: EXECUTE sp_helpindex 表视图,7.5.2 用T-SQL查看和修改索引,(2)修改索引可使用ALTER INDEX语句,基本语法格式如下: ALTER INDEX 索引名称 | ALL ON 表视图 REBUILD | DISABLE | REORGANIZE 其中: ALL:表示所有索引。 REBUILD:重建索引。 DISABLE:禁用索引。 REORGANIZ

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

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

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