数据库之 索引和视图

上传人:ji****72 文档编号:51462145 上传时间:2018-08-14 格式:PPT 页数:37 大小:699.50KB
返回 下载 相关 举报
数据库之 索引和视图_第1页
第1页 / 共37页
数据库之 索引和视图_第2页
第2页 / 共37页
数据库之 索引和视图_第3页
第3页 / 共37页
数据库之 索引和视图_第4页
第4页 / 共37页
数据库之 索引和视图_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《数据库之 索引和视图》由会员分享,可在线阅读,更多相关《数据库之 索引和视图(37页珍藏版)》请在金锄头文库上搜索。

1、主要内容 l1、索引的概念l2、索引的创建与管理l3、视图的概念l4、视图的创建与管理1、索引的概念l索引是为了加速对表中数据行的检索而创建的一种分散的 存储结构,索引是针对一个表而建立的。l数据库中的索引是一个列表,在这个列表中包含了某个表 中一列或者若干列值的集合,以及这些值的记录在表中存 储位置的物理地址。(1)索引的优点l可以大大加快数据检索速度。l在使用ORDER BY和GROUP BY子句进行检索数据时,可 以显著减少查询中分组和排序的时间。l使用索引可以在检索数据的过程中进行优化,提高系统性 能。l可以加速表与表之间的连接,这一点在实现数据的参照完 整性方面有特别的意义。l通过创

2、建唯一索引,可以保证数据记录的唯一性。(2)创建索引列的考虑l主键。l连接中频繁使用的列。l在某一范围内频繁搜索的列和按排序顺序频繁检索 的列。(3)不创建索引列的考虑l很少或从来不在查询中引用的列。l只有两个或很少几个值的列。l以bit、text、image数据类型定义的列。l记录数比较少的数据表也没必要创建索引。(4)索引的分类l聚簇索引(表的物理顺序与索引顺序相同)n在SQL中,数据库的每个表中只能有一个聚族索引。n一般情况下,按照表的主码字段建立聚族索引。l非聚簇索引(表的物理顺序与索引顺序不同)l在SQL中,数据库的每个表中可以有多个非聚族索引。2.1 使用T-SQL语句创建索引l基

3、本格式CREATE UNIQUE CLUSTERED | NONCLUSTERED INDEX ON 表名 ( 字段 ASC | DESC , n )l参数说明l UNIQUE :指定创建的索引是唯一索引。l CLUSTERED | NONCLUSTERED :指定被创建索引的类型。使 用 CLUSTERED 创建聚簇索引;使用 NONCLUSTERED 创建非 聚簇索引。l默认创建的是非聚簇索引。2、索引的创建与管理(1)创建聚簇索引 l数据库的每张表中只能有一个聚簇索引。l主码是聚簇索引的首选字段。l当表中有设置为【Primary key】的字段时,SQL Server会 在该字段上自动建

4、立一个聚簇索引。l示例:(2)创建非聚簇索引 l数据库的每张表中可以有多个非聚簇索引。l示例:(3)创建惟一索引 l惟一索引(UNIQUE)既可以采用聚簇索引的结构,也可以采用非聚簇 索引的结构。l惟一索引的特征:n不允许两行具有相同的索引值。n能够实现实体完整性。n在创建主码约束和惟一约束时自动创建。l示例:(4)创建复合索引 l由两个字段或更多字段组成的索引称为复合索引。l复合索引的特征:n把两个字段或更多字段指定为索引。n对复合字段作为一个单元进行搜索。n创建复合索引中的列序不一定与表定义列序相同。l注意点:n被频繁访问的字段都应创建复合索引。n在字段的顺序上,首先定义的是最具惟一性的字

5、段。l示例:2.2 删除索引l语法DROP INDEX 表名.索引名l示例:2.3 使用企业管理器创建索引(1)创建聚簇索引(2)创建非聚簇索引(3)创建惟一索引(4)创建复合索引2.4 使用企业管理器删除索引3、视图的概念l视图可以看作是从一个或多个表(或视图)导出的表。l视图与表(有时为了与视图区别,也称表为基本表)不同, 视图是一个虚表,即视图所对应的数据不进行实际存储。数 据库中只存储视图的定义,对视图的数据进行操作时,系统 根据视图的定义去操作与视图相关联的基本表。l视图一经定义后,就可以像表一样被查询、修改、删除和更 新。(1)使用视图的优点 l为用户集中数据,简化用户的数据查询和

