(本科)第8章 视图和索引ppt课件.pptx
《(本科)第8章 视图和索引ppt课件.pptx》由会员分享,可在线阅读,更多相关《(本科)第8章 视图和索引ppt课件.pptx(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:第8章 视图和索引第第8章章 视图和索引视图和索引本章主要介绍视图和索引的基本概念及基本操作。本章内容:8.1 视图8.1.1 视图概述8.1.2 创建视图8.1.3 修改视图8.1.4 使用视图8.2 索引8.2.1 索引简介8.2.2 索引类型8.2.3 创建索引8.2.4 查看索引信息8.2.5 删除索引1. 视图的优点(1) 简单、方便性。(2)数据逻辑独立性。(3) 安全性。8.1 视图8.1.1 视图概述视图作为一种数据库对象,用户通过视图来浏览数据表中感兴趣的部分或全部数据。视图是从一个或多个表中使用SELECT语句导出的虚拟表,同基本表一样,它包含了一系列带有名称的
2、列和行数据,但它并不是以一组数据的形式存储在数据库中,数据库中只存储视图的定义,而不存储视图对应的数据(除非是索引视图),这些数据仍存储在导出视图的基本表中。当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。2. 视图的分类(1)标准视图标准视图是为了系统应用需求,用户自定义的视图。标准视图组合了一个或多个表中的数据,用户通过标准视图可以实现对数据库的数据进行查询、修改和删除等基本操作。标准视图是用户使用较多的一种视图。(2)索引视图索引视图是被具体化了的视图,即已经对视图定义进行了计算并且生成的数据像表一样存储。 可以为视图创建索引,即对视图创建一个唯一的聚集索引。 索引视图可以
3、显著提高某些类型查询的性能。 索引视图尤其适于聚合许多行的查询。 但它们不太适于经常更新的基本数据集。(3)分区视图分区视图在一台或多台服务器间水平连接一组成员中的分区数据。这样,数据看上去如同来自于一个表。分区视图分为本地分区视图和分布式分区视图,在本地分区视图中所有相关的表和视图都连接在同一个 SQL Server 实例上,在分布式分区视图中至少有一个相关表是连接在不同的(远程)服务器上的。(4)系统视图系统视图公开目录元数据。即可以使用系统视图返回与 SQL Server 实例或在该实例中定义的对象相关的信息。 例如,可以通过查询 sys.databases 目录视图以便返回与实例中提供
4、的用户定义数据库有关的信息。8.1.2 创建视图创建视图时必须遵循以下原则:(1)只能在当前数据库中创建视图。但是,如果使用分布式查询定义视图,则新视图所引用的表和视图可以存在于其他数据库中,甚至其他服务器上。(2) 视图最多可以包含1024列。(3) 视图名称必须遵循标识符的规则,且对每个用户必须唯一。此外,该名称不得与该用户拥有的任何表的名称相同。(4)用户不能创建临时视图,也不能引用临时表或表变量来创建视图,但可以在其他视图之上再建立视图。(5)如果视图中的某一列是一个算术表达式、内置函数或常量派生而来,而且视图中两个或者更多的不同列拥有一个相同的名字(这种情况通常是因为在视图的定义中有
5、一个连接,而且这两个或者多个来自不同表的列拥有相同的名字),此时,用户需要为视图的每一列指定特定的名称。(6)视图定义的SELECT语句不可以包含ORDER BY子句,除非在 SELECT 语句的选择列表中也有一个 TOP 子句。ORDER BY 子句仅用于确定视图定义中的 TOP 或 OFFSET 子句返回的行。 ORDER BY 不保证在查询视图时得到有序结果,除非在查询本身中也指定了 ORDER BY。(7)视图定义中的 SELECT 子句不能包括INTO关键字、OPTION子句或COMPUTE(BY)子句。(8)如果某个视图依赖于已删除的表(或视图),则当有人试图使用视图时,数据库引擎
6、将产生错误消息。如果创建了新表或视图(该表的结构与以前的基表没有不同之处)以替换删除的表或视图,则视图将再次可用。如果新表或视图的结构发生更改,则必须删除并重新创建该视图。 (8)通过视图进行查询时,数据库引擎将进行检查以确保语句中任何位置被引用的所有数据库对象都存在,这些对象在语句的上下文中有效,以及数据修改语句没有违反任何数据完整性规则;如果检查失败,将返回错误消息;如果检查成功,则将操作转换为对基本表的操作。(10)创建视图后,有关视图的信息将存储在下列目录视图中:sys.views、sys.columns和sys.sql_expression_dependencies。CREATE V
7、IEW语句的文本将存储在sys.sql_modules目录视图中。可以通过查询这些目录视图,查看有关的视图信息。在SQL Server 2014中创建视图主要有两种方式:1. 在SQL Server Management Studio中使用向导创建视图。【例8-1】创建所有在年龄大于22岁(包含22岁)的所有男生的学生信息视图,视图中只显示学号、姓名、性别和年龄,视图命名为view_s。2. 通过在查询窗口中执行T-SQL语句创建视图。在SQL Server 2014中创建视图的基本语法格式如下:CREATE VIEW schema_name . view_name (column ,.n )
8、 WITH ,.n AS select_statement WITH CHECK OPTION ; := ENCRYPTION SCHEMABINDING VIEW_METADATA 【例8-2】创建“S_C_SC”视图,包括“计算机”专业的学生的学号、姓名,和他们选修的课程号、课程名和成绩。【例8-3】创建视图名为view_sg,视图中只显示学号、姓名、性别和年龄。8.1.3 修改视图如果创建的视图不符合要求,需要对所创建的视图进行修改,则可以采用以下两种方法:1在SQL Server Management Studio中修改视图2使用T-SQL语句修改视图其基本语法格式如下:ALTER V
9、IEW schema_name . view_name ( column ,.n ) WITH ,.n AS select_statement WITH CHECK OPTION ; := ENCRYPTION SCHEMABINDING VIEW_METADATA 【例8-4】修改“S_C_SC”视图,要求包括每个学生的学号、姓名和选修的课程总数。8.1.4 使用视图1使用视图进行数据查询查询视图的方法和查询表的方法是一样的,可以在SQL Server Management Studio中选中要查询的视图并打开,浏览该视图查询的所有数据;也可以在查询窗口中执行T-SQL语句查询视图。【例8-
10、5】在查询窗口中查询view_sg视图,统计男女生的平均年龄。2使用视图修改基本表中数据修改视图的数据,其实就是对基本表的数据进行修改,因为视图中并不存储数据,数据还是存储在基本表中的。但是通过视图更新数据,并不是所有视图都可以更新,只有对满足可更新条件的视图才能进行更新。具体可更新条件参照教材。【例8-6】通过male_view视图向student表中插入一个“男”生。8.1.5 删除视图在不需要该视图的时候或想清除视图定义及与之相关联的权限时,可以删除该视图。视图的删除不会影响所依附的基本表的数据,定义在系统表sysahjects、syscolumns、syscomments、sysdep
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科第8章 视图和索引ppt课件 本科 视图 索引 ppt 课件
限制150内