《SQL Server 2005实用教程》-李伟红-电子教案 第7章 视图的创建和使用

上传人:E**** 文档编号:89401140 上传时间:2019-05-24 格式:PPT 页数:34 大小:185KB
返回 下载 相关 举报
《SQL Server 2005实用教程》-李伟红-电子教案 第7章  视图的创建和使用_第1页
第1页 / 共34页
《SQL Server 2005实用教程》-李伟红-电子教案 第7章  视图的创建和使用_第2页
第2页 / 共34页
《SQL Server 2005实用教程》-李伟红-电子教案 第7章  视图的创建和使用_第3页
第3页 / 共34页
《SQL Server 2005实用教程》-李伟红-电子教案 第7章  视图的创建和使用_第4页
第4页 / 共34页
《SQL Server 2005实用教程》-李伟红-电子教案 第7章  视图的创建和使用_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《《SQL Server 2005实用教程》-李伟红-电子教案 第7章 视图的创建和使用》由会员分享,可在线阅读,更多相关《《SQL Server 2005实用教程》-李伟红-电子教案 第7章 视图的创建和使用(34页珍藏版)》请在金锄头文库上搜索。

1、第7章 视图的创建和使用,本章学习目标,了解视图和数据表之间的主要区别 了解视图的优点 掌握创建、修改和删除视图的方法 掌握查看视图信息的方法 掌握通过视图修改数据表的方法,7.1 概述,7.1.1 视图的概念,视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询的结果。 根据创建视图时给定的条件,视图可以是一个数据表的一部分,也可以是多个基表的联合,它存储了要执行检索的查询语句的定义,以便在引用该视图时使用。,7.1.2 视图的优点,简化数据操作:视图可以简化用户处理数据的方式。

2、 着重于特定数据:不必要的数据或敏感数据可以不出现在视图中。 视图提供了一个简单而有效的安全机制,可以定制不同用户对数据的访问权限。 提供向后兼容性:视图使用户能够在表的架构更改时为表创建向后兼容接口。 自定义数据:视图允许用户以不同方式查看数据。 导出和导入数据:可使用视图将数据导出到其他应用程序。,7.2 创建视图,在SQL Server 2005中创建视图主要有两种方法:使用SQL Server管理控制台和使用Transact-SQL语句中的CREATE VIEW命令。创建视图之前,应考虑以下基本原则: 只能在当前数据库中创建视图。 视图名称必须遵循标识符的规则,且对每个架构都必须唯一。

3、 必须获取由数据库所有者授予的创建视图的权限。,7.2.1 使用SQL Server管理控制台 创建视图,方法是在SQL Server管理控制台左边的“树”选项卡中展开指定的服务器,打开要创建视图的数据库,右击其中的“视图”对象,从弹出的快捷菜单中选择“新建视图”选项。 例7-2-1:创建一个视图,要求显示T_STUDENT表中所有姓张的同学,并按性别进行升序排序。,7.2.2 使用Transact-SQL语句 创建视图,使用Transact-SQL语言中的CREATE VIEW语句创建视图,其语法形式如下: CREATE VIEW schema_name . view_name (colum

4、n ,.n ) WITH ENCRYPTION AS select_statement WITH CHECK OPTION ; ,7.2.2 使用Transact-SQL语句 创建视图,其中,各参数的说明如下: schema_name:视图所属架构的名称。 view_name:视图的名称。 column:视图中的列使用的名称。 AS:指定视图要执行的操作。 select_statement:定义视图的 SELECT 语句。,7.2.2 使用Transact-SQL语句 创建视图,CHECK OPTION :强制针对视图执行的所有数据修改语句都必须符合在 select_statement 中设置

5、的条件。 ENCRYPTION:对视图文本进行加密。 例7-2-2:使用Transact-SQL语句创建一个新视图,命名为VIEW_SCORE,要求基表的来源为:T_STUDENT、T_SCORE和T_COURSE,选择的字段为:T_STUDENT表中的S_NUMBER和S_NAME字段、T_COURSE表中的C_NAME字段及T_SCORE表中的SCORE字段,要求查询的数据为05541班学生的考试成绩。,7.2.2 使用Transact-SQL语句 创建视图,例7-2-3:使用Transact-SQL语句创建新视图VIEW_SCORE_NotPass。对数据表和对字段的选择同上,要求只显示

