一、视图的作用:
1、视图隐藏了底层的表结构,简化了数据访问操作,客户端不再需要知道底层表的结构及其之间的关系。
2、视图提供了一个统一访问数据的接口。(即可以允许用户通过视图访问数据的安全机制,而不授予用户直接访问底层表的权限)
3、从而加强了安全性,使用户只能看到视图所显示的数据。
4、视图还可以被嵌套,一个视图中可以嵌套另一个视图。
三、视图的相关操作
1.创建视图
CREATE VIEW <name> [Attributes]
AS
<query>;
如:创建CanDrink(drinker, beer)视图,其中包含drinker、beer的关系为drinker经常光顾至少一个酒吧和该酒吧卖的酒
CREATE VIEW CanDrink
AS
SELECT drinker, beer
FROM Frequents, Sells
WHERE Frequents.bar = Sells.bar;
2.删除视图
DROP VIEW <view_name>;
3.查询视图
和表查询差不多
SELECT beer FROM CanDrink
WHERE drinker = 'Tony Hoare';
4.修改视图
CREATE VIEW BarBeerView (酒吧, 啤酒)
AS
SELECT bar, beer FROM Sells
WHERE price > 35;
DELETE FROM BarBeerView
WHERE 酒吧 = '3DArtBar';
INSERT INTO BarBeerView
VALUES('3DArtBar', '安贝夫');
UPDATE BarBeerView SET 啤酒 ='南非啤酒'
WHERE 酒吧 ='HardRock' AND 啤酒 ='贝克';