会计考友 发表于 2012-8-2 09:11:00

2012年软件水平网络工程师考试精讲(第三章18)

视图
  视图是从一个或几个基本表(或视图)导出的表。某一用户可以定义若干视图。因此对某一用户而言,按ANSI/SPARC报告的观点,他的外模式是由若干基本表和若干视图组成的。视图和基本表不同,视图是一个虚表,即视图所对应的数据不实际存储在数据库中,数据库中只存储视图的定义(存在数据字典中)。视图一经定义就可以和基本表一样被查询、被删除(DROP),也可以用来定义新的视图,但更新(增、删、改)操作将有一定限制。视图可以理解成一个数据库,只有内涵保存在数据库字典中,而无外延存储;其外延是在使用时动态地生成的或计算出来的。
  (1)视图的定义与删除
  SQL建立视图的语句格式为:
  CREATE VIEW视图名[(字段名[,字段名]…)]
  AS子查询
  ;
  视图可以删除,语句格式为:
  DROP VIEW视图名;
  视图的定义就从数据字典中删除。由此视图导出的其它视图也将自动被删除。若导出此视图的基本表删除了,则此视图也将自动删除。
  (2)视图的查询语句
  视图定义后,用户可以如同基本表那样对视图查询。
  (3)视图的更新语句对视图的更新最终要转换成对基本表的更新(这里的更新,指INSERT,UPDATE和DELETE三类操作)。在关系数据库中,并非所有的视图都是可更新的,也就是说,有些视图的更新不能唯一地有意义地转换成对基本表的更新。
  (4)视图的优点视图的概念具有很多优点,主要有:
  (1)视图对于数据库的重构造提供了一定程度的逻辑独立性;
  (2)简化了用户观点;
  (3)视图机制使不同的用户能以不同的方式看待同一数据;
  (4)视图机制对机密数据提供了自动的安全保护功能。
页: [1]
查看完整版本: 2012年软件水平网络工程师考试精讲(第三章18)