数据库原理与SQL教案(5)

2020-08-09 18:19

五、【板书设计】

教学要点和重要补充 黑板提纲

六、【教学手段】

理论讲授+课堂讨论+问题答疑+上机实践 七、【作业安排】 课后选择与填空题 八、【授课后记】

46

学习情境7 视图及应用(6课时) 一、【教学目标】 1. 了解视图的基本概念;

2. 掌握试图的创建,并能熟练使用视图处理具体的数据库问题 二、【教学内容】

7.1视图概述 7.2创建视图 7.3试图的引用 视图的索引

视图的修改 视图的删除

三、【教学重点、难点】 重点:1、创建视图; 2、应用视图

难点:1、使用createview 创建试图; 2、应用视图索引 四、【教学过程】

第7章 视图(View)及其应用 7.1 视图概述

7.1.1 了解视图的基本概念

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。 对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其他数据库的一个或多个表,或者其他视图。分布式查询也可用于定义使用多个异类源数据的视图。如果有几台不同的服务器分别存储组织中不同地区的数据,而用户需要将这些服务器上相似结构的数据组合起来,这种方式就很有用。 7.1.2 视图的基本特点

由于视图有上面的特点,所以视图有以下的优点:

? 查询的简单性(QUERY SIMPLICITY)。通过将复杂的查询(如多表的JOIN查询)定义为视图,从而简化操作。即:视图能够给用户一个“个人化”

47

的数据库结构视图。

? 安全性(SECURITY)。可以用GRANT和REVOKE命令为各种用户授予在视图上的操作权限,而没有在表上的操作权限。这样,通过视图,用户只能查询或修改他们各自所能见到的数据,数据库中的其他数据对他们来说是不可见的或不可修改的。

? 隔离变化。视图能够代表一个一致的、非变化的数据库数据,即使基本表发生更改或重新组合,用户仍能通过视图获得一致和非变化的数据,只需要修改视图的定义即可。 同样,视图也有缺点。

? 性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也把它变成一个复杂的结合体,但是需要花费一定的时间。 ? 修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的视图,可能是不可修改的。 7.2 创建视图

视图作为虚拟表,只能在当前数据库中创建,而且不能与已有的表重名,但是如果使用分布式查询定义视图,则可以引用其他服务器上的表和视图。此外,视图不能在临时表上创建。

7.2.1 使用CTEATEVIEW语句创建视图 1.CREATEVIEW语句的语法

CREATEVIEW语句必须作为一个批处理的第一条语句。 CREATEVIEW语句的语法如下:

CREATEVIEW[.][.]view_name[(column[,?n])] [WITH[,?n] AS

select_statement [WITHCHECKOPTION] ::=

48

{ENCRYPTION | SCHEMABINDING | VIEW_METADATA} 2.参数说明

view_name:视图的名称。

column:视图中的列名。当视图的列不是基本表中原有的列,而是导出列,或者视图是多个表,且其中有相同的列名时,必须指定列名。当然,如果希望给视图中的列指定不同于基表中的名称时,也可以指定列名。 AS:视图要执行的操作。

select_statement:定义视图要执行的SELECT语句。可以引用多个表及其他视图,但是select_statement不能包含COMPUTER、COMPUTER BY或ORDER BY子句,也不能包含INTO关键字,且不能引用临时表。

SCHEMABINDING:表示将视图绑定到架构上。指定SCHEMABINDING时,select_statement必须使用所有者限定所引用的表、视图或用户定义函数的名称,即使用owner.object形式

7.2.2 使用SQL Server企业管理器创建视图

(1)选择“开始”→“所有程序”→“Microsoft SQL Server”→“企业管理器”选项,打开SQL Server 企业管理器。

(2)在SQL Server 企业管理器中,展开“数据库”节点,展开要建立视图的数据库,在“视图”上右击,在弹出的快捷菜单中选择“新建视图”选项,如下图所示。

7.3 视图的应用

49

7.3.1 视图的索引

在视图上创建索引,必须先创建聚簇索引,第一个索引必须是聚簇索引。在创建唯一聚集索引后,可创建其他非聚集索引。除了一般的CREATE INDEX要求外,CREATE INDEX语句还必须满足下列要求:如果视图定义中的SELECT语句指定了一个GROUP BY子句中指定的列。 7.3.2 视图的修改

对视图中定义的语句或参数可以进行修改,也可以对视图重新命名。如果不修改视图对相关对象的定义,使之无效,则修改视图并不会影响相关对象,例如存储过程、触发器。如果要对视图进行重命名,则视图必须在当前数据库中。 使用ALTERVIEW语句可以对视图定义进行修改,使用sp_rename可以重命名视图。 7.3.3 视图的删除

对不再需要的视图,可以使用DROP VIEW语句删除。删除一个视图后,视图被赋予的全部权限都被删除,视图的所有定义及信息也将从sysobjects、syscolumns、syscomments、sysdepends和sysprotects系统表中删除,但是表和视图所基于的数据并不会受到影响 7.4 上机实训 实验目的

熟练掌握基于表创建视图的方法;掌握基于视图创建视图的方法;掌握视图中参数的应用。 实验内容

? 基于表创建视图。 ? 创建其他类型的视图。 7.4.1 基于表创建视图 1.基于一个表创建视图 实验内容:

在查询分析器中输入创建语句,如下图所示。

50


数据库原理与SQL教案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013级信号与系统实验(终版)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: