oracle数据库管理系统的逻辑组成

oracle数据库管理系统的逻辑组成

ID:36314974

大小:1.16 MB

页数:51页

时间:2019-05-09

oracle数据库管理系统的逻辑组成_第1页
oracle数据库管理系统的逻辑组成_第2页
oracle数据库管理系统的逻辑组成_第3页
oracle数据库管理系统的逻辑组成_第4页
oracle数据库管理系统的逻辑组成_第5页
资源描述:

《oracle数据库管理系统的逻辑组成》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Oracle数据库管理系统的逻辑结构Owner:庞家进Oracle逻辑结构(用户层)Oracle视图(View)1Oracle表(Table)2Oracle索引(Index)3Oracle序数(Sequence)4Oracle视图(View)查看视图信息使用数据字典视图dba_views——DBA视图描述数据库中的所有视图all_views——ALL视图描述用户“可访问的”视图user_views——USER视图描述“用户拥有的”视图dba_tab_columns——DBA视图描述数据库中的所有视图的列(或表的列)all_tab_colu

2、mns——ALL视图描述用户“可访问的”视图的列(或表的列)user_tab_columns——USER视图描述“用户拥有的”视图的列(或表的列)dba_updatable_columns——显示数据库所有视图中的所有列的可更新状态all_updatable_columns——显示用户可访问的视图中的所有列的可更新状态user_updatable_columns——显示用户拥有的视图中的所有列的可更新状态Oracle视图(View)创建视图完整语法:create[orreplace][force]view[schema.]view_nam

3、e[(column1,column2,...)]asselect...[withcheckoption][constraintconstraint_name][withreadonly];例子:createviewvw_emp_checkasselectempno,ename,job,hiredate,deptnofromempwheredeptno=10withcheckoptionconstraintvw_emp_chk;--------创建检查视图:对通过视图进行的增删改操作进行检查,要求增删改操作的数据必须是select查询所能查

4、询到的数据。Oracle视图(View)orreplace:如果存在同名的视图,则使用新视图"替代"已有的视图force:"强制"创建视图,不考虑基表是否存在,也不考虑是否具有使用基表的权限column1,column2,...:视图的列名,列名的个数必须与select查询中列的个数相同;如果select查询包含函数或表达式,则必须为其定义列名.此时,既可以用column1,column2指定列名,也可以在select查询中指定列名.withcheckoption:指定对视图执行的DML操作必须满足“视图子查询”的条件即,对通过视图进行的

5、增删改操作进行"检查",要求增删改操作的数据,必须是select查询所能查询到的数据,否则不允许操作并返回错误提示.默认情况下,在增删改之前"并不会检查"这些行是否能被select查询检索到.constraintconstraint_name定义约束的名字withreadonly:创建的视图只能用于查询数据,而不能用于更改数据.与withcheckoption是排斥的Oracle视图(View)1.3删除视图可以删除当前模式中的任何视图;如果要删除其他模式中的视图,必须拥有DROPANYVIEW系统权限;视图被删除后,该视图的定义会从词典

6、中被删除,并且在该视图上授予的“权限”也将被删除。视图被删除后,其他引用该视图的视图及存储过程等都会失效。示例1:dropviewvw_test_tab;Oracle视图(View)视图的重新编译语法:alterview视图名compile;作用:当视图依赖的基表改变后,视图会“失效”。为了确保这种改变“不影响”视图和依赖于该视图的其他对象,应该使用alterview语句“明确的重新编译”该视图,从而在运行视图前发现重新编译的错误。视图被重新编译后,若发现错误,则依赖该视图的对象也会失效;若没有错误,视图会变为“有效”。权限:为了重新编译

7、其他模式中的视图,必须拥有alteranytable系统权限。注意:当访问基表改变后的视图时,oracle会“自动重新编译”这些视图。例子:altertabletest_tabmodify(c2varchar2(30));——修改c2列的长度selectlast_ddl_time,object_name,statusfromuser_objectswhereobject_name='V_TEST_TAB';——视图的状态:失效Oracle视图(View)在视图上执行DML操作的步骤和原理第一步:将针对视图的SQL语句与视图的定义语句(保存

8、在数据字典中)“合并”成一条SQL语句第二步:在内存结构的共享SQL区中“解析”(并优化)合并后的SQL语句第三步:“执行”SQL语句示例:createviewv_empasselectemp

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

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

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