数据库 视图 【vaynexiao】

修改基表视图数据随之变化,修改视图基表也会随之变化。双向的。
优点:

1):使操作简单化,不改变实体表的表结构,将经常使用的复杂SQL语句定义为视图,,也就是定制为一张新的表,可以有效的避免重复的代码量,以后他在查询数据时,只需 select * from view_name 

2):增加数据的安全性。用户只能访问到视图给定的字段,避免用户直接操作数据表引发的一系列错误。

3):提高了表的逻辑独立性。应用程序访问是通过视图访问数据表,从而程序和数据表之间被视图分离。如果数据表有变化,不用去修改SQL语句,只需去修改定义的视图语句即可,不用调整代码程序。

4):容易解决复杂的查询需求。用视图可以将复杂的问题分解,然后将创建多个视图获取数据,再将视图联合起来就能得到需要的结果。

缺点:
1:效率差了一些,必须把视图查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,也会花费一定的时间
2:直接修改视图的某些信息时有难度,数据库必须把它转化为对基本表的某些信息的修改,对于简单的试图来说,这是很方便的,但是,对于比较复杂的试图,可能是不可修改的。
工作机制:
当调用视图语句的时候,才会执行视图的SQL语句,从数据库中的一个或者多个表中存取数据。视图的内容不会存储,节省硬盘空间,它是在视图被引用的时候才派生出来数据。由于是随时操作随时调用,视图的内容与真实表的内容总是一致的。
删除视图的数据会直接删除视图对应的源表的数据,切忌!
create [or replace] view view_name as 子查询;
–追加 with read only 只读视图
–追加with option详见百度
drop view view_name if exists v1;
alter view view_name as 子查询
分类:标准视图 索引视图 分区视图
在这里插入图片描述

发布了75 篇原创文章 · 获赞 106 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/vayne_xiao/article/details/105321122