Oracle Database 10g基础教程(第二版) 教学课件 ppt 作者 978-7-302-15311-5 ch12

上传人:E**** 文档编号:89348792 上传时间:2019-05-23 格式:PPT 页数:23 大小:80.50KB
返回 下载 相关 举报
Oracle Database 10g基础教程(第二版) 教学课件 ppt 作者 978-7-302-15311-5 ch12_第1页
第1页 / 共23页
Oracle Database 10g基础教程(第二版) 教学课件 ppt 作者 978-7-302-15311-5 ch12_第2页
第2页 / 共23页
Oracle Database 10g基础教程(第二版) 教学课件 ppt 作者 978-7-302-15311-5 ch12_第3页
第3页 / 共23页
Oracle Database 10g基础教程(第二版) 教学课件 ppt 作者 978-7-302-15311-5 ch12_第4页
第4页 / 共23页
Oracle Database 10g基础教程(第二版) 教学课件 ppt 作者 978-7-302-15311-5 ch12_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《Oracle Database 10g基础教程(第二版) 教学课件 ppt 作者 978-7-302-15311-5 ch12》由会员分享,可在线阅读,更多相关《Oracle Database 10g基础教程(第二版) 教学课件 ppt 作者 978-7-302-15311-5 ch12(23页珍藏版)》请在金锄头文库上搜索。

1、第1页,第12章 视图,本章概述 本章要点 教学过程,第2页,本章概述,视图是一个逻辑表,是查看表的一种方式。视图是对根据预定义的选择标准、由一个或者多个行的集合建立起来的动态表的静态定义。视图可以用来定义来自一个或者多个表的行和列的多种连接。通过视图可以查看表中的数据。如果视图很大,则能看到表中的许多数据;如果视图很小,那么就只能看到表中的有限信息。 本章将介绍与视图管理有关的各种技术。,第3页,本章要点,了解视图的基本概念和类型 理解关系视图的特点 掌握如何管理关系视图 理解内嵌视图的应用特点 认识对象视图的作用 掌握物化视图的特点,第4页,教学过程,12.1 概述 12.2 关系视图 1

2、2.3 内嵌视图 12.4 对象视图 12.5 物化视图,第5页,教学过程,12.1 概述 12.2 关系视图 12.3 内嵌视图 12.4 对象视图 12.5 物化视图,第6页,12.1 概述,使用视图有许多优点,例如: 集中用户使用的数据 掩码数据库的复杂性 简化权限管理 为向其它应用程序输出而重新组织数据 在Oracle系统中,有4种类型的视图,即关系视图、内嵌视图、对象视图和物化视图。每一种类型的视图都有自己的特点。,第7页,教学过程,12.1 概述 12.2 关系视图 12.3 内嵌视图 12.4 对象视图 12.5 物化视图,第8页,12.2 关系视图,关系视图实际上是经过存储的查

3、询,可以将其输出看作是一个表。它就是基于关系数据的存储对象。可以将视图看作是虚拟表,可以像查询表一样查询视图。 本节将详细介绍与关系视图相关的内容。,第9页,创建视图,可以使用create view语句创建视图。当创建视图时,视图的名称必须符合命名规则。指定视图所有者的姓名是可选项。因为视图的外表和表的外表是一样的,因此,为了区别表和视图,应该使用一种命名机制,使人容易分辨出视图和表。 使用create view语句创建视图的部分语法格式如下: create or replace force | noforce view user. view_name column1, column2 as

4、query with check option constraint constraint_name with read only,第10页,检索视图的定义,所有的视图定义都存储在数据库的数据字典中。用户可以查询数据字典中的适当视图来检索视图的定义,也就是构成视图的查询。 user_views数据字典视图包含了视图的定义信息。,第11页,改变视图的定义,是否可以相同的名称自由地重建新的视图呢?完全可以。 重新创建视图的方法就是使用create or replace命令。 如图12-6所示的操作过程使用了create or replace命令重建computeSalary视图,并且使用desc命

5、令查看重建后的视图结构。,第12页,删除视图,如果不再需要视图了,那么可以删除视图。 删除视图可以使用drop view名称,如图12-7所示的是删除computeSalary视图的操作过程。 删除视图之后,如果再次使用它时,系统就会报出对象不存在的错误。视图被删除之后,与该视图有关的权限也随之删除。即使新建创建了该名称的视图,视图的权限也需要重新赋予。,第13页,视图中的约束,视图不仅可以限制能够看到的列,而且还能够限制所返回的行。如果需要创建只能够显示薪水超过1500元的员工的视图,可以使用如图12-8所示的代码。从执行代码后返回的结果可以看到,有9个员工的薪水超过了1500元。 如果需要

