日期:2014-05-16  浏览次数:20358 次

数据库视图介绍

转自:http://www.cnblogs.com/pony/archive/2008/07/15/1243210.html

什么是视图:

  视图(view):从一个或几个基本表中根据用户需要而做成一个虚表

  1:视图是虚表,它在存储时只存储视图的定义,而没有存储对应的数据

  2:视图只在刚刚打开的一瞬间,通过定义从基表中搜集数据,并展现给用户

视图与查询的区别:

  视图和查询都是用由sql语句组成,这是他们相同的地方,但是视图和查询有着本质区别:

  它们的区别在于:

  1:存储上的区别:视图存储为数据库设计的一部分,而查询则不是.

  2:更新限制的要求不一样

  要注意:因为视图来自于表,所以通过视图可以间接对表进行更新,我们也可以通过update语句对表进行更新,但是对视图和查询更新限制是不同的,以下我们会知道虽然通过视图可以间接更新表但是有很多限制.

  3:排序结果:通过sql语句,可以对一个表进行排序,而视图则不行。比如:创建一个含有order by子句的视图,看一下可以成功吗?

视图的优点:

  为什么有了表还要引入视图呢?这是因为视图具有以下几个优点:

  1:能分割数据,简化观点。可以通过select和where来定义视图,从而可以分割数据基表中某些对于用户不关心的数据,使用户把注意力集中到所关心的数据列.进一步简化浏览数据工作

  2:为数据提供一定的逻辑独立性。 如果为某一个基表定义一个视图,即使以后基本表的内容的发生改变了也不会影响“视图定义”所得到的数据

  3:提供自动的安全保护功能。 视图能像基本表一样授予或撤消访问许可权

  4:视图可以间接对表进行更新,因此视图的更新就是表的更新