数据库优化之创建视图
视图是保存在数据库中的SELECT查询,可在视图上执行SELECT语句的大多数命令。创建视图的原因有两个:一是出于安全考虑,用户不必看到整个数据库结构,而隐藏部分数据;二是符合用户日常业务逻辑,使其对数据更容易理解
什么是视图?
视图是另一种查看数据库中一个或多个表中数据的方法。视图是一个虚拟表,通常由一个或多个表的行和列的子集创建的,它并不是数据库存储的数据值的集合,它的行和列都来自查询引用的表。在执行时,视图直接显示表中的数据。
定义视图的查询可基于一个或多个表,也可基于其他视图、当前数据库和其他数据库
视图的作用
* 筛选表中的行
* 防止未经许可的用户访问敏感数据
* 将多个物理数据表抽象为一个逻辑数据表
使用视图的好处
1. 对于最终用户
* 结果更容易理解,可将列名改为有意义的名称
* 获得数据更容易,无需掌握多表查询的T-SQL语句,通过视图即可查看
2. 对于开发人员
* 限制检索更容易,创建视图时,将对用户保密的列排查在外
* 维护应用程序更方便
创建视图
在SQL Server中,创建视图有两种方法:使用SSMS和使用T-SQL语句
1. 使用SSMS创建视图
(1)展开数据库,右击视图,选择新建视图
(2)选择需要的表,并选择希望查看的列,填写别名,还可以修改下面的T-SQL语句,执行
(3)最后选择保存,可以像打开普通表一样使用它
2. 使用T-SQL语句创建视图
创建视图的语法如下:
create view 视图名 as T-SQL语句
例如:为网络班的学生创建视图,只显示姓名、性别、班级
使用视图的注意事项
每个视图中可以使用多个表
与查询相似,一个视图可以嵌套另一个视图,但最好不要超过三层
视图定义中的SELECT语句不能包括下列内容
* ORDER BY语句,除非在SELECT语句的选择列表也有一个TOP子句
* INTO关键字
* 引用临时表或表变量