oracle视图
视图解释:
A. 视图是一种虚表
B. 视图建立在已有表的的基础上,视图赖以建立的这些表称为基表。
C. 向视图提供数据内容的语句为select语句,可以将视图理解为存储起来的select语句
D. 视图向用户提供基表数据的另一种表现形式
E. 在视图中检索信息与从基表中检索信息方法完全相同
视图的作用:控制数据访问、简化查询、避免重复访问相同的数据
视图的优点:限制用户只能通过视图检索数据,用户看不到底层基表
将复杂查询编写为视图,降低sql的复杂性
限制用户只能访问基表的部分数据,实现安全性
简单视图和复杂视图
视图的分类
视图分为view和materialized view,view称为视图,materialized view称为物化视图。
视图与物化视图的区别:
① 视图不保存数据,每次操作视图都临时查询数据。物化视图保存数据,操作物化视图不执行视图的生成sql。物化视图可以设置自己的数据刷新机制。视图的优缺点:不保存数据,不占用空间。但每次都执行生成视图的sql语句,故效率低。
② 物化视图的优缺点:保存数据,故占用空间。操作物化视图不执行视图的生成sql,故效率高。但需要设置数据刷新机制。
③ 视图和物化视图的选择:在选择时首先考虑的是数据是否需要及时刷新,如果需要及时刷新则选择视图,如果不需要及时刷新则选择物化视图。
视图的定义原则:
1.视图的查询可以使用复杂的SELECT语法,包括连接/分组查询和子查询;
2.在没有WITH CHECK OPTION和 READ ONLY 的情况下,查询中不能使用order BY 子句;
3.如果没有为CHECK OPTION约束命名,系统会自动为之命名,形式为SYS_Cn;
4.OR REPLACE选项可以不删除原视图便可更改其定义并重建,或重新授予对象权限。
视图比临时SQL的优点:
SQL是写在项目中,视图是写在数据库中,当视图有变化时直接操作数据库即可,避免重启项目。
视图更直观,在调试时我们可以查看视图中的数据是不是我们想要的数据。
为什么使用视图而不创建真表 ?
视图是临时表,会随着真实表的数据变化而自动变化。如果创建一个真实表还需要维护该表的数据。
视图不存储数据,之存储SQL语句,每次操作视图都是执行临时SQL后得到的数据。减少存储空间。
相关阅读
原文:https://blog.csdn.net/death05/article/details/78744250 在Oracle中实现分页的方法大致分为两种,用ROWNUM关键字和用ROWID
什么是ViewFlipperViewFlipper,它是Android自带的一个多页面管理控件,可以实现引导页图片切换以及广告轮播的效果。其实ViewPager也
在工作的过程中,我们有时候需要编写复杂的sql脚本.在这个时候,如果掌握一些数据库函数,对我们的工作可以事半功倍的作用. 这篇
我在参加【中原银行】的【极客大赛】,请大家支持下我的队伍,给【农夫种豆队】投上您宝贵的一票(微信,无需注册,无需填写手机号码,点击一
一、RecyclerView 介绍 在 RecyclerView 出来之前,大家都在使用 ListView、GridView,当然 RecyclerView 出来之后,基本上都转向了 Re