第5章 数据库存储管理
- 格式:ppt
- 大小:746.00 KB
- 文档页数:67
3.5视图3.5.1为什么要使用视图(1)视图能减少S Q L查询语句编写的工作量及对它进行合理的管理。
(2)视图使用户以不同的方式看待相同数据。
(3)视图对数据库的使用提供一定的逻辑独立性。
(4)视图能够对数据提供安全保护。
3.5.2创建视图•C R E A T E V I E W语句可以创建视图,其一般语法格式为:C R E A T E V I E W<视图名>[(<列名>[,<列名>]…)]A S<S E L E C T语句>[W I T H C H E C K O P T I O N];•W I T H C H E C K O P T I O N可选项关键词表示在对视图进行U P D A T E,I N S E R T 和D E L E T E操作时需要保证更新、插入或删除的记录必须满足视图定义中的条件(即S E L E C T语句中的条件表达式)。
•在创建一个视图时要么指定视图的全部列名,要么全部都不指定。
如果缺省了视图的各个属性列名,则该视图就由查询中S E L E C T子句的目标列的列名组成。
但在下列三种情况下必须明确指定组成视图的所有列名: 第一种:视图中包含了多个来自于不同表的相同列名。
第二种:视图中定义的列是由集函数或列表达式所定义。
第三种:视图中为了某些列定义新的列名。
数据库在创建视图时,将其定义存放到相应的系统表中,以供使用。
【例3.56】创建来自加州的作者信息(p u b s数据库的a u t h o r s表,只包含a u_i d, a u_f n a m e,a u_l n a m e,c i t y)视图C A_A u t h o r s。
•语句如下:C R E A T E V I E W C A_A u t h o r sA S S E L E C T a u_i d,a u_f n a m e,a u_l n a m e,c i t y F R O M a u t h o r sW H E R E(s t a t e='C A')•该例没有指定视图的列名,视图则沿用基本表的指定列的列名。