视图和表之间的区别在SQL

可能重复:
性能中的视图和表之间的区别

SQL中视图和表之间的主要区别是什么? 使用视图而不是表格有什么好处。

一个表包含数据,一个视图只是一个已经被保存在数据库中的SELECT语句(或多或less取决于你的数据库)。

视图的优点是它可以连接多个表中的数据,从而创build一个新的视图。 假设你有一个薪水数据库,你需要做一些复杂的统计查询。

而不是始终将复杂查询发送到数据库,您可以将查询保存为视图,然后保存SELECT * FROM view

表:表是用于在RDBMS中存储数据和信息的初步存储。 表是相关数据条目的集合,它由列和行组成。

视图:视图是一个虚拟表,其内容由查询定义。 除非进行索引,否则视图不会作为数据库中存储的一组数据值存在。 桌子的优点是

  • 我们可以将来自多个表格或另一个视图的列/行组合在一起,并具有统一的视图。
  • 通过让用户通过视图访问数据,视图可以用作安全机制,而不授予用户直接访问视图的底层基表的权限
  • 它作为下游系统的抽象层,所以模式的任何变化都不会暴露,因此下游系统不会受到影响。

鉴于与数据库没有任何直接或物理的关系。 通过一个视图(例如插入,更新,删除)的修改是不允许的。它只是一个逻辑的表集

表:

表将数据存储在数据库中并包含数据。

视图:

视图是一个虚构的表,只包含字段(列),不包含将在运行时构build的数据(行)。视图通过连接创build的一个或多个表,以及选定的列。 为了安全起见,创build视图来隐藏用户的某些列,并隐藏列中存在的信息。 视图减less了每次编写查询访问特定列的工作量每次我们都可以使用视图来代替每次查询数据库的复杂查询

一个视图是一个虚拟桌子。 一个视图就像一个表一样由行和列组成。 视图和表之间的区别在于视图是build立在其他表(或视图)之上的定义,并且不保存数据本身。 如果数据在基础表中发生变化,则相同的变化反映在视图中。 视图可以build立在单个表格或多个表格之上。 它也可以build立在另一个视图之上。 在SQL Create View页面中,我们将看到如何构build一个视图。

视图提供了以下优点:

  1. 易用性:视图隐藏了来自最终用户的数据库表的复杂性。 本质上,我们可以将视图视为数据库表顶层的抽象层。

  2. 节省空间:视图只需要很less的空间来存储,因为它们不存储实际的数据。

  3. 其他数据安全性:视图只能包含表中的某些列,以便只包含非敏感列并向最终用户公开。 另外,一些数据库允许视图具有不同的安全设置,从而隐藏敏感数据而不被窥探。

回答: http : //www.1keydata.com/sql/sql-view.html

一个观点有助于我们摆脱利用数据库空间。 如果你创build一个表,它被存储在数据库中,并在其存在的整个空间中保留一些空间 相反,查询运行时,因此保存数据库空间。 而且,我们不能一直创build大表,尽pipe我们可以join不同的表格,但是它取决于表格的大小以节省空间。 所以查看只是在运行时临时创build一个join不同表的表。 专家,如果我错了,请纠正我。