精通oracle核心技术和项目实战之视图

精通oracle核心技术和项目实战之视图

ID:20894325

大小:347.58 KB

页数:41页

时间:2018-10-17

精通oracle核心技术和项目实战之视图_第1页
精通oracle核心技术和项目实战之视图_第2页
精通oracle核心技术和项目实战之视图_第3页
精通oracle核心技术和项目实战之视图_第4页
精通oracle核心技术和项目实战之视图_第5页
资源描述:

《精通oracle核心技术和项目实战之视图》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章视图视图是Oracle提供的一种查询机制。该机制不仅可以简化各种查询,还可以保护数据库信息的安全。视图在数据库中可以理解为一张虚拟的表,使用视图可以补充表结构在某些需求方面的不足,可以让开发人员更方便地查询复杂数据。本章将主要介绍视图的概念、作用以及如何创建、查询、管理视图。11.1Oracle视图初学者听到视图会比较陌生,实际上视图的创建和操作比较简单。在直观印象中它和表相似,但是它不具备表的某些功能。视图的使用和管理在许多方面和表相似,通俗来说我们一般把视图看作没有数据的表,本节就将介绍视图的概念和作用。11.1.1视图的概念视图是由select查询语句定义的、基

2、于一个或多个表(或视图)的一个逻辑表。视图本身不包含任何数据,也就是说视图只是一个查询语句的结果。它的数据最终是表中获取的,这些表我们可以称为基表,所以不需要在表空间中为视图分配存储空间。理解如图所示。11.1.2视图的作用有读者可能会产生疑问,既然视图和表相似,为什么还要学习它,其实除了select语句之外,视图在insert、update和delete语句方面受限制,视图的作用如下:(1)使数据简化。(2)使数据更加独立。(3)增加安全性。11.1.3视图的分类在Oracle数据库中,视图可以被分成这样几种类型,关系视图、内嵌视图、对象视图和物理化视图。在本书中,将学习关

3、系视图和内嵌视图。关系视图就是一个续表,它可以定义对数据的查询,允许其他查询重复使用该对象。关系视图属于简单视图,在数据库字典中可以查看它的信息。内嵌视图则是子查询的一种,它适合不重用的对数据的查询,其他查询无法使用该视图,这种视图不需要create命令完成,所以在数据库字典中无法查看该视图的信息。11.2关系视图创建和使用可以直接使用SQL语句创建一个视图,也可以使用工具SQLDeveloper、OEM来创建视图。在创建视图时,只是将视图的定义信息保存到数据字典中,在视图中并不保存任何数据,通过视图而操作的数据仍然保存在表中,所以不需要在表空间中为视图分配存储空间。11.2

4、.1使用语句创建视图视图的创建比较简单,有一定的语法结构,其语法结构如图所示。11.2.1使用语句创建视图在创建视图之前,为了确保视图的正确性,应先测试select子查询的语句,所以创建视图的正确步骤是:(1)编写select子查询语句。(2)测试select子查询语句。(3)检查查询结果的正确性。(4)使用该select子查询语句创建视图。创建视图时,可以创建单表视图,也可以创建多表视图以及视图的视图、无源表视图。下面将具体讲解。11.2.1使用语句创建视图1.创建单表视图单表视图表示创建视图时,是根据一个表来创建。在创建视图之前先列出表的信息,方便和视图作对比。【示例11

5、-1】创建视图,这个视图的作用是显示city是Lansing的顾客customer_id、cust_first_name、cust_last_name、city、phone_number。【示例11-2】现在我们来查询这个视图,查询视图的语法和查询表一样。11.2.1使用语句创建视图2.创建多表视图在通常情况下,视图不会只根据一个表来创建,它会有两个或多个源表。下面我们来介绍基于两个表的视图,创建多表视图的语法如图所示。11.2.1使用语句创建视图【示例11-3】创建一个基于两个表的视图,把orders表和customersnew表关联起来查询,查询其中order_id,、o

6、rder_date、customer_id,、cust_first_name等信息。【示例11-4】现在我们来查询这个视图,查询视图的语法和查询表一样。11.2.1使用语句创建视图3.创建视图的视图视图不仅可以建立在单表或多表上,也可以用其他的视图作为源表创建新的视图。现在我们简单演示一下在视图的基础上创建一个视图,语法如图所示。11.2.1使用语句创建视图【示例11-5】创建一个前面示例11-1的一个子视图,其实就是去掉cust_last_name这列。【示例11-6】现在我们来查询这个视图,查询视图的语法和查询表一样。11.2.1使用语句创建视图4.创建无源表视图在Ora

7、cle数据库中,我们可以在没有源表时,创建视图。但是这种情况下,视图虽然是创建了,但是还不能使用。等到它的源表创建完成之后,就可以正常使用了。这种创建视图的方式成为强制创建视图。可以使用force选项来强制创建视图。其语法结构如图所示。11.2.1使用语句创建视图【示例11-7】强制创建视图vw_table,假设该视图的源表名称为tableview。【示例11-8】现在我们来查询这个视图,查询视图的语法和查询表一样。11.2.1使用语句创建视图5.设置视图只读(readonly)通常简单的视图是允许进行

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。