达梦数据库的视图管理

达梦数据库的视图管理

视图(view),也称虚表, 不占用物理空间,因为视图本身的定义语句还是要存储在数据字典里的。视图只有逻辑表,每次使用的时候,只是重新执行SQL。
还有一种叫物化视图(materialized view),也称实体化视图,它是含有数据的,占用存储空间。

1、视图管理
视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表,一个视图也可以从另一个视图中产生。

创建测试表,并且插入一条数据测试
create table tab_view_cs (id int, name varchar(10), sex varchar(10), bithdate date);
insert into tab_view_cs values(100, ‘test‘,‘female‘, ‘2019-7-13‘);

创建视图测试,查询视图的结果
create or replace view tab_view_cs_v as select id, name from tab_view_cs where sex=‘female‘;
select name from tab_view_cs_v;

删除视图
drop view tab_view_cs_v;

2、物化视图
物化视图(materialized view),也称实体化视图,它是含有数据的,占用存储空间。
创建两张测试表
create table tab_mview_cs_1(v1 int, v2 char(10), v3 varchar(20), v4 date);
create table tab_mview_cs_2(t1 int, t2 char(10), t3 varchar(20), t4 date);

创建物化视图,并且查询物化视图结果
create materialized view tab_mview_cs_mv(v1, v2, v3, v4) build immediate refresh complete enable query rewrite as select tab_mview_cs_1.v1 as v1, tab_mview_cs_1.v2 as v2, tab_mview_cs_1.v3 as v3, tab_mview_cs_2.t4 as v4 from tab_mview_cs_1, tab_mview_cs_2 where tab_mview_cs_1.v1= tab_mview_cs_2.t1;

select * from tab_mview_cs_mv;

修改视化视图和删除后再查看看结果
alter materialized view tab_mview_cs_mv disable query rewrite;
drop materialized view tab_mview_cs_mv;
select * from tab_mview_cs_mv;

原文地址:https://blog.51cto.com/14615334/2463434

时间: 2024-08-26 02:21:21

达梦数据库的视图管理的相关文章

达梦数据库的用户管理

达梦数据库的用户管理 安装完达成梦数据库,系统默认会自带有一些系统级的用户:1.sys -----达梦数据库内置管理用户,不能登录数据库,数据库使用的大部分的数据字典和动态性能视图sys.2.Sysdba -----数据库的管理员3.Sysauditor---审计用户4.Syssso---安全用户 在达梦数据库里每一个用户都有一个默认的表空间,对于 SYS.SYSSSO.SYSAUDITOR 系统用户,默认的用户表空间是 SYSTEM,SYSDBA 的默认表空间为 MAIN,新创建的用户如果没有

达梦数据库的角色管理

达梦数据库的角色管理 角色管理在日常中的使用场景是比较少,一般主要数据库自带的角色,外加针对部分用户或部分表的各性化需求来配置就可以,这篇也同样按之前的思路来对角色的创建.修改.删除等基本功能做下实践操作,及给角增加权限建表等权限,测试权限功能. 1.查看所有角色select * from dba_roles; 2.创建角色接下来我们创建create role role1; 创建一张tab1表做个测试 3.角色添加权限我们先来给这个角色赋值查询表的权限,并分配给test1用户,来做个测试赋值查询

达梦数据库的触发器管理

达梦数据库的触发器管理 触发器类型有分为操作前触发.操作后触发.DLL事件触发.系统事件触发.时间触发等等,触发器与存储过程的区别是触发器不能单独执行调用,而是在用户执行特定语句时自动触发执行触发器.以下举例常见的插入事件.更新事件做演示. 1.创建BEFORE触发器测试准备工作创建触发器前先建两张测试表(数据表和结果表),目的在数据表插入前就执行触发器里的语句,触发器里的语句是统计当前数据库的记录数.create table tab_before(id int, name varchar(20

达梦数据库表空间管理

表空间 数据库的物理结构:文件系统-数据文件数据库的逻辑结构:数据库-表空间(多个数据文件构成)-段-簇-页(一) 达梦默认有哪些表空间及其作用1.查看表空间[语句]SQL>select tablespace name from dba tablespaces:(1) SYSTEM:系统表空间,存放数据字典信息(2) ROLL:回滚表空间,存放回滚数据,对一个数据进行更新操作,存放的是更新前的版本信息,可以支持MVCC(事务多版本机制)(3) TEMP:临时表空间,存放临时数据,可不做备份(4)

达梦数据库(第二部分)

1.达梦数据库创建表 达梦数据安装完成之后,打开DM管理工具,可以进行数据库的相关操作.可以通过新建查询,在SQL命令窗口输入sql语句,创建表,sql输入完成之后,选择sql进行执行,则会在表空间MAIN下的表路径下产生新建的表文件,如下图: 2.建立主键 Create table时通过primary key创建主键 如:create table person(ID int primary key,name varchar(10),address varchar(60)) 或者通过alter语

[转帖]达梦数据库(DM6)和ORACLE 10g的异同点

达梦数据库(DM6)和ORACLE 10g的异同点    https://bbs.aliyun.com/detail/351337.html 花花浪子 级别: 小白 发帖 0 云币 -41 加关注 写私信 只看楼主 更多操作楼主  发表于: 2017-03-24 比较惭愧,在当上本版版主后一直没有贡献一篇有营养的帖子,由于手上正好有达梦数据 DM6的版本,加上对ORACLE 10G比较熟悉,所以就这2种数据库的异同点做一个对比,也请大家不吝赐教. 对于达梦数据库,因为目前的工作是DBA,主要是对

达梦数据库的初始运用

用命令方式建立数据库 在达梦的bin目录下使用dminit ./dminit path=/dm7/data db_name=DM01 instance_name=EST port_num=5327 达梦数据库的状态 4种状态 shutdown mount open suspend 状态切换 shutdown -- mount shutdown -- open open -- mount 查看状态 select status$ from v$instance; 启动数据库 方式一 在达梦安装bin

基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作

由于一个客户朋友的需求,需要我的Winform开发框架支持国产达梦数据库的操作,这个数据库很早就听过,但是真正一般项目用的很少,一般在一些特殊的项目可能需要用到.由于我的Winform开发框架,是基于Enterprise Library的数据访问层的实现,因此增加一个数据库的支持很容易,本文介绍如何在框架层面上支持这种神秘的国产数据库-达梦数据库. 1.达梦数据库的简单介绍 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM.达梦数据库管理系统的最新版本是7.

达梦数据库安装和创建表

1.达梦数据库安装 2.达梦命令行sql工具 进去达梦数据库安装目录下的/bin目录 运行./disql 输入用户名和密码: 默认的管理用户SYSDBA 的初始密码是SYSDBA 在sql> 工具里边执行sql操作