视图
简介:
- 视图可以看作定义在SQL Server上的虚拟表。视图正如其名字的含义一样,是另一种查看数据的入口。
- 常规视图本身并不存储实际的数据,而仅仅是由SELECT语句组成的查询定义的虚拟表 。
- 从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图。
- 例如查询,插入,修改,删除操作等,但插入、修改、删除等的操作其实对于原始数据表的操作。
优点:
-
简化用户操作 视图机制使用户可以将注意力集中在所关心地数据上。如果这些数据不是直接来自基本表,则可以通过定义视图,使数据库看起来结构简单、清晰,并且可以简化用户的的数据查询操作。 -
以多种角度看待同一数据 视图机制能使不同的用户以不同的方式看待同一数据,尤其当许多不同种类的用户共享同一个数据库时 -
对重构数据库提供了一定程度的逻辑独立性 数据的物理独立性是指用户的应用程序不依赖于数据库的物理结构。数据的逻辑独立性是指当数据库重构造时,如增加新的关系或对原有的关系增加新的字段,用户的应用程序不会受影响。 -
对机密数据提供安全保护 有了视图机制,就可以在设计数据库应用系统时,对不同的用户定义不同的视图,使机密数据不出现在不应该看到这些数据的用户视图上。 -
适当的利用视图可以更清晰地表达查询 如下实验
原表
KC表: XSQK表: XS_KC表:
一、创建视图
1.打开SSMS
2.“标准”工具栏“新建查询”,选择“XSCJ”数据库
3.输入以下语句
CREATE VIEW v_开课信息
AS
SELECT 课程号,课程名,开课学期,学时
FROM KC
WHERE 开课学期>=3
在XSCJ数据库中,基于KC表创建一个名为”v_开课信息”的视图,要求该视图中包含列“课程号”、“课程名”、“开课学期”和“学时”、并且限定视图中返回的行中只包括第3学期及以后开课的课程信息。
4.分析 单击“SQL编辑器”工具栏上的“分析”按钮,检查输入的T-SQL语句是否有语法错误。 如果有语法错误,则进行修改。
5.无语法错误后,在XSCJ数据库“视图”中就会出现一个名为“v_开课信息”的视图
二、插入数据
输入以下语句,在视图中插入一行数据
INSERT INTO v_开课信息 VALUES('022','ASP',4,40)
v_开课信息:
select * from v_开课信息
KC表:
select * from KC
三、更新数据
输入以下语句,修改途中的数据
UPDATE v_开课信息
SET 开课学期=5,学时=80
WHERE 课程号='105'
v_开课信息:
select * from v_开课信息
KC表:
select * from KC
四、删除数据
输入以下语句,删除视图中的数据。
DELETE FROM v_开课信息
WHERE 课程号='022'
v_开课信息:
select * from v_开课信息
KC表:
select * from KC
Reference
SQL Server创建视图——视图的作用/文CSDN@Brambling
数据库中视图的作用/文CSDN@MazenChan
|