6、创建一个可以查看公司中每一种工作类型和相应员工数量的视图,那么可以执行如图12-9所示的操作。 视图可以隐藏查询的复杂性。从图12-9可以看出,当用户使用job_total查询每一种工作类型的员工数量时,用户没有必要知道这些数据是如何一步步地计算出来,只需查询job_total视图即可。,第14页,联接视图,用户通过视图查看数据的目的,是希望通过视图查看所需要的数据。这些数据可能存在于一个基表中,也可能存在于多个基表中。前面创建的视图都是来自于一个基表。实际上,视图还可以来自多个基表。也就是说,通过连接多个基表也可以创建视图。通过创建基于多个基表的视图,可以查看到比单个基表更多的数据。 emp

7、表包含了雇员姓名、工作、薪水等信息,dept表包含了部门名称、部门所在位置等信息。如果用户希望通过一个视图,既可以查看到雇员的基本信息,也可以查看到部分的基本信息,那么可以使用如图12-10所示的联接视图。,第15页,验证视图,当创建视图时,Oracle将会验证视图的有效性。以后,改变基本表的特性有可能导致视图无效。例如,以下操作将导致视图无效: 改变列的名称,或从基本表或视图中完全删除列。 删除构建视图的基本表或视图。 改变基本表或视图,使其无效,这样将导致视图变得无效。 为了解决上述问题,可以使用alter view view_name compile命令重新编译视图,或者使用create

8、 or replace view命令重新创建视图,或者修正视图所基于的基本表或视图。,第16页,通过视图更新和删除数据,对于简单的视图,可以通过视图修改表中的数据。这些修改操作包括插入数据、更新数据、删除数据等。但是,对于一些比较复杂的视图来说,通过视图修改数据必须满足一定的规则。下面主要介绍这些修改数据的规则。 如果视图包含了下面的内容,那么不能通过视图删除基本表中的数据: 分组函数,例如sum、avg、min、max等; group by子句; distinct关键字; 包含了表达式; rownum伪列。 在插入数据时,除了需要满足上面提到的条件之外,还需要保证那些没有包含在视图定义中的基

9、表的列必须允许空值。 如果在视图定义中包含了with check option子句,那么对视图的修改除了前面的那些原则之外,还必须满足指定的约束条件。,第17页,教学过程,12.1 概述 12.2 关系视图 12.3 内嵌视图 12.4 对象视图 12.5 物化视图,第18页,12.3 内嵌视图,从Oracle 7.1以来,Oracle系统开始支持内嵌视图的特性。内嵌视图不是模式对象。从根本上来讲,内嵌视图就是嵌入到父查询中的查询,能够在任何可以使用表名称的地方使用。内嵌视图可以出现在select语句的from子句中,也可以出现在insert into、update、delete from等语

10、句中。内嵌视图是临时的,它只存在于父查询的运行期间,但是它可以让开发人员有能力在整个查询的任何部分中使用视图结果。,第19页,教学过程,12.1 概述 12.2 关系视图 12.3 内嵌视图 12.4 对象视图 12.5 物化视图,第20页,12.4 对象视图,Oracle的对象 关系技术是构建在关系结构上的对象层。在对象层以下数据需要存储在关系表中,但是Oracle允许用户将这些数据封装在对象类型中。所以,为了获取特定雇员的信息,用户可以不再考虑从emp表的某些列中进行选择,而是可以考虑选择由存储在数据库中的对象模型化的单独客户。 如果已经创建了应用,而且只能够使用用户模式中的关系表,如果希

11、望在不重新设计用户模式并且重新构建用户应用的前提下,利用Oracle中的对象 关系特性,那么应该怎么办呢?这里可以提供一个解决方案:对象视图。 用户可以基于用户的对象类型创建对象视图,然后可以像平常一样通过这些视图查询并且修改数据。 下面,通过一个示例介绍如何使用对象视图。,第21页,教学过程,12.1 概述 12.2 关系视图 12.3 内嵌视图 12.4 对象视图 12.5 物化视图,第22页,12.5 物化视图,最后介绍的一种视图是物化视图。在Oracle 8i以前的版本中,这些对象被称为快照。从Oracle 8i以后,这些对象被重命名为物化视图,并且经过了加强,可以支持查询重写、刷新或提交。这些视图可以用于从数据仓库到分布式移动计算的各种任务和各种环境。 从本质上来看,物化视图就是在数据库中存储的查询结果。与在运行时确定结果的关系视图不同,物化视图的结果会预先计算并且存储。由于要存储结果,所以物化视图要占用空间,但是不会延缓用户对视图的使用。当正在查询大规模数据时,物化视图能够极大地增强用户应用的性能。 下面通过一个示例介绍物化视图的用法。,第23页,教学过程,12.1 概述 12.2 关系视图 12.3 内嵌视图 12.4 对象视图 12.5 物化视图,

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

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

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