一、视图介绍。
1.1 什么是视图?
视图是一种虚拟表,并不真实存在。
它是由一个或多个表通过查询而定义的,并将查询定义保存起来,实际不包括数据。
1.2 视图与表的区别。
视图:存储查询语句。(索引视图除外)
表:存储数据。
1.3 视图的优点。
简化查询步骤,增强数据保密性,保证了数据安全(只允许查询,不允许增删改,索引视图除外)。
1.4 视图的缺点。
只是简化查询步骤,并没有提高查询速度,反而增加了维护成本。
1.5 视图的分类。
标准视图:
只存储查询定义,不存储数据。
索引视图:
由于创建了索引,它属于被具体化的视图,占用物理存储空间。
查询性能显著提高,由于聚合了很多行的查询,不适合经常更新的基本数据集。
当对索引视图进行增删改操作时,原始表中的数据也会发生相应变化。
分区视图:
一台或多台服务器间水平连接一组成员表的分区数据。也就是1台服务器或多台服务器各取部分数据,最终返回一个综合数据集。
注意:各个成员表返回的数据结构(列名和数量)需一致。成员表可以来自相同数据库的不同表,也可以来自不同数据库的不同表。
二、用脚本创建和调用视图。
假如有下面2张表,以它们举例说明:
产品信息表(ProductInfo):
标识列 Id int
产品编号 ProductNo varchar(50)
产品名称 ProductName nvarchar(100)
产品类型编号 ProductTypeId int
产品价格 ProductPrice decimal(18, 2)
产品数量 ProductCount int
产品备注 ProductRemark nvarchar(150)
产品类型表(ProductTypeInfo):
产品类型编号 ProductTypeId int
产品类型名称 ProductTypeName nvarchar(50)
use ProductManagementDB
go
-- 先创建好主表,
SQL Server数据库基础:视图介绍、用脚本创建和调用视图。
于 2022-08-03 10:48:14 首次发布