8.3.5 视图创建和删除

2025-06-05 14:32:02 更新

1视图的作用

视图是从一个或者多个基本表或视图中导出的表,其结构和数据是建立在对表的查询基础

上的。和真实的表一样,视图也包括几个被定义的数据列和多个数据行,但从本质上讲,这些数据列和数据行来源于其所引用的表.因此,视图不是真实存在的基本表,而是一个虚拟表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。使用视图的优点和作用如下:

(1)可以使视图集中数据、简化和定制不同用户对数据库的不同数据要求。

(2)使用视图可以屏蔽数据的复杂性,用户不必了解数据库的结构,就可以方便地使用和

管理数据,简化数据权限管理和重新组织数据以便输出到其他应用程序中。

(3)视图可以使用户只关心他感兴趣的某些特定数据和所负责的特定任务,而那些不需要

的或者无用的数据则不在视图中显示。

(4)视图大大地简化了用户对数据的操作。

(5)视图可以让不同的用户以不同的方式看到不同或者相同的数据集。

(6)在某些情况下,由于表中数据量太大,因此在表的设计时常将表进行水平或者垂直分

割,但表的结构的变化对应用程序产生不良的影响。

(7)视图提供了一个简单而有效的安全机制。

2.视图的创建

语句格式:CREATE VIEW视图名(列表名)

AS SELECT查询子句

[WITH CHECK OPTION];

注意:视图的创建中,必须遵循如下规定。

(1) 子查询可以是任意复杂的SELECT语句,但通常不允许含有order by子句和DISTINCT短语,

(2) WITH CHECK OPTION表示对UPDATE,INSTER,DELETE操作时保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)»

(3) 组成视图的属性列名或者全部省略或者全部指定。如果省略属性列名,贝1|隐含该视图由SELECT子查询目标列的主属性组成。

3. 视图的删除

语句格式:DROP VIEW视图名

例如,DROP VIEW CS-STUDENT 将删除视图 CS-STUDENT.