您的位置:首页 > 数据库

【数据库系统概论】-关系数据库标准语言SQL(4)

2015-01-09 15:04 621 查看

视图

视图是从一个或几个基本表(或视图)导出的表。是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍然放在原表中。

视图一经定义,就可以和基本表一样被查询、被删除。也可以在一个视图之上再定义新的视图,但对视图的更新操作则有一定的限制。

定义视图

一、建立视图

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


通常子查询不允许含有ORDER BY子句和DISTINCT短语

WITH CHECK OPTION表示对视图进行UPDATE,DELETE,INSERT操作时要保证更新、插入、删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)。组成视图的属性列名或者全部省略或者全部指定,没有第三种选择。但是有特殊情况需要特别指明属性列:

(1)某个目标列不是单纯的属性名,而是聚集函数或列表达式;

(2)多表连接时选出几个同名列作为视图的字段;

(3)需要在视图中为某个列启用新的更合适的名字。

若一个视图是从单个基本表导出的,并且只是去掉了基本表的某些行和某些列,但保留了主码,我们称这类视图为行列子集视图

二、删除视图

DROP VIEW <视图名> [CASCADE]


视图的作用

视图最终是定义在基本表之上的,对视图的一切操作最终也要转换为对基本表的操作。

1、视图能够简化用户的操作。

视图机制使用户可以将注意力集中在所关心的数据上。可以通过定义视图,使数据库看起来结构简单、清晰,并且可以简化用户的数据查询操作。

2、视图使用户能以多种角度看待同一数据

3、视图对重构数据库提供了一定程度的逻辑独立性

4、视图能够对机密数据提供安全保护

5、适当的利用视图可以更清晰的表达查询
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: