视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表,是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。
视图是虚表。所谓的虚表,视图不是表。视图只储存了它的定义(select语句),而没有储存视图对应的数据,这些数据仍存放在原来的数据表(基表),数据与基表中数据同步,即对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。所谓的虚表,视图又像表,可以像基本表一样进行数据操作:查询、修改、删除和更新数据。
用T-SQL创建视图
CREATE VIEW 视图名[(列名1 [,…n])]
AS
查询语句
注意:
(1) 定义视图的用户必须对所参照的表或视图有查询权限,即可执行SELECT语句。
(2) 不能使用COMPUTE或COMPUTE BY子句。
(3) 不能使用ORDER BY子句。
(4) 不能使用INTO子句。
(5) 不能在临时表或表变量上创建视图。
使用ALTER VIEW命令
ALTER VIEW 视图名[(列名1 [,…n])]
AS
查询语句
优点:
(1)为用户集中数据,简化用户的数据查询和处理。有时用户所
(2)简化用户权限的管理,也增加了安全性。
(3)屏蔽数据库的复杂性。
(4)便于数据共享。
(5)可以重新组织数据以便输出到其他应用程序中。
注意事项:
(1)只有在当前数据库中才能创建视图。
(2)视图的命名必须遵循标识符命名规则,不能与表同名,且对每个用户视图名必须是惟一的,即对不同用户,即使是定义相同的视图,也必须使用不同的名字。
(3)不能把规则、默认值或触发器与视图相关联。
(4)不能在视图上建立任何索引,包括全文索引。
(5)使用视图查询时,若其关联的基本表中添加了新字段,则必须重新创建视图才能查询到新字段。
(6)如果与视图相关联的表或视图被删除,则该视图将不能再使用。