网站大量收购独家精品文档,联系QQ:2885784924

第5章索引和视图重点.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.1 索引概述 5.2 索引管理 5.3 视图的管理 5.4 通过视图访问数据 5.5 索引视图 5.1 索引概述 索引是一个单独的物理数据库结构,它是某个表中一列或若干列值的集合,以及相应的指向表中这些值所在数据页的逻辑指针清单。索引是依赖于表建立的,它提供了大量内部方法来编排数据库中表的数据。一个表的存储是由两部分组成的,一部分用来存放表的数据页面,另一部分存放索引页面。索引就存放在索引页面上。 5.1 索引概述 1.非聚集索引 非聚集索引与课本中的索引类似。数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置。索引中的项目按索引键值的顺序存储,而表中的信息按另一种顺序存储(这可以由聚集索引规定)。如果在表中未创建聚集索引,则无法保证这些行具有任何特定的顺序。 5.1 索引概述 2.聚集索引 在聚集索引中,表中各记录的物理顺序与键值的逻辑(索引)顺序相同。只有在表中建立了一个聚集索引后,数据才会按照索引值指定的顺序存储到指定表中。由于一个表中的数据只能按照一种顺序存储,所以在一个表中只能建立一个聚集索引。 5.1 索引概述 5.1 索引概述 如果一个表中既要建立聚集索引,又要建立非聚集索引,则应该先建立聚集索引,然后再建立非聚集索引。这是因为如果先建立了非聚集索引,在建立聚集索引时,系统会自动删除非聚集索引。 同时,一个表中只能有一个聚集索引,但可以有多个非聚集索引,非聚集索引数最多不超过249个。 5.1 索引概述 除了以上两种类型的索引外,还有以下几种索引: ① 惟一索引:确保索引键不包含重复值。如果表或视图中的某列数据没有重复值,则可建立惟一索引。聚集索引和非聚集索引都可以是惟一索引。 ② 全文索引:一种基于标记的特殊类型索引,由SQL Server全文引擎服务创建和维护,主要用于在字符串数据中搜索复杂的词和词组。 5.2 索引管理 建立索引 在SQL Server中,使用create index语句来创建索引,该语句的语法格式如下: create unique|clustered|nonclustered index 索引名 on 表名 (列名,…])|视图名 (列名…) 其中unique表示惟一索引,即索引列中不能有重复值;clustered表示聚集索引;nonclustered表示非聚集索引。如果括号内有多个列名时,表示建立一个复合索引。 5.2 索引管理 删除索引 删除索引的SQL语句如下: drop index 表名.索引名,… |视图名.索引名,… 5.3 视图的管理 视图是从一个或多个表或视图中导出来的表,其结构和数据是建立在对表的查询基础上的,和表一样,视图也是包括几个被定义的数据列和多个数据行,但就本质而言,这些数据列和数据行来源于其所引用的表。所以视图不是真实存在的基础表而是一张虚表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。 5.3 视图的管理 视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样又在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据,对视图的操作与对表的操作一样,可以对其进行查询、修改(有一定的限制)、删除。 当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化,同时若基本表的数据发生变化,则这种变化也可以自动地反映到视图中。 视图可以用来访问一个整表、部分表或组合表。由于在视图中定义了访问表的部分,因此可不用重复的选择语句。 5.3 视图的管理 使用视图有以下几个优点: (1)为用户集中数据 视图创建了一个受控制的环境,它允许访问某些数据,并隐藏其他的数据。不必要的、敏感的或不合适的数据都可以不在视图中显示。用户可以操作视图中数据的显示,与表类似。另外使用合适的权限和一些限制,用户可以修改视图产生的数据。 5.3 视图的管理 (2)掩盖数据库的复杂性 视图对用户掩盖数据库设计的复杂性,使开发者具有更改设计而不影响用户与数据库打交道的能力。视图还可以隐藏比较复杂的查询,包括对异构数据的分布查询。用户可以简单地查询视图,而不用编写复杂的查询或执行脚本。 5.3 视图的管理 (3)简化用户权限的管理 数据库拥有者(owner)可以给其他的用户授权,使他们可以通过视图来查询数据,而不是限制用户查询基表中特定列的权限。这样,还可以使得基表设计中的更改不至于影响用户的查询。 (4)组织数据导出到其他应用程序 可以创建基于连接两个或多个表的复杂查询的视图,然后把数据导出到另一个应用程序作进一步的分析。 5.3 视图的管理 创建视图 创建视图的语法格式为: CREAT

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档