第9章 视 图 教学提示:用户在查询数据库中的数据时,除了直接查看数据库中的表中的数据以外,还可以通过视图来查看表中的数据,也就是说,视图为用户提供了另外一种查看表中的数据的方式。 视图是一种虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自于定义视图的查询所引用的表,并且在引用视图时动态生成。
教学目标:本章内容如下: 视图基础知识:使用视图的目的和视图的分类。 创建视图。 管理视图:修改和删除视图。 通过本章学习,使读者掌握有关视图的基础知识和基本操作。
第9章 视 图 9.1 视图的基础知识 9.2 创建视图 9.3 修改和删除视图 9.4 查看视图信息 9.5 上机指导
9.1 视图的基础知识 视图是由select … from查询语句定义的一个虚拟表,它的内容由这个查询语句定义。在这个定义视图的查询语句中所引用的表称为视图的基表。视图实际上也可以由一个或多个其他视图定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图的数据并不真实地存在于数据库中,它的数据来自定义视图的基表,并且在引用视图时动态生成,所以,视图又被称作虚表。 如图9.1中的视图是由两个表建立的。
9.1.1 视图的优点与用途 1. 查询的简单化 2. 安全性 3. 隔离变化 4. 只关注使用的数据 5. 简单化数据操作 9.1.1 视图的优点与用途 1. 查询的简单化 2. 安全性 3. 隔离变化 4. 只关注使用的数据 5. 简单化数据操作 6. 数据用户化 7. 跨服务器分区数据的联合 8. 导入导出数据
9.1.2 视图的分类 下面介绍在SQL Server 2005中视图的种类和每一种视图的特征。视图可以分为以下几种类型。 1. 标准视图 9.1.2 视图的分类 下面介绍在SQL Server 2005中视图的种类和每一种视图的特征。视图可以分为以下几种类型。 1. 标准视图 2. 索引视图 3. 分区视图
9.2 创 建 视 图 9.2.1 使用Management Studio创建视图 9.2 创 建 视 图 9.2.1 使用Management Studio创建视图 在这一部分中,将使用Management Studio在MyCoDB数据库中创建视图。以下步骤将指导用户完成这一过程。 (1) 在【对象资源管理器】窗口中,展开示例数据库MyCoDB所在的服务器【数据库】节点,然后单击MyCoDB数据库前的“+”号,展开示例数据库。 略
9.2.2 使用Transact-SQL创建视图 Create View命令用于创建视图,它的完整语法格式为: CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ] [ WITH <view_attribute> [ ,...n ] ] AS select_statement [ ; ] [ WITH CHECK OPTION ] <view_attribute> ::= { [ ENCRYPTION ] [ SCHEMABINDING ] [ VIEW_METADATA ] }
9.3 修改和删除视图 9.3.1 使用Management Studio修改和删除视图 9.3 修改和删除视图 9.3.1 使用Management Studio修改和删除视图 使用Management Studio修改和删除视图的具体步骤如下。 1. 在【对象资源管理器】窗口中,展开示例数据库MyCoDB所在的服务器【数据库】节点,然后单击MyCoDB数据库前的+号,展开示例数据库;单击【视图】前的+号,展开视图节点。 2. 在希望修改或删除的视图上单击鼠标右键,弹出快捷菜单,如 图9.7所示。要删除这个视图,就在这个菜单中选择【删除(D)】命令。若要修改视图,请选择【修改(Y)】命令。
9.3.2 使用Transact-SQL修改和删除视图 用户可以使用ALTER VIEW命令来对视图进行修改。ALTER VIEW命令的语法格式为: 略 用户可以使用DROP VIEW命令来删除已有的视图。DROP VIEW命令的语法格式为: DROP VIEW [ schema_name . ] view_name [ ...,n ] [ ; ]
9.4 查看视图信息 9.4.1 使用系统存储过程查看视图信息 9.4 查看视图信息 9.4.1 使用系统存储过程查看视图信息 视图的信息存储在下列的系统表中,如表9.1所示,其中的系统表表示系统表的名称,存储信息给出系统表中存储的视图相关信息。
9.4.2 使用Microsoft SQL Server Management Studio查看视图信息 例题:使用Microsoft SQL Server Management Studio查看服务器net-fys中的数据库Adventureworks中视图vEmployee的定义、列信息和依赖关系信息。 具体操作步骤如下。略
9.4.3 使用Transact-SQL查看视图信息 使用Transact-SQL,可以借助于存储过程查看服务器net-fys中的数据库Adventureworks中视图vEmployee的定义、列信息和依赖关系信息。 具体操作步骤如下。略
9.5 上 机 指 导 某企业的服务器net-fys上有一个数据库MyCoDB,为了业务方便,创建一个视图,通过该视图可以查询某种商品在某一天的出售价格,使用一段时间后,发现该视图如果添加供应商的ID号就更方便使用了,又过了一段时间,由于企业的改革,这种业务被企业取消,于是原来创建的视图不再需要。请完成以上关于视图的操作。