6、各班不及格的学生的学号、姓名、课程名及成绩。并加密视图的定义。 例7-2-3:使用Transact-SQL语句创建新视图VIEW_SCORE_SumAndAverage。要求计算各个班级各门课程的总分及平均分。,7.3 查看视图信息,在SQL Server中,可以通过SQL Server管理控制台或者使用系统存储过程来查看视图信息。,7.3.1 使用SQL Server管理控制台 查看视图信息,打开SQL Server管理控制台窗口,在SQL Server管理控制台左边的“树”选项卡中选择指定的SQL Server组,展开指定的服务器,打开要查看视图的数据库文件夹,选择“视图”目录。,7.3.

7、2 使用系统存储过程查看视图信息,系统存储过程sp_help可以显示数据库对象的特征信息,sp_depends可以显示数据库对象所依赖的对象,它们可以在任何数据库对象上运行。sp_helptext可以用于显示视图、触发器或存储过程等在系统表中的定义。它们的语法形式分别如下: sp_help 数据库对象名称 sp_helptext 视图(触发器、存储过程) sp_depends 数据库对象名称,7.3.2 使用系统存储过程查看视图信息,例7-3-1:使用系统存储过程sp_help显示VIEW_SCORE视图的特征信息。 例7-3-2:使用sp_helptext显示VIEW_SCORE视图在系统表

8、中的定义。 例7-3-3:查看加密视图的定义信息。 例7-3-4:使用sp_depends显示VIEW_SCORE视图所依赖的对象。,7.4 修改和重命名视图,如果已定义的视图不能满足用户要求时,可以使用SQL Server管理控制台或Transact-SQL语句修改视图的定义。也可以对现有的视图重新命名。,7.4.1 修改视图,1使用SQL Server管理控制台修改视图 在SQL Server管理控制台中,右击要修改的视图名称,从弹出的快捷菜单中选择“修改”选项,会出现视图的设计窗口。该窗口与创建视图时的窗口相同,可以按照创建视图的方法修改视图的定义。,2使用Transact-SQL语句修

9、改视图 可以使用Transact-SQL语言中的ALTER VIEW语句修改视图: ALTER VIEW schema_name . view_name ( column ,.n ) WITH ENCRYPTION AS select_statement WITH CHECK OPTION ; ,7.4.1 修改视图,注意:如果原来的视图定义是用WITH ENCRYPTION或WITH CHECK OPTION创建的,那么只有在ALTER VIEW中也包含这些选项时,这些选项才有效。 例7-4-1:修改视图VIEW_SCORE_NotPass,在该视图中增加一个新的条件,要求只显示高等数学不及

10、格的学生信息。,7.4.1 修改视图,7.4.2 重命名视图,1使用SQL Server管理控制台重命名视图 在SQL Server管理控制台中,右击要修改名称的视图,从弹出的快捷菜单中选择“重命名”选项。或者在视图上再次单击,也可以修改视图的名称。当该视图的名称变成可输入状态时,可以直接输入新的视图名称。,2使用系统存储过程重命名视图 可以使用系统存储过程sp_rename来修改视图的名称,该过程的语法形式如下: sp_rename old_name,new_name 例7-4-2:使用系统存储过程sp_rename来完成把视图“VIEW_SCORE_NotPass”重命名为“VIEW_SC

11、ORE_NotPass_高等数学”。,7.4.1 修改视图,7.5 使用视图,通过视图可以方便地检索数据,并可以修改基本表的数据,使用视图修改数据时,需要注意以下几点: 任何修改都只能引用一个基表的列。 在视图中修改的列必须直接引用表列中的基础数据。 使用集合运算符得出的计算结果不可更新。 修改的数据必须符合对这些列的约束,例如为空性、约束及DEFAULT定义等。,7.5.1 插入数据记录,1使用SQL Server管理控制台在视图中插入记录 具体方法是:在SQL Server管理控制台中,打开要插入记录的数据表对应的视图,在返回的数据记录的最下面一行中直接插入新记录即可。,7.5.1 插入数

