4.视图-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

4.视图

简介: <ul style="margin-top:0px; margin-bottom:0px; background-color:inherit"> <li style="background-color:inherit"><span style="background-color:inherit; line-height:1.5">计算机数据库中的视图是一个虚拟表,其内容由查询定义;</sp
  • 计算机数据库中的视图是一个虚拟表,其内容由查询定义;
  • 不是数据表,因为它不能存储数据;
  • 只是一个或多个数据表中数据的逻辑显示。
  • 本质:一条被命名的SQL语句。
视图好处:
  • 对机密数据提供安全保护,限制对数据的访问;
  • 简化复杂的查询;
  • 提供数据的独立性;
  • 分解复杂的查询需求,创建多个视图获取数据。将视图联合起来就能得到需要的结果了。
  • 提供对相同数据的不同显示。
语法:

CREATE OR REPLACE VIEW view1 AS subquery; #subquery查询语句

建立好的视图与普通数据表没什么区别了,增删改查均可以。但通常我们不允许改变视图的数据。

  • MySQL等大部分数据库在创建视图时加入with check option语句,表示创建的视图不允许修改。(此时若修改视图数据,SQL不报错,但无法真正修改)
  • Oracle使用with read only。


删除视图:

drop view 视图名;


视图缩减业务逻辑

       视图用来隐藏复杂的业务逻辑,从join连接查询产生一个view。先使用视图完成一定的逻辑,再在视图的基础上完成另外的逻辑。 通常,视图完成的逻辑都是相对比较基础的逻辑。

Note:

  •  尽量使用视图完成读操作;
  •  对视图的修改,也是对基表的修改,会即时生效; 
  •   删除视图时,不会销毁实体表内的数据;
  •  如果做的是外部接口,一个数据库多个应用,针对每一个应用,采用不同的视图接口。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章