1. 视图

1.1 视图特点

  • 虚表,是从一个或几个基本表(或视图)导出的表;
  • 只存放视图的定义,不存放视图对应的数据;
  • 基本表改变,从视图中查询的数据也改变;

1.2 定义视图

1.2.1 创建

CREATE VIEW <视图名>[(<列名><列名>...)]
AS <子查询>
[WITH CHECK OPTION];

P.s:

  • WITH CHECK OPTION:对视图进行UPDATE,INSERT和DELETE时候,需要保证更新、插入和删除的行满足视图定义中的谓词条件(即子查询中的条件表达式);
  • 执行CREATE VIEW语句时,只是将视图定义存入数据字典,并不执行其中的SELECT语句;对视图查询时,按视图定义从基本表中查出数据。

【建立计算机系学生视图】
CREATE VIEW CS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept=‘CS’;

【建立计算机系学生视图,并要求对视图进行修改和插入操作是仍保证该视图只有计算机系学生】
CREATE VIEW CS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept=‘CS’
WITH CHECK OPTION;

1.2.2 删除

DROP VIEW <视图名>[CASCADE];

1.3 查询视图

类似于基本表

1.4 更新视图

类似于基本表

1.5 视图的作用

  • 简化用户操作
  • 使用户以多种角度看待同一数据
  • 对机密数据提供安全保护
  • 可以更清晰表达查询