1.定义(简介)
看作定义在SQL Server上的虚拟表。视图正如其名字的含义一样,是另一种查看数据的入口。
常规视图本身并不存储实际的数据,而仅仅是由SELECT语句组成的查询定义的虚拟表 。
从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图。
例如查询,插入,修改,删除操作等,但插入、修改、删除等的操作其实对于原始数据表的操作,因而只有视图是单表查询的时候才支持增删改操作。
2.作用
(1) 视图隐藏了底层的表结构,简化了数据访问操作,客户端不再需要知道底层表的结构及其之间的关系。
(2) 视图提供了一个统一访问数据的接口。(即可以允许用户通过视图访问数据的安全机制,而不授予用户直接访问底层表的权限)
(3) 从而加强了安全性,使用户只能看到视图所显示的数据。
(4) 视图还可以被嵌套,一个视图中可以嵌套另一个视图。
3.优缺点
(1) 优点
a.简化查询
b.增加数据的保密性
(2)缺点
a.增加了数据库的维护成本
b.视图只是简化了查询,但是并不能加快查询的速度
4.实例,如图所示:
PS:
视图不能包含 ORDER BY 子句,除非SELECT语句的选择列表中还有一个 TOP 子句。
视图不能使用 INTO 关键字。视图不能包含 OPTION 子句。
视图不能有对临时表或表变量的引用。
视图最多可以有 1024 列。