网站大量收购独家精品文档,联系QQ:2885784924

[经济学]第11章 视图.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[经济学]第11章 视图

第11章 视图 数据库的真实数据都是存在于数据表中,数据表总是反映现实世界的实体关系。但是,为现实世界的所有关系创建数据表是不现实的。数据库中的视图解决了这一问题。视图以物理数据为基础,利用更灵活的策略来实现关系。本章的主要内容包括: 视图简介 关系视图的创建和使用 内嵌视图的使用 对象视图的使用 物化视图的使用 通过本章的学习,读者可以了解视图的本质,掌握如何创建和使用各种视图,并对各种视图之间的区别有清晰的了解。 11.1 视图简介 视图是各种数据库的通用概念。用户可以像操作普通表一样操作视图。视图往往不占用数据库额外的存储空间,而只存储定义。 11.1.1 什么是视图 视图是由已存在的数据,通过一定的运算规则,来获得新的数据集合。这使得用户可以更加灵活的自定义数据集合。视图同时为数据安全性提供了一种控制策略。 1.视图的产生 2.视图的本质 11.1.1 什么是视图 11.1.1 什么是视图 11.1.2 为什么使用视图 视图是绝大部分数据库开发中都会使用的概念。使用视图大致有两个方面的原因。 1.封装查询 2. 灵活的控制安全性 11.2 创建和使用关系视图 Oracle中的视图,按照创建和使用方式的不同,可以分为四类:关系视图、内嵌视图、对象视图和物化视图。关系视图是四种视图中最简单,同时也是最常用的视图。正如11.1节所述,关系视图可以看作对简单或复杂查询的定义。它的输出可以看作一个虚拟的表。 11.2.1 创建关系视图 Oracle视图是作为数据库对象存在的,因此,创建之后也可以通过工具或数据字典来查看视图的相关信息。本小节将讲述关系视图的创建以及如何查看视图的属性信息。 1.创建关系视图 2.查看视图定义 11.2.1 创建关系视图 11.2.2 使用关系视图 视图一旦创建,用户可以像查询数据表一样查询视图中的数据。但是,对于插入和更新操作来说,情况则有些不同。 1. 查询视图 2. 更新视图数据 3.向视图插入数据 4.总结利用关系视图修改数据 11.2.3 修改/删除视图 在创建了关系视图vw_employees之后,可以对其进行修改和删除操作。 1.修改视图 2.删除视图 11.2.4 只读视图 在11.2.3节中讲述了修改视图数据。有时,并不希望用户通过视图修改数据,那么可以创建只读视图。创建只读视图应该使用read only选项,其基本语法形式如下所示。 create or replace view 视图名称 as 查询语句 with read only 其中,with read only选项表示该视图将被创建为只读视图。 11.2.5 联接视图 对于视图定义来说,其数据可以来源于一个数据表,也可以来源多个数据表或者其他视图的联接。事实上,联接视图在实际开发中更加常用。本小节将讲述联接视图的使用。 【示例11-9】可以利用create or replace view来定义一个联接视图,只是视图定义更加复杂而已。在表employees与表salary中分别定义了员工与工资信息,那么我们可以利用create or replace view来创建图11-1所演示的视图。 create or replace view vw_employee_salary as select e.employee_id, e.employee_name, s.month, s.salary from employees e, salary s where e.employee_id = s.employee_id; 11.2.6 强制创建视图 归根结底,视图数据的来源是基础数据表。有时,视图的基础表尚未创建,但是仍然希望创建基于不存在的数据表的视图。 11.2.7 创建视图约束 针对视图,Oracle提供了check option选项,以保证视图数据的完整性。本小节将从以下几个方面分析with check option选项。 1.with check option仅在视图定义中含有where子句的情况下起作用 2. with check option选项仅对insert/update操作有效 3. with check option选项实际创建了一个约束 4.总结with check option选项 11.3 使用内嵌视图 关系视图是数据库对象。创建关系视图实际是对查询定义可重用的需求。但有时,查询定义并不会被重用。此时,创建关系视便不再适宜——过多的关系视图势必增加数据库的维护成本。Oracle提供了内嵌视图来解决这一问题。 11.3.1 内嵌视图简介 如同关系视图,内嵌视图也是查询定义。内嵌的意义在于,视图定义嵌入在复杂查询语句中,其角色与普通数据表或关系视图相同。内嵌视图不必

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档