OushuDB 创建和管理视图

OushuDB 创建和管理视图

视图(View)是从一个或多个表(或视图)导出的表。视图与表(有时为与视图区别,也称表为基本表——Base Table)不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。

创建视图

创建视图使用CREATE VIEW命令。比如下例中,用户如果只对下面weather基本表中的温度感兴趣。可以建立一个视图。

create table weather (
    city            varchar(80),
    temp_lo         int,           -- low temperature
    temp_hi         int,           -- high temperature
    prcp            real,          -- precipitation
    date            date
);

create view myview as
   select city, temp_lo, temp_hi
   from weather;

select * from myview; # 不再需要每次写出投影的列。

视图可以简化用户的查询,但往往也会对查询优化带来较大挑战。所以用户使用视图需要谨慎。

删除视图

删除视图时,使用DROP VIEW命令。

DROP VIEW myview;

如果有其他对象依赖于当前要删除的视图,需使用CASCADE | RESTRICT关键字。

DROP VIEW myview CASCADE;

DROP VIEW myview RESTRICT;
Note:OushuDB中的视图是只读的。系统不允许在视图上插入、更新或删除。通过将视图上的重写规则创建为其他表上的适当操作,可以获得可更新视图的效果。
上一篇:OushuDB 执行器介绍


下一篇:OushuDB 快速入手