第6章视图及其应用.ppt_第1页
第6章视图及其应用.ppt_第2页
第6章视图及其应用.ppt_第3页
第6章视图及其应用.ppt_第4页
第6章视图及其应用.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6章视图及其应用,2020/6/16,2/29,假若你作为学生管理信息系统的程序开发员,需要采取什么方法,来从一个或多个相关联数据表中抽取数据,定制所需要的数据信息?本章教与学的建议:教师使用2课时边讲解边演示,学生在教师的指导下使用2课时在课内练习和讨论。本章目标是通过学习,能够运用视图来检索数据表中感兴趣的部分或全部数据。,第6章视图及其应用,2020/6/16,3/29,本章学习任务视图的概述视图的概念、使用视图的优点和缺点视图的创建使用对象资源管理器或Transact-SQL创建视图视图的管理维护查看和修改视图定义、视图的更名与删除通过视图查询与更新数据通过视图查询数据、通过视图修改

2、数据,第6章视图及其应用,2020/6/16,4/29,视图的概述,视图的概念视图是基于某个查询结果的一个虚拟表,只是用来查看数据的窗口而已。视图与真正的表很类似,也是由一组命名的列和数据行所组成,其内容由查询所定义。但是视图并不是以一组数据的形式存储在数据库中,数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基表中。当基表中的数据发生变化时,从视图中查询出来的数据也随之改变。,2020/6/16,5/29,视图的概述,视图的概念除非是索引视图,否则视图的数据不会作为非重复对象存储在数据库中。数据库中只存储视图的定义,即视图是从某个或某些基本表(或视图)导出的,视图不

3、生成所选数据表行和列的永久拷贝。,2020/6/16,6/29,视图的概述,使用视图的优点和缺点优点:数据保密、简化数据查询操作、保证数据的逻辑独立性、着重于特定数据、自定义数据、导出和导入数据、跨服务器组合分区数据。缺点:当更新视图中的数据时,实际上是对基表的数据进行更新。当从视图中插入或者删除时,情况也是这样。然而,某些视图是不能更新数据的。,2020/6/16,7/29,视图的创建,创建视图前应考虑如下准则:只能在当前数据库中创建视图;视图名称必须遵循标识符的规则;可以在其他视图的基础上创建视图;不能将规则或DEFAULT定义与视图相关联;不能将AFTER触发器与视图相关联,只有INST

4、EADOF触发器可以与之相关联。,2020/6/16,8/29,视图的创建,创建视图前应考虑如下准则:定义视图的查询不能包含COMPUTE子句、COMPUTEBY子句或INTO关键字。定义视图的查询不能包含ORDERBY子句,除非在SELECT语句的选择列表中还有一个TOP子句。不能为视图定义全文索引。不能创建临时视图,也不能对临时表创建视图。,2020/6/16,9/29,使用Transact-SQL创建视图,CREATEVIEWview_name(column_name,.n)WITHENCRYPTIONASSELECT_statementWITHCHECKOPTION其中组成视图的列名(

5、column_name)要么全部省略要么全部指定,没有第三种选择。如果省略了视图的列名,则隐含该视图由SELECT_statement中结果集的列名组成。WITHENCRYPTION表示加密选项;AS之后的SELECT语句表示视图的内容就是SELECT语句指定的内容;WITHCHECKOPTION选项强制所有通过视图修改的数据满足代码中的SELECT语句中指定的选择条件。,2020/6/16,10/29,使用Transact-SQL创建视图,2020/6/16,11/29,使用Transact-SQL创建视图,2020/6/16,12/29,使用Transact-SQL创建视图,2020/6/

6、16,13/29,使用Transact-SQL创建视图,2020/6/16,14/29,视图的管理维护,查看和修改视图定义使用对象资源管理器查看与修改视图定义进入对象资源管理器展开“服务器”单击加号(+)展开“数据库”展开用户数据库(student)展示“视图”右击欲修改定义的视图名在出现的快捷菜单中选择“修改”就可以在“视图设计器”中按照创建视图的方法对原有的视图进行各种修改,例如在表区重新选择或取消数据表框中相应的列,在列区重新选择或取消“输出”列,在SQLScript区对视图定义的SQL语句进行修改,,2020/6/16,15/29,视图的管理维护,查看和修改视图定义使用Transact

