您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle-10g基础教程-视图
第13章视图教学目标教学难点和重点教学过程了解视图的基本概念和类型理解关系视图的特点掌握如何管理关系视图理解内嵌视图的应用特点认识对象视图的作用掌握物化视图的特点教学目标视图的基本概念和类型关系视图的特点如何管理关系视图内嵌视图的应用特点对象视图的作用物化视图的特点教学难点和重点13.1概述13.2关系视图13.3内嵌视图13.4对象视图13.5物化试图教学过程使用视图有许多优点,例如集中用户使用的数据、掩码数据的复杂性、简化权限管理以及为向其他应用程序输出而重新组织数据等等。在Oracle系统中,有4种类型的视图,即关系视图、内嵌视图、对象视图和物化视图。每一种类型的视图都有自己的特点。13.1概述关系视图基本上就是经过存储的查询,可以将其输出看作是一个表。它就是基于关系数据的存储对象。可以将视图看作是虚拟表,可以像查询表一样地查询视图。本节将详细讨论关系视图的内容。13.2关系视图使用createview语句创建视图的部分语法形式如下:create[orreplace][force|noforce]view[user.]view_name[column1[,column2]…]asquery[withcheckoption[constraintconstraint_name][withreadonly]创建视图所有的视图定义都存储在数据库的数据字典中。我们可以查询数据字典中的适当视图来检索视图的定义,也就是构成视图的查询。名称是user_views的数据字典视图包含了视图定义的信息。检索视图的定义在前面创建的computeSalary视图中,我们可以看到雇员代号、雇员名称、雇员薪水以及增加10%的薪水。现在,我们希望从视图中了解到雇员的工作。这时,可以在该视图中增加一个job列。我们使用如图13-5所示的代码来修改视图。重新创建的方法就是使用createorreplace命令改变视图的定义视图如果不在需要了,那么可以删除视图。删除视图可以使用dropview名称。图13-7示意了删除computeSalary视图的操作过程。删除视图视图不仅可以限制能够看到的列,而且也能够限制所返回的行。如果我们希望创建之能够显示薪水超过1500元的员工的视图,那么可以使用如图13-8所示的代码。可以看到,只有6个员工的薪水超过了1500元。视图中的约束我们通过视图查看数据的目的,是希望通过视图可以查看到我们希望看到的数据。这些数据可能存在于一个基表中,也可能存在于多个基表中。前面看到的视图都是来自于一个基表。实际上,视图还可以来自多个基表。也就是说,多个基表通过连接,也可以创建视图。通过基于多个基表创建的视图,可以查看到比单个基表更多的数据。联接视图当我们创建视图时,Oracle将会验证视图的有效性。以后,基本表的特性改变有可能导致视图变得无效。例如:改变列的名称,或从基本表或视图中完全删除列。删除构建视图的基本表或视图。改变基本表或视图,使其无效,这样将导致视图变得无效。验证视图对于简单的视图,可以通过视图修改表中的数据。这些修改操作包括插入数据、更新数据、删除数据等。但是,对于一些比较复杂的视图来说,通过视图修改数据必须满足一定的规则。通过视图更新和删除数据从Oracle7.1以来,Oracle系统开始支持内嵌视图的特性。内嵌视图不是模式对象。从根本上来讲,内嵌视图就是嵌入到父查询中的查询,能够在任何可以使用表名称的地方使用。内嵌视图可以出现在select语句的from子句中,也可以出现在insertinto、update、deletefrom等语句中。内嵌视图是临时的,它只存在于父查询的运行期间,但是它可以让开发人员有能力在整个查询的任何部分中使用视图结果。下面,通过示例讲述如何使用内嵌视图。13.3内嵌视图Oracle是面向对象数据库。用户不仅可以在关系表中存储数据,而且也可以在对象中存储数据。自从1997发布Oracle8以来,Oracle为它的关系型数据库引入了越来越多的对象类型的概念。在Oracle系统中,用户可以创建对象模型、创建这种类型的对象,并且在数据库表中存储对象实例。Oracle的对象—关系技术是构建在关系结构上的对象层。在对象层以下,数据要存储在关系表中,但是Oracle允许我们将这些数据封装在对象类型中。13.4对象视图最后一种讨论的视图是物化视图。在Oracle8i以前的版本中,这些对象被称为快照。从Oracle8i以后,这些对象被重命名为物化视图,并且经过了加强,可以支持查询重写、刷新或提交。这些视图可以用于从数据仓库到分布式移动计算的各种任务和各种环境。从本质上来看,物化视图就是在数据库中存储的查询结果。与在运行时确定结果的关系视图不同,物化视图的结果会预先计算并且存储。由于要存储结果,所以物化视图要占用空间,但是不会延缓用户对他们的使用。当正在查询大规模数据时,他们能够极大地增强用户应用的性能。13.5物化试图
本文标题:Oracle-10g基础教程-视图
链接地址:https://www.777doc.com/doc-7958138 .html