视图表 (View) 是在关系数据库中,将一组查询指令构成的结果集,组合成可查询的资料表的一种数据库对象。与资料表不同的是,资料表是一种实体结构(Physical Structure),但视图表是一种虚拟结构(Virtual Structure),在实体资料表中的改变都可以立刻反映在视图表中,不过部分数据库管理系统也支持具更新能力的视图表(Updatable View)。

视图表具有下列的好处:

  • 可以将实体资料表隐藏起来,让外部程序的设计师无法得知实际的数据结构,降低数据库被攻击的风险。
  • 在多数的情况下,视图表是只读的,外部程序无法直接透过视图表修改资料(具更新能力的视图表除外)。
  • 简化查询,数据库管理员可以将高度复杂的查询,包装在视图表中,外部程序只需要直接访问该视图表即可取出需要的资料。
  • 在视图表中先行执行运算。
  • 视图表可视为资料表,具有 JOIN 的能力。
  • 数据库中只需要存储定义,无须存储资料。

语法

视图表由于是数据库对象之一,因此需要使用资料定义语言来建立,修改与删除,例如下列的指令:

CREATE VIEW v_myView
AS
   SELECT * FROM myTable

即可建立一个视图表,而外部程序可以用下列指令来访问视图表:

SELECT * FROM v_myView WHERE myID = 3982

若要删除视图表,则可以用DROP VIEW v_myView来删除。

参见

外部链接