多语言展示
当前在线:1784今日阅读:167今日分享:16

oracle解析:[1]视图

oracle视图是一个虚拟表,不保存数据,这种感念不能绝对,不过正常情况确实是这样的下面就听我娓娓道来,有用词不妥的地方,希望朋友指正,我会非常乐意的改正并学习
工具/原料
1

oracle

2

视图

方法/步骤
1

视图的分类:物化视图,内嵌视图,关系视图,对象视图,这是从视图的显示,关系,功能更划分的,下面分别解析

2

关系视图:就是我们常用的视图(create or replace view 视图名称 as ...),为什么叫关系视图呢,我的理解是这里面大多数情况是做多表查询,表和表之前是通过关联关系来操作的.  优点: 1.保证数据的安全性(因为只是查询数据,而没有对对应的表和数据进行操作) 2.屏蔽数据表之前的负复杂性(将多表之前的关联起来,统计出一个虚拟表,这样调用者可以不用关心这个数据是怎么来的,只要会用就行) 3.用户可以通过数据字典查询视图创建的信息缺点:1.因为有可能关联了多张表,这时候查询的时候对系统的性能会有一定的影响

3

内嵌视图:这个视图实际上也是我们经常会用到的,但是它是一个隐藏的形式展现,注意不需要create or replace view 形式创建,它的作用就是封装你需要的数据.优点:1.将关联表的数据量降低, 2.不占用系统资源,提高系统的数据吞吐的速度缺点:1.内嵌视图不能共享

4

物化视图:不是传统意义的虚拟表,而是实体化视图,和表一样可以存储数据,查询数据,主备数据库数据同步通过物化视图实现,在主备数据库物化视图进行数据复制。当主数据库垮掉时,备数据库接管,实现容灾.实际我认为对提高视图查询性能有很大帮助优点:1.存储数据,保护数据的容灾行2.对关系视图的查询是一种更好的选择,提高查询速度缺点:1.暂用资源,2.需要定时维护信息,是性能还是一个影响

5

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

推荐信息