第9章 视图--《Oracle数据库基础与应用教程》书籍教案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《Oracle数据库基础与应用教程》书籍教案人民邮电出版社出版於岳编写作者联系方式:airfish2000@126.com本书内容:本书全面讲述了Oracle数据库的日常管理工作内容。全共14章,包含Oracle简介和安装、Oracle客户端、管理Oracle环境、Oracle体系结构、管理Oracle存储结构、SQL语言、表、约束、视图、同义词和序列、索引、实现数据库安全、DataPump数据导出和导入、数据库备份和恢复。每章结尾提供适量的选择题、简答题和操作题,通过练习和操作实践,帮助读者巩固所学内容。本书适合Oracle爱好者、Oracle工程师、数据库管理员、培训机构以及大专院校计算机专业教师和学生使用。第9章视图视图简介9.1创建视图9.2在视图中的数据操作9.3修改视图9.4使用OEM管理约束9.5使用OEM管理视图9.6小结9.79.1视图简介9.1.1什么是视图视图也称为虚拟表,是基于一个或多个表/视图的逻辑表,本身不包含数据,只是在数据字典里存储查询语句,它不占用物理空间,通过视图可以对表中的数据进行查询和修改。对视图的操作同表一样,当通过视图修改数据时,实际上是在改变基础表中的数据。由于逻辑上的原因,有些视图可以修改对应的基础表,有些则不能修改,只能进行查询。基础表数据的改变也会自动反映在由基础表产生的视图中。由于视图是由表生成的,所以视图和表存在许多相似之处。视图最多可以定义254个列,可以被查询,而在修改、插入或删除时具有一定的限制,在视图上执行的全部操作真正地影响视图的基础表中的数据,受到基础表的完整性约束和触发器的限制。由于视图的定义是一个引用了其他表或视图的查询,因此视图依赖于其所引用的对象。Oracle数据库会自动地处理视图的依赖性。如当用户删除视图的基础表后再重新创建表,Oracle数据库将检查新的基础表是否符合视图的定义并判断视图的有效性。9.1.2视图作用视图一般具有以下作用。1.隐藏数据的复杂性2.为用户简化SQL语句3.用于保存复杂查询4.提高数据访问安全性5.逻辑数据独立性9.1.3视图类型在Oracle数据库中,可以创建以下类型的视图。1.简单视图2.复杂视图3.连接视图4.只读视图5.CHECK约束视图9.2创建视图CREATEVIEW语句用来创建视图。视图的查询语句可以使用复杂的SELECT语法,如连接查询、分组查询或子查询。在没有WITHCHECKOPTION或WITHREADONLY的情况下,查询语句中不能使用ORDERBY子句。要创建自己的方案视图,必须要拥有CREATEVIEW系统权限。要创建另一个用户的方案视图,必须要拥有CREATEANYVIEW系统权限。在出现以下3种情况时,必须指定视图的列名。通过算术表达式、系统内置函数或常量得到的列。共享同一个表名连接得到的列。希望视图中的列名与表中的列名不同的时候。表9-1列出了CREATEVIEW语句各参数的描述信息。表9-1CREATEVIEW语句参数9.3在视图中的数据操作视图创建成功之后,可以通过视图来查询数据,这和从表中查询数据的操作差不多。在视图上执行INSERT和UPDATE操作会影响视图的基础表,并受基础表的完整性约束和触发器影响。当视图依赖于多个基础表时,不能使用DELETE语句来删除基础表中的数据,只能删除依赖一个基础表的数据。在视图出现以下情况时,不能通过视图修改基础表数据或插入数据。视图中包含GROUP函数、GROUPBY子句、DISTINCT关键字。使用表达式定义的列。ROWNUM伪列。基础表中没有在视图中选择的其他列定义为非空且没有默认值。WITHCHECKOPTION子句。9.4修改视图ALTERVIEW语句用于修改视图。不能使用ALTERVIEW语句更改现有视图的定义,要更改视图的定义,必须使用带有ORREPLACE的CREATEVIEW语句重新创建视图。要修改视图,该视图必须在自己的方案中,或者必须要拥有ALTERANYTABLE系统权限。9.5删除视图DROPVIEW语句用于删除视图。要删除视图,该视图必须是在自己的方案中,或者必须要拥有DROPANYVIEW系统权限。当视图被删除之后,视图的定义也会从数据字典中删除,并且在该视图上授予的权限也会被删除,其他引用该视图的视图和存储过程也将会失效。9.6使用OEM管理视图9.6.1使用OEM创建视图使用OracleEnterpriseManager按以下步骤创建视图。(1)在OracleEnterpriseManager页面中单击【方案】→【数据库对象】→【视图】,如图9-1所示,单击【创建】按钮。图9-1视图(2)在图9-2所示【一般信息】页面中,按以下要求输入内容。图9-2【一般信息】页面(3)在图9-3所示【选项】页面中,可以创建特殊的视图,然后单击【确定】按钮。图9-3【选项】页面9.6.2使用OEM删除视图使用OracleEnterpriseManager按以下步骤删除视图。(1)在图9-4所示页面中,搜索方案SYS中的视图VIEW_1。选择视图VIEW_1,然后单击【删除】按钮。图9-4搜索视图(2)在图9-5所示页面中,单击【是】按钮确认删除视图。图9-5确认删除视图9.7小结视图也称为虚拟表,是基于一个或多个表/视图的逻辑表,本身不包含数据,只是在数据字典里存储查询语句。它不占用物理空间,通过视图可以对表中的数据进行查询和修改。对视图的操作同表一样,当通过视图修改数据时,实际上是在改变基础表中的数据。由于逻辑上的原因,有些视图可以修改对应的基础表,有些则不能修改,只能进行查询。基础表数据的改变也会自动反映在由基础表产生的视图中。CREATEVIEW语句用来创建视图。视图的查询语句可以使用复杂的SELECT语法,如连接查询、分组查询或子查询。在没有WITHCHECKOPTION或WITHREADONLY的情况下,查询语句中不能使用ORDERBY子句。

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功