7、-SQL语句修改视图定义ALTERVIEWview_name(column_name,.n)WITHENCRYPTIONASSELECT_statementWITHCHECKOPTION,2020/6/16,16/29,视图的管理维护,2020/6/16,17/29,视图的管理维护,查看和修改视图定义通过系统存储过程查看视图的定义信息sp_dependsobjname=objectobjname=object为被检查的数据库对象。sp_helpobjname=nameobjname=name是sysobjects中的任意对象的名称,或者是在systypes表中任何用户定义数据类型的名称。sp_

8、helptextobjname=nameobjname=name为对象的名称,将显示对象(视图或触发器或存储过程)的定义信息。,2020/6/16,18/29,视图的管理维护,视图的更名与删除使用sp_rename对视图进行重命名sp_renameobjname=object_name,newname=new_name,objtype=object_typeobjname=object_name,表示现有用户对象或数据类型的名称;newname=new_name,表示对指定对象进行重命名的新名称;objtype=object_type,表示将要被重命名的对象的类型,默认类型为NULL。,202

9、0/6/16,19/29,视图的管理维护,视图的更名与删除通过对象资源管理器删除视图使用Transact-SQL语句删除视图DROPVIEWview_name,2020/6/16,20/29,通过视图查询与更新数据,通过视图查询数据进入对象资源管理器展开“服务器”单击加号(+)展开“数据库”展开用户数据库(student)展示“视图”右击欲查询数据的视图名在出现的快捷菜单中选择“打开视图”就可以在“查询设计器”中浏览到从数据表中所抽取的视图数据。视图定义后,对视图的查询操作如同对基本表的查询操作一样。,2020/6/16,21/29,通过视图查询与更新数据,2020/6/16,22/29,通过

10、视图查询与更新数据,2020/6/16,23/29,通过视图查询与更新数据,通过视图修改数据更新视图是指通过视图插入(INSERT)、删除(DELETE)和修改(UPDATE)数据。像查询视图那样,对视图的更新操作也是通过视图转换为对表的更新操作。如果要防止用户通过视图对数据库进行增删改,有意无意地对不属于视图范围内的基本表数据进行操作,则在视图定义时加上WITHCHECKOPTION子句。这样,对视图增删改时,系统会检查视图定义中子查询的WHERE子句中的条件,若操作的记录不满足条件,则拒绝执行相应操作。,2020/6/16,24/29,通过视图查询与更新数据,通过视图修改数据可以通过视图修

11、改基表的数据,修改方式与通过UPDATE、INSERT和DELETE语句修改基表中数据的方式一样。但是,对视图进行UPDATE、INSERT和DELETE操作时,会有以下一些限制。任何修改(包括UPDATE、INSERT和DELETE语句)都只能引用一个基表的列。视图中被修改的列必须直接引用表列中的基础数据。正在修改的列不受GROUPBY、HAVING或DISTINCT子句的影响。,2020/6/16,25/29,通过视图查询与更新数据,2020/6/16,26/29,通过视图查询与更新数据,2020/6/16,27/29,通过视图查询与更新数据,2020/6/16,28/29,实验目的理解视图的概念。学会利用对象资源管理器和SQL编辑器创建视图的方法。学会查询、更新、删除视图的方法。实验准备在服务器上创建用户数据库student;在数据库student中创建所需要的数据表;通过对象资源管理器或SQL编辑器向各个数据表输入实验数据。实验内容和步骤具体实验内容和步骤参见教材的介绍。,本章实验,2020/6/16,29/29,本章所讨论的视图基本概念、类型和特点,是学习视图技术的基础;本章所实践的视图创建、修改和删除操作,是学习视图技术的目标;本章所介绍的加密、绑定、强制检查数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论