特点
- 视图是虚表,是从一个或几个基本表(或视图)中导出的表
- 只存放了视图的定义,并不存放视图对应的数据
- 基表中的数据发生变换,视图中的数据也发生变换
视图可以和基本表一样进行查询、删除、定义新视图、受限更新
视图的建立
create view <视图名> ([<列名>[,<列名>]…]) as 子查询 [with check option];
其中属性列名全部指定或全部省略
with check option
:表示对视图进行 增、删、改时保证更新、插入、删除的行满足视图定义要求
例:
create view is_student (sno,sname,ssex,sage) as select sno,sname,ssex,sage from student where sdept like 'is' with check option;
行列子集视图:
一个视图从单个表中导出,只去掉了部分行和部分列,但是保留了主码。
行列子集视图一般都是可以更新的
视图删除
drop view <视图名> [cascade]
cascade
表示联级删除,可以删除该视图和它导出的所有视图
删除基表时,由基表导出的所有视图都必须显式的使用drop view
语句删除
视图的作用
- 简化用户的操作
- 使用户能以多种角度看待同一数据
- 对重构数据库提供了一定程度的逻辑独立性
- 对机密数据提供安全保护
- 更清晰的表达查询