6、处理。有时用户 所需要的数据分散在多个表中,定义视图可将它们集中在 一起,从而方便用户的数据查询和处理。l屏蔽数据库的复杂性。用户不必了解复杂的数据库中的表 结构,并且数据表的更改也不影响用户对数据库的使用。l简化用户权限的管理。只需授予用户使用视图的权限,而 不必指定用户只能使用表的特定列,也增加了安全性。l便于数据共享。各用户不必都定义和存储自己所需的数据 ,可共享数据库的数据,这样同样的数据只需存储一次。(2)使用视图的注意事项l只有在当前数据库中才能创建视图。l视图的命名必须遵循标识符命名规则,不能与表同名;而 且某一数据库中的视图名是惟一的,即使是以不同的用户 名义创建的。l不能把规

7、则、默认值或触发器与视图相关联。l不能在视图上建立任何索引,包括全文索引。4.1 使用T-SQL语句创建视图l视图在数据库中是作为一个对象来存储的。创建视图前, 要保证创建视图的用户已被数据库所有者授权使用 CREATE VIEW语句,并且有权操作视图所涉及的表或其他 视图。在SQL Server 2000中,创建视图可以在企业管理器 使用视图向导中进行,也可以使用T-SQL的CREATE VIEW 语句。l基本格式 CREATE VIEW ( , , n ) AS WITH CHECK OPTION 4、视图的创建与管理参数说明:l字段名:视图中包含的列,可以有多个列名;若使用与源表或视图中

8、相 同的列名时,则不必给出列名。l查询语句:用来创建视图的SELECT语句。可在SELECT语句中查询多 个表或视图,以表明新创建的视图所参照的表或视图,但对SELECT语 句有以下的限制:n定义视图的用户必须对所参照的表或视图有查询权限,即可执行SELECT 语句。n不能使用【ORDER BY】子句。n不能使用【INTO】子句。n不能在临时表或表变量上创建视图。lWITH CHECK OPTION:指出在视图上所进行的修改都要符合查询语 句所指定的限制条件,这样可以确保数据修改后仍可通过视图看到修改 的数据。示例: 4.2 视图数据的查询l视图定义后,就可以像查询基本表那样对视图进行查询。l

9、使用视图查询时,若其关联的基本表中添加了新字段,则 必须重新创建视图才能查询到新字段。l如果与视图相关联的表或视图被删除,则该视图将不能再 使用。示例:4.3 视图数据的更新v 通过更新视图数据(包括插入、修改和删除)可以修改基本表 数据,但并不是所有的视图都可以更新,只有对满足更新条件的 视图才能进行更新。v7.7.1 插入操作【INSERT】v 使用INSERT语句通过视图向基本表插入数据。v 若一个视图依赖于多个基本表,则一次向该视图中插入数据只 能变动一个基本表的数据,且插入的数据要求满足相关约束性。v示例1:向【选修学生】视图中插入一条记录。vINSERT INTO 选修学生v VA

10、LUES (200203008, 梅婷, 女, 19 ) v相当于:vINSERT INTO 学生表 ( 学号, 姓名, 性别, 年龄 )v VALUES (200203008, 梅婷, 女, 19 ) (1)插入操作【INSERT】l使用INSERT语句通过视图向基本表插入数据。l若一个视图依赖于多个基本表,则一次向该视图中插入数 据只能变动一个基本表的数据,且插入的数据要求满足相 关约束性。示例:(2)修改操作【UPDATE】l使用UPDATE语句可以通过视图修改基本表的数据。l若一个视图依赖于多个基本表,则一次修改该视图只能变 动一个基本表的数据。l示例:(3)删除操作【DELETE】l使用DELETE语句可以通过视图删除基本表的数据。但要 注意,对于依赖于多个基本表的视图,不能使用DELETE 语句。l示例:(4)一点说明l在SQL Server中,并不是所有的视图都是可以更新的,因 为有些视图的更新不能唯一地有意义地转换成对相应基本 表的更新。l示例:4.4 删除视图l语法: DROP VIEW 视图名l示例:4.5 使用企业管理器创建视图4.6 使用企业管理器查看视图4.7 使用企业管理器进行视图数据的查询和更新4.8 使用企业管理器删除视图

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

当前位置:首页 > 行业资料 > 其它行业文档

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