版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.视图的概述视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据。视图将一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表。视图来源于表,所有对视图数据的修改最终都会被反映到视图的基表中,这些修改必须服从基表的完整性约束,并同样会触发定义在基表上的触发器。(Oracle支持在视图上显式的定义触发器和定义一些逻辑约束)视图的存储与表不同,视图不会要求分配存储空间,视图中也不会包含实际的数据。视图只是定义了一个查询,视图中的数据是从基表中获取,这些数据在视图被引用时动态的生成。由于视图基于数据库中的其他对彖,因此一个视图只需要占用数据字典中保存其定义
2、的空间,而无需额外的存储空间。视图的作用用户可以通过视图以不同形式来显示基表中的数据,视图的强人之处在于它能够根据不同用户的需要来对基表中的数据进行整理。视图常见的用途如下:通过视图可以设定允许用户访问的列和数据行,从而为表提供了额外的安全控制隐藏数据复杂性视图中可以使用连接(join),用多个表中相关的列构成一个新的数据集。此视图就对用户隐藏了数据来源于多个表的事实。简化用户的SQL语句用户使用视图就可从多个表中查询信息,而无需了解这些表是如何连接的。以不同的角度来显示基表中的数据视图的列名可以被任意改变,而不会影响此视图的基表使应用程序不会受基表定义改变的影响在一个视图的定义中查询了一个包
3、含4个数据列的基表中的3列。当基表中添加了新的列后,由于视图的定义并没有被影响,因此使用此视图的应用程序也不会被影响。保存复杂査询一个查询可能会对表数据进行复杂的计算。用户将这个查询保存为视图之后,每次进行类似计算只需查询此视图即可。逻辑数据独立性视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。视图的工作机制视图的定义就是其使用的查询语句,Oracle将这个定义以文本形式存储在数据字典中。当用户在SQL语句中引用了视图时,Oracle将进行以下工作:将引用了视图的语句与视图的定义语句整合
4、为一个语句在共享SQL区解析整合后的语句执行此语句当现有的共享SQL区中没有与整合后的语句一致时,Oracle才会为此语句创建新的共享SQL区。因此,引用了视图的SQL语句也能够利用已有的共享SQL区以达到节约内存和提高性能的目的。视图的依赖性由于视图的定义是一个引用了其他对象(表,视图)的查询,因此视图依赖于其所引用的对象。Oracle会自动地处理视图的依赖性。例如,当用户移除了一个视图的基表后再重建此表,Oracle将检查新的基表是否符合视图的定义并判断视图的有效性。可更新的连接视图连接视图是指在一个视图的定义查询的from字句中引用了多个表或视图。而可更新的连接视图是指能够执行UPDAT
5、E,INSERT,和DELETE操作的连接视图。为了保证视图是可更新的,其定义中不能包含以下语法结构:集合操作符DISTINCT操作符聚合函数或分析型函数GROUPBY,ORDERBY,CONNECTBY,或STARTWITH字句在SELECT之后的列表中使用集合表达式在SELECT之后的列表中使用子查询连接(join)(但是有例外情况)对于不可更新的视图,可以利用INSTEADOF触发器对其数据进行修改。Oracle数据字典中包含的视图有哪些我们都知道Oracle数据字典文档中静态数据字典的视图共分为三类,动态Oracle数据字典的相关视图又分为哪几类呢?以及Oracle数据字典的相关视图又
6、有什么样的作用呢?这些问题在此篇文章中都会找到答案。动态数据字典是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。当前锁住的对彖静态数据字典:这类数据字典主要是由表和视图组成数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*、all、dba_*1user_*该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对彖)1.all_*该试图存储了当前用户能够访问的对象的信息。(与user_*相比,all_*并不需要拥有该对彖,只需要具有访问该对象的权限即可
7、)1dba_*该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限1select*fromdictionary;查询该用户拥有哪些表user_tables主要描述当前用户拥有的所有表的信息,主要包括表名、表空间名、簇名等。通过此视图可以清楚了解当前用户可以操作的表有哪些1descusertables;2selecttablenamefromuser_tables;3select*fromusertables;查询该用户拥有哪些索引1selectindexnamefromuser_indexes;查询该用户拥有哪些视图1selectview_n
8、amefromuserviews;查询该用户拥有哪些数据库对象,对象包括表、视图、存储过程、触发器、包、索引、序列、JAVA文件等。1selectobject_namefromuser_objects;主要描述当前用户的信息,主要包括当前用户名、帐户id、帐户状态、表空间名、创建时间等。1select*fromuser_users;user_/all区别:all_列出来的信息是当前用户可以访问的对彖而不是当前用户拥有的对彖。查询某一用户下的所有表、过程、函数等信息。1selectownerrobjectname/object_typefromall_objects对于dba_开头的需要管理员权
9、限,查询表空间的信息(当前用户必须拥有DBA角色)。1select*fromdba_data_files动态Oracle数据字典Oracle包含了一些潜在的由系统管理员如SYS维护的表和视图,由于当数据库运行的时候它们会不断进行更新,所以称它们为动态数据字典(或者是动态性能视图)。这些视图提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。Oracle中这些动态性能视图都是以v$开头的视图.v$access该视图显示数据库中锁定的数据库对象以及访问这些对彖的会话对象(session对彖)。1select*fromv$access2v$session该视图列出当前会话的详
10、细信息。1v$active_instance该视图主要描述当前数据库卜的活动的实例的信息。依然可以使用select语句来观察该信息。v$context该视图列出当前会话的属性信息。比如命名空间、属性值等。以上的相关内容就是对Oracle数据字典的相关内容的介绍,望你能有所收获。oracle几个常用的监控视图v$process,v$sessionzv$sqltext,V$SESSION_WAIT几个重要的Oracle表或者视图v$controlfile:控制文件的信息;v$datafile:数据文件的信息;v$log:口志文件的信息:v$process:处理器的信息;v$session:会话信息
11、;v$transaction:事务信息;v$resource:资源信息:v$sga:系统全局区的信息数据字典视图表和列DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每个数据库表的列的信息。注意:DBAJ3BJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括Oracle表。完整性约束DBA_CONSTRAINTS、ALL_CONSTRAINTS和USER_CONSTRAINST显示有关约束的一般信息。DBA_C
12、ONS_COLUMNS、ALL_CONS_COLUMNS和USER_CONS_COLUMNS显示有关列的相关约束的一般信息。视图DBA_VIEWS、ALL_VIEWS和USER_VIEWS。注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括视图。序列DBA_SEQUENCES、ALL_SEQUENCES和USER_SEQUENCES。注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括序列。同义词DBASYNONYMS、ALLSYNONYMS和USERSYNONYMSo注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对彖的信息,包括同义词。索引DBAJNDEXS.ALLJNDEXS.USERJNDEXS.DBAND_COLUMNS、ALL_IND_COLUMNS和USERNDJZOL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论