数据库--视图的基本概念以及作用

Posted 习惯沉淀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库--视图的基本概念以及作用相关的知识,希望对你有一定的参考价值。

转自:数据库--视图的基本概念以及作用

视图(子查询):是从一个或多个表导出的虚拟的表,其内容由查询定义。具有普通表的结构,但是不实现数据存储。
对视图的修改:单表视图一般用于查询和修改,会改变基本表的数据,
多表视图一般用于查询,不会改变基本表的数据。

 

[sql] view plain copy
 
  1. --创建视图--  
  2. create or replace view v_student as select * from student;  
  3. --从视图中检索数据--  
  4. select * from v_student;  
  5. --删除视图--  
  6. drop view v_student;  

 

作用:

①简化了操作,把经常使用的数据定义为视图。

  我们在使用查询时,在很多时候我们要使用聚合函数,同时还要 显示其它字段的信息,可能还会需要关联到其它表,这时写的语句可能会很长,如果这个动作频繁发生的话,我们可以创建视图,这以后,我们只需要select * from view就可以啦,这样很方便。 

②安全性,用户只能查询和修改能看到的数据。

  因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以将基表中重要的字段信息,可以不通过视图给用户,视图是动态的数据的集合,数据是随着基表的更新而更新。同时,用户对视图不可以随意的更改和删除,可以保证数据的安全性。 

③逻辑上的独立性,屏蔽了真实表的结构带来的影响。

  视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。

缺点: 
①性能差
  数据库必须把视图查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,数据库也要把它变成一个复杂的结合体,需要花费一定的时间。 
②修改限制
  当用户试图修改视图的某些信息时,数据库必须把它转化为对基本表的某些信息的修改,对于简单的视图来说,这是很方便的,但是,对于比较复杂的试图,可能是不可修改的。

在定义数据库对象时,不能不加选择地来定义视图,应该权衡视图的优点和缺点,合理地定义视图。

视图(子查询):是从一个或多个表导出的虚拟的表,其内容由查询定义。

 

具有普通表的结构,但是不实现数据存储。

对视图的修改:单表视图一般用于查询和修改,会改变基本表的数据,

   多表视图一般用于查询,不会改变基本表的数据。

 

[sql] view plain copy
 
  1. --创建视图--  
  2. create or replace view v_student as select * from student;  
  3. --从视图中检索数据--  
  4. select * from v_student;  
  5. --删除视图--  
  6. drop view v_student;  

 

作用:

①简化了操作,把经常使用的数据定义为视图。

②安全性,用户只能查询和修改能看到的数据。

③逻辑上的独立性,屏蔽了真实表的结构带来的影响。

以上是关于数据库--视图的基本概念以及作用的主要内容,如果未能解决你的问题,请参考以下文章

什么是基本表?什么是视图?两者的区别和联系是什么?

[求教] ABAP中视图的概念及其作用是啥?

RTCPeerConnection基本概念 -- 以及创建和绑定音视频以及渲染远端视频时候的作用

MySQL 05

:Android环境配置以及基本概念

SCOM的基本概念的理解&警报的处理