《视图及其应用》PPT课件.ppt

上传人:za****8 文档编号:12724465 上传时间:2020-05-19 格式:PPT 页数:30 大小:254.06KB
返回 下载 相关 举报
《视图及其应用》PPT课件.ppt_第1页
第1页 / 共30页
《视图及其应用》PPT课件.ppt_第2页
第2页 / 共30页
《视图及其应用》PPT课件.ppt_第3页
第3页 / 共30页
点击查看更多>>
资源描述
第八章视图及其应用,8.1视图综述,8.2视图的操作,8.3视图定义信息查询,目录,8.4案例中的视图运用,第八章,视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,,8.1视图综述,第八章,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。如果有几台不同的服务器分别存储组织中不同地区的数据,而您需要将这些服务器上相似结构的数据组合起来,这种方式就很有用。通过视图进行查询没有任何限制,通过它们进行数据修改时的限制也很少。,8.1.1视图的基本概念,数据视图是另一种在一个或多个数据表上观察数据的途径,可以把数据视图看作是一个能把焦点定在用户感兴趣的数据上的监视器,用户看到的是实时数据。视图可以被看成是虚拟表或存储查询。可通过视图访问的数据不作为独特的对象存储在数据库内。数据库内存储的是SELECT语句,SELECT语句的结果集构成视图所返回的虚拟表。,第八章,用户可以用引用表时所使用的方法,在T-SQL语句中通过引用视图名称来使用虚拟表。在授权许可的情况下,用户还可以通过视图来插入、更改和删除数据在视图中被查询的表被称为“基表”视图常见的示例有:1、基表的行和列的子集2、两个或多个基表的连接3、两个或多个基表的联合4、基表和另一个视图或视图的子集的结合5、基表的统计概要,首先通过一个简单的实例来看看什么是视图。仍然使用前面章节所建立的数据库。假设教务科需要提供给各位老师所选自己课的学生名单。教师信息表和学生信息表已经存在如若在创建一张表,会造成信息重复使用使数据库冗余。这时就可以提取教师信息表和学生信息表中的相关列创建视图解决该问题。UsestudentGOCREATEVIEWVIEW1,第八章,ASSELECTdbo.教师.教师编号,dbo.学生.姓名,dbo.教师.专业,dbo.学生.专业代码FROMdbo.教师CROSSJOINdbo.学生这样,老师需要浏览所有选自己课的同学各年的学习成绩时,只需要执行查询语句:SELECT*FROMVIEW1,合理使用视图能够带来以下好处:1.视图能简化用户操作2.视图使用户以多角度看待同一数据3.视图对重构数据库提供了一定程度的逻辑独立性4.视图能够对机密数据提供安全保护,8.1.2视图的作用,第八章,1.使用企业管理器创建视图首先运行“企业管理器”,展开数据库student,右击“视图”节点,然后从快捷菜单中选择“新建视图”命令。然后象设计SELECT查询一样设计视图。把需要建立视图用的基表拖入工作区,选择建立视图需要的列,单击标志运行,就可以看到所创建的视图。,8.2视图的操作,第八章,8.2.1创建视图,2.使用创建视图向导创建视图用向导创建的步骤如下:展开服务器组,再展开要在其中创建视图的服务器在“工具”菜单上单击“向导”命令。展开“数据库”文件夹。双击创建视图向导。完成向导中的步骤。,可在SQLServer2000中使用“查询分析器”用Transact-SQL语句创建视图。创建视图的基本语法如下:CREATEVIEW(,)ASWITHCHECKOPTION其中参数含义:(1)子查询:可以是任意复杂的SELECT语句,但通常不许含有ORDERBY字句和DISTINCT短语。,3.使用Transact-SQL语句创建视图,第八章,(2)列名:是视图中的列名。可以在SELECT语句中指派列名。如果未指定column,则视图列将获得与SELECT语句中的列相同的名称。(3)WITHCHECKOPTION:表示对视图进行UPDATE,INSERT,DELETE操作时要保证更新、插入、删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)。,(4)如果CREATEVIEW语句仅指定了视图名,省略了组成视图的各个属性列名,则隐含该视图由子查询中的SELECT子句目标列中的诸字段组成。但在下列三种情况下必须明确指定组成视图的所有列名:其中某个目标列不是单纯的属性名,而是函数或列表达式。多表连接时选出了几个同名列作为视图的字段需要在视图中为某个列启用新的名字,第八章,概括起来视图主要有以下类型,8.2.2重命名视图,第八章,重命名视图即更改视图名称或修改其定义。可以在不除去和重新创建视图的条件下,从而丢失与之相关联的权限。值得注意的是重命名视图时,sysobjects表中有关该视图的信息将得到更新。重命名存储过程和视图后,请清空过程高速缓存以确保所有相关的存储过程和视图都重新编译。重命名的方法有两种,其一在企业管理器中更改,其二用Transact-SQL语句更改。,在重命名视图时,请遵循以下原则:要重命名的视图必须位于当前数据库中。名称必须遵守标识符规则。能重命名自己拥有的视图。据库所有者可以更改任何用户视图的名称。为了对重命名视图的操作有个更好的理解,我们将通过下面的例子给大家一个直观的印象。,1.使用企业管理器重命名,展开服务器组,然后展开服务器。展开“数据库”文件夹,展开该视图所属的数据库,然后单击“视图”。在详细信息窗格中,右击视图,然后单击“重命名”命令。如图8.5。输入视图的新名称。确认新名称。,第八章,2.使用Transact-SQL语句重命名sp_renameobject_name,new_name,objtype=object_type参数含义:object_name:视图当前名称。new_name:是指定对象的新名称。new_name必须是名称的一部分,并且要遵循标识符的规则。newname是sysname类型,无默认值。object_type:是要重命名的对象的类型。,8.2.3使用视图,第八章,1.使用视图查询信息视图定义后,用户就可以像对基本表进行查询一样对视图进行查询。即前面章节介绍的表的查询操作一般都可以用于视图。DBMS执行对视图的查询时,首先检查有效性,检查查询涉及的表、视图等是否在数据库中存在,,如果存在,则从数据字典中取出查询涉及的视图的定义,把定义中的子查询和用户对视图的查询结合起来,转换成对基本表的查询,然后再执行这个经过修改的查询。将对视图的查询转换为对基本表的查询的过程为视图的消解(viewresolution)。,1.2.使用视图修改数据更新视图包括插入(INSERT)、删除(DELETE)、修改(UPDATE)三类操作。由于视图不是实际存储的虚表,因此对视图的更新,最终要转换为对基本表的更新。为防止用户通过视图对数据进行修改时,无意或故意操作不属于视图范围内的基本数据时,可在定义视图时加上WITHCHECKOPTION的句子,这样在视图上修改数据时DBMS会进一步检查视图定义中的条件,若不满足条件,则拒绝执行该操作。,第八章,修改数据的准则:SQLServer必须能够明确地解析对视图所引用基表中的特定行所做的修改操作。不能在一个语句中对多个基础表使用数据修改语句。因此,列在UPDATE或INSERT语句中的列必须属于视图定义中的同一个基表。对于基础表中需更新而又不允许空值的所有列,它们的值在INSERT语句或DEFAULT定义中指定。这将确保基础表中所有需要值的列都可以获取值。在基础表的列中修改的数据必须符合对这些列的约束,如为空性、约束、DEFAULT定义等。,视图建立好后,如果导出此视图的基本表被删除了,该视图将失效,但一般不会被自动删除。删除视图的方法有两种,其一在企业管理器中删除,其二用Transact-SQL语句删除。1.使用企业管理器运行“企业管理器”展开“数据库”,展开所选定的数据库,单击“视图”选中所要删除的视图,如图8.10所示。单击右键点击“删除”,打开“除出对象”对话框。,8.2.4删除视图,第八章,2.使用Transact-SQL语句删除视图通常需要显式地使用DROPVIEW语句进行。该语句格式为DROPVIEW;一个视图被删除后,由该视图导出的其他视图也将失效,用户应该使用DROPVIEW语句将他们一一删除。,第八章,【例8.10】删除视图v_stu。DROPVIEWv_stu执行此语句后,v_stu视图的定义将从数据字典中删除。由v_stu视图导出的视图的定义虽然仍在数据字典中,但该视图已无法使用。因此应同时删除,8.3视图定义信息查询,第八章,8.3.1使用企业管理器,现在通过企业管理器查询中建立的视图view1运行“企业管理器”,展开数据库student,双击“视图”图标,可以在“根目录控制台”窗口中看到建立的视图view1,8.3.2通过执行系统存储过程查看视图的定义信息使用系统存储过程查看视图定义信息的命令语法如下:EXECSP_helptextobjname其中,objname为用户需要查看的视图名称。,第八章,8.4案例中的视图应用,以下案例基于数据库student.创建计算机系的学生视图view1。给view1加密取名为view2。向view1中插入一个新的学生记录,其中学号为,姓名为岚明,性别为女删除view1中学号为010101001006的记录,5、修改视图view1中学号为010101001006的记录,将其姓名改为李锋。6、查找view1中所有的女生7、查看view1的视图定义8、重名名view1为v_stu.9、删除视图v_stu。,谢谢各位同学!,返回主页,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!