第七章 视图
第一节 概述
一、什么是视图
¨ 视图是查看数据库表中数据的一种方法;
¨ 视图提供了存储预定义的查询语句作为数据库中的对象以备以后使用的能力;
¨ 视图只是一种逻辑对象,并不是物理对象,因为视图不占物理存储空间;
¨ 在视图中被查询的表称为视图的基表;
¨ 视图的内容包括:基表的列的子集或者行的子集;两个或者多个基表的联合;两个或者多个基表的连接;基表的统计汇总;另外一个视图的子集;视图和基表的混合。
二、视图的优点
1.集中用户使用的数据;
2.掩码数据库的复杂性,视图把数据库设计的复杂性与用户屏蔽分开;
3.简化用户权限的管理;
4.为向其他应用程序输出而重新组织数据。
第二节 创建视图
1、用企业管理器创建通讯录
2、用企业管理器创建一个成绩单视图
语法
: CREATE VIEW <视图名> [(列名1,列名2,……)]
[WITH ENCRYPTION]
AS
SELECT_STATEMENT
[WITH CHECK OPTION]
功能:创建视图
例1:创建一个成绩单视图
CREATE VIEW dbo.vw_cjd(name, cid, result)
AS
SELECT name, report.cid, report.result FROM student JOIN report
ON student.sid=report.sid
例2:显示成绩单视图
Select * from vw_cjd
例3:创建一个按专业统计平均年龄的视图
CREATE VIEW dbo.vw_avg(speciality, avage)
AS
SELECT speciality, avg(age) FROM student
GROUP BY speciality
例4:显示平均年龄视图
Select * from vw_avg
第三节 修改视图与删除视图
1. 修改视图
语法:ALTER VIEW <视图名> [(列名1,列名2,……)] [WITH ENCRYPTION]
AS
SELECT statement [WITH CHECK OPTION]
例:修改视图vw_cjd
ALTER VIEW vw_cjd
AS
Select name, report.cid, report.result, address From student join report
ON student.sid=report.sid
查看Select * from vw_cjd
2. 删除视图
语法:DROP VIEW <视图名>
例:删除视图vw_cjd
DROP VIEW vw_cjd
第四节 视图定义信息
一、视图定义信息
1.在企业管理体制器中查看
2.查询视图Information_schema.views
3.查询系统表syscomments
4.使用命令 sp_helptext 对象名
二、隐藏视图定义
with encryption
第五节 通过视图修改数据
¨ 只能影响一个基表;
¨ 如果指定WITH CHECK OPTION选项,那么要验证所修改的数据。