Oracle 视图

Oracle 视图

1:什么是视图

Oracle 中的视图其实就是一个查询语句,这个查询语句可以很简单的值针对一张表做简单的查询操作.也可以对多张表进行复杂的联合查询操作.视图就是一种类似于封装的东西,我们在外边只需要对视图进行单一的操作即可.

2:使用视图的好处?

1:安全性

2:简化操作

3:简化命名操作及易读性

4:实现更改的灵活性

3:视图的分类

3.1内嵌视图:

在from语句中的可以把表改成一个子查询,如:select a.id ,b.id from emp a,(select id from dept) b where a.id=b.id内嵌视图不属于任何用户,也不是对象,内嵌视图是子查询的一种,可以与数据表、视图一样作为查询语句的数据源存在,但在形式上有较大的区别,内嵌视图不必使用create view命令进行创建,因此,在数据字典中也无法获得相应信息。内嵌视图的特点在于无须创建真正的数据库对象,而只是封装查询,因此会节约数据库资源,同时不会增加维护成本。但是内嵌视图不具有可复用性,因此当预期将在多处调用到同一查询定义时,还是应该使用关系视图。

3.2对象视图:

对象类型在数据库编程中有许多好处,但有时,应用程序已经开发完成。为了迎合对象类型而重建数据表是不现实的。对象视图正是解决这一问题的优秀策略。

  对象视图创建之后,同样可以在数据字典中获得其相应信息。利用Oracle内置视图user_views可以获得对象视图相关信息。Oracle中的对象数据实际仍然以关系数据的形式存储。但是,对象的特性,例如继承、封装等,都为开发人员提供了更加灵活的处理形式。同样,可以构造复杂的对象类型来封装复杂的多表查询。


3.3物化视图:

常用于数据库的容灾,不是传统意义上虚拟视图,是实体化视图,和表一样可以存储数据、查询数据。主备数据库数据同步通过物化视图实现,主备数据库通过data link连接,在主备数据库物化视图进行数据复制。当主数据库垮掉时,备数据库接管,实现容灾


4:如何使用视图

4.1 内嵌视图

内嵌视图就是普通的自连接的查询,这里就不重复了.

4.2  对象视图

创建方法:

create or replace view [VIEW_NAME] as

[查询语句]

如:

create or replace view qts_et_safety_attatch_v as
select ATTATCH_ID,
       ITEM_ID,
       FUNCTION_ID,
       ATTATCH_CLASSFICATION,
       ATTATCH_TYPE,
       ATTATCH1,
       ATTATCH2,
       ATTATCH3,
       ATTATCH4,
       ATTATCH5,
       ATTRIBUTE1,
       ATTRIBUTE2,
       ATTRIBUTE3,
       ATTRIBUTE4,
       ATTRIBUTE5,
       LAST_UPDATE_DATE,
       LAST_UPDATED_BY,
       CREATED_BY,
       LAST_UPDATE_LOGIN,
       CREATION_DATE
  from qts_et_attatch;

4.3物化视图

创建方法:

create materialized view [view_name]
refresh 
[fast|complete|force]
[
on [commit|demand
] |
start 
with (start_time) next (next_time)
]
as
{创建物化视图用的查询语句}

请参考:http://blog.csdn.net/hdhai9451/article/details/3875172



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值