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

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

 

[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;  

 

作用:

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

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

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

版权声明:本文为yadongliang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yadongliang/p/8981801.html