oracle 视图总结

关系视图:

  1. 创建数据表
  2. 创建关系视图(create or replace view view_name as ………)
  3. 查看视图的定义(select Text from user_views where view_name=…..)
  4. 修改/删除视图(create or replace view…..l..; drop view…..)
  5. 联接视图(视图与视图、视图与表)
  6. 编译视图(基础表结构改变,对视图产生的影响)
  7. 使用force选项强制创建视图(表建立之前就建立了视图)
  8. 利用视图更新数据表
  9. With check option 选项(如果表的数据更新后,视图结果发生改变,那么这样的更新操作将被禁止);
  10. 关系视图好处:保证数据安全性;数据整合;数据透明

 

内嵌视图:

  1. 关系视图占用数据库资源,内嵌视图不占用,属于”一次性消费”
  2. 不会利用create view 显示创建,类似于子查询
  3. 相对于关系视图和临时表,不会进行大量的I/o操作,节省数据库资源
  4. 与子查询的区别:代替表的位置的查询就是内嵌视图,例如,from和into之后的查询

对象视图:

  1. 建立对象类型(create type employee is object (属性1 类型,属性2 类型……………..);
  2. 创建对象视图(create or replace view ov_employees

             of employee

with object oid(employee_id) as

select employee_id,last_name||first_name ,province||city,salary

from employees

  1. 关系视图中view_type和oid_text都为空(可以用来区分对象视图和关系视图)

 

物化视图(物理化视图):

  1. 物化视图存储实际数据,会创建一个同名的物理表
  2. 创建物化视图

Create materialized view mv_monthly_sales

Build immediate/build deffered   立即从基础表中加载数据/延迟加载

Refresh on commit    一旦提交,更新视图

Enable query rewrite       启用查询重写功能

As

   Select sale_momth,sum(price*quantity)

   From employee_sale_details

   Group by sale_month

  1. 查询重写

Oracle对基础表的查询,转化为对物化视图的查询,以此来提高效率

posted @ 2013-05-01 14:26  yexuannan  阅读(241)  评论(0编辑  收藏  举报