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

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

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章 视图 本章概述 视图是一个逻辑表,是查看表的一种方式。视图是对根据预定义的选择标准、由一个或者多个行的集合建立起来的动态表的静态定义。视图可以用来定义来自一个或者多个表的行和列的多种连接。通过视图可以查看表中的数据。如果视图很大,则能看到表中的许多数据;如果视图很小,那么就只能看到表中的有限信息。 本章将介绍与视图管理有关的各种技术。 本章要点 了解视图的基本概念和类型 理解关系视图的特点 掌握如何管理关系视图 理解内嵌视图的应用特点 认识对象视图的作用 掌握物化视图的特点 教学过程 12.1 概述 12.2 关系视图 12.3 内嵌视图 12.4 对象视图 12.5 物化视图 12.1 概述 使用视图有许多优点,例如: 集中用户使用的数据 掩码数据库的复杂性 简化权限管理 为向其它应用程序输出而重新组织数据 在Oracle系统中,有4种类型的视图,即关系视图、内嵌视图、对象视图和物化视图。每一种类型的视图都有自己的特点。 12.2 关系视图 关系视图实际上是经过存储的查询,可以将其输出看作是一个表。它就是基于关系数据的存储对象。可以将视图看作是虚拟表,可以像查询表一样查询视图。 本节将详细介绍与关系视图相关的内容。 创建视图 可以使用create view语句创建视图。当创建视图时,视图的名称必须符合命名规则。指定视图所有者的姓名是可选项。因为视图的外表和表的外表是一样的,因此,为了区别表和视图,应该使用一种命名机制,使人容易分辨出视图和表。 使用create view语句创建视图的部分语法格式如下: create [or replace] [force | noforce] view [user.] view_name [column1[, column2]…] as query [with check option [constraint constraint_name] [with read only] 检索视图的定义 所有的视图定义都存储在数据库的数据字典中。用户可以查询数据字典中的适当视图来检索视图的定义,也就是构成视图的查询。 user_views数据字典视图包含了视图的定义信息。 改变视图的定义 是否可以相同的名称自由地重建新的视图呢?完全可以。 重新创建视图的方法就是使用create or replace命令。 如图12-6所示的操作过程使用了create or replace命令重建computeSalary视图,并且使用desc命令查看重建后的视图结构。 删除视图 如果不再需要视图了,那么可以删除视图。 删除视图可以使用drop view名称,如图12-7所示的是删除computeSalary视图的操作过程。 删除视图之后,如果再次使用它时,系统就会报出对象不存在的错误。视图被删除之后,与该视图有关的权限也随之删除。即使新建创建了该名称的视图,视图的权限也需要重新赋予。 视图中的约束 视图不仅可以限制能够看到的列,而且还能够限制所返回的行。如果需要创建只能够显示薪水超过1500元的员工的视图,可以使用如图12-8所示的代码。从执行代码后返回的结果可以看到,有9个员工的薪水超过了1500元。 如果需要创建一个可以查看公司中每一种工作类型和相应员工数量的视图,那么可以执行如图12-9所示的操作。 视图可以隐藏查询的复杂性。从图12-9可以看出,当用户使用job_total查询每一种工作类型的员工数量时,用户没有必要知道这些数据是如何一步步地计算出来,只需查询job_total视图即可。 联接视图 用户通过视图查看数据的目的,是希望通过视图查看所需要的数据。这些数据可能存在于一个基表中,也可能存在于多个基表中。前面创建的视图都是来自于一个基表。实际上,视图还可以来自多个基表。也就是说,通过连接多个基表也可以创建视图。通过创建基于多个基表的视图,可以查看到比单个基表更多的数据。 emp表包含了雇员姓名、工作、薪水等信息,dept表包含了部门名称、部门所在位置等信息。如果用户希望通过一个视图,既可以查看到雇员的基本信息,也可以查看到部分的基本信息,那么可以使用如图12-10所示的联接视图。 验证视图 当创建视图时,Oracle将会验证视图的有效性。以后,改变基本表的特性有可能导致视图无效。例如,以下操作将导致视图无效: 改变列的名称,或从基本表或视图中完全删除列。 删除构建视图的基本表或视图。 改变基本表或视图,使其无效,这样将导致视图变得无效。 为了解决上述问题,可以使用alter view view_name compile命令重新编译视图,或者使用create or replace view命令重新创建视图,或者修正视图所基于的基本表或视图。 通过视

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档