一 概述:
(1)视图本质:
*视图是从一个或几个基本表(或视图)导出的表。视图是一个虚表,只包含使用时动态检索数据的查询。
*数据库中只存放视图的定义,而不存放视图对于的数据,这些数据仍存放在原来的基本表中。
*基本表的数据发送变化,视图查询的数据也随之改变。
*视图定义后,可以与基本表一样被查询和删除,但对视图的更新(增、删、改)操作则有一定限制。
*对视图的更新,最终要转换为对基本表的更新。
*可以在视图上再定义视图。
*一般情况下,将试图用于检索而不用于更新。
(2)视图的优点:
*重用SQL语句和简化复杂的SQL操作。
*使用表的组成部分而不是整个表。保护数据,给用户授予特定部分的访问权而不是整个表的访问权。
*更改数据格式显示。视图可返回与底层表的表示和格式不同的数据。
二 创建视图:
(1)格式:
create view <视图名>[<列名><,列名>...]
as <子查询表达式>
*DBMS执行create view语句只是把视图的定义存入数据字典,并不执行其中的select语句。只是对视图查询时,才按视图的定义从基本表中将数据查出。
三 删除视图:
(1)格式:
drop view <视图名> [cascade]
*视图删除将视图的定义从数据字典中删除。如果该视图上还定义其他视图,则使用cascade级联删除语句,把该视图和由它导出的所有视图一起删除。
*基本表被删除时,由该表导出所有视图(定义)没有被删除,需显示drop删除。
四 查询视图:与基本表一样,查询视图转化等价的基本表的查询。
五 更新视图(update):
(1)视图的更新必须转化为对数据库中基本表的更新。
(2)一般情况下,将试图用于检索而不用于更新。SQL只支持部分视图更新。
1426

被折叠的 条评论
为什么被折叠?