12、据记录,2使用Transact-SQL语句通过视图插入记录 注意:如果视图创建时定义了限制条件或者基本表的列允许空值或有默认值,而插入的记录不满足该条件时,此时,仍然可以向表中插入记录,只是用视图检索时不会显示出新插入的记录。如果不想让这种情况发生,则可以使用WITH CHECK OPTION选项限制插入不符合视图规则的视图。这样,在插入记录时,如果记录不符合限制条件就不能插入。,7.5.1 插入数据记录,例7-5-1:创建一个基于表T_STUDENT的新视图VIEW_STUDENT_05541,要求包含05541班的学生记录。 例7-5-2:首先创建一个包含限制条件的视图VIEW_STUDE

13、NT_05541_男,限制条件为显示05541班的男同学信息,然后插入了一条不满足限制条件的记录,再用SELECT语句检索视图和表。 例7-5-3:在例子7-5-2的基础上添加WITH CHECK OPTION选项。,7.5.2 更新数据记录,1使用SQL Server管理控制台在视图中更新记录 具体方法是:在SQL Server管理控制台中,打开要更新记录的数据表对应的视图,在返回的数据记录窗口中直接修改记录即可。,7.5.2 更新数据记录,2使用Transact-SQL语句通过视图更新记录 例7-5-4:创建一个基于表T_STUDENT的视图VIEW_STUDENT_05541_Modif

14、y,条件是显示05541班的学生的学号、姓名和性别,然后通过该视图修改表T_STUDENT中的记录。,7.5.3 删除数据记录,1使用SQL Server管理控制台在视图中删除记录 具体方法是:在SQL Server管理控制台中,打开要删除记录的数据表对应的视图,在返回的数据记录窗口中直接删除记录即可。,7.5.3 删除数据记录,2使用Transact-SQL语句通过视图删除记录 使用视图删除记录时,可以直接利用Transact-SQL语言的DELETE语句删除视图中的记录。但应该注意,如果有删除条件,则WHERE条件中使用到的字段必须是在视图中定义过的字段。 例7-5-5:利用视图VIEW_

15、STUDENT_05541,先插入一条记录,然后删除此条记录。,7.6 删除视图,7.6.1 使用SQL Server管理控制台 删除视图,打开SQL Server管理控制台窗口,选择要删除的视图,右击该视图名称,从弹出的快捷菜单中选择“删除”选项,会出现“删除对象”对话框。 注意:在确认删除之前,应该查看视图的依赖关系窗口,查看是否有数据库对象依赖于将被删除的视图。如果存在这样的对象,那么首先确定是否还有必要保留该对象,如果不必继续保存,可以直接删除掉该视图,否则只能放弃删除。,7.6.2 使用Transact-SQL语句删除视图,可以使用Transact-SQL语句中的DROP VIEW命

16、令删除视图,其语法形式如下: DROP VIEW view_name ,n 可以使用该命令同时删除多个视图,只需在要删除的各视图名称之间用逗号隔开即可。 例7-6-1:删除视图VIEW_STUDENT_05541_Modify和视图VIEW_STUDENT_05541_男。,7.7 思考与练习,1视图和数据表之间的主要区别是什么? 2使用视图的优点有哪些? 3如何通过SQL Server管理控制台和Transact-SQL语句对视图进行创建、修改和删除? 4使用哪些存储过程可以查看视图的信息?,7.7 思考与练习,5创建一个包含B04511班学生信息的视图VIEW_Stu_B04511,然后使用系统存储过程将该视图的名称修改为v_StuInfo_B04511,并在SQL Server管理控制台中,使用鼠标操作和使用SQL语句两种方式实现以下操作:向此视图中插入新数据,修改刚插入的数据,删除插入的数据,查看视图中的数据。 6使用DROP VIEW命令删除上

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

当前位置:首页 > 高等教育 > 大学课件

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