openGauss 3.0 数据库在线实训课程18:学习视图管理

news2025/4/7 23:07:56

在这里插入图片描述

前提

我正在参加21天养成好习惯| 第二届openGauss每日一练活动

课程详见:openGauss 3.0.0数据库在线实训课程

学习目标

掌握openGauss视图的管理:创建视图、删除视图、查询视图的信息、修改视图的信息。

课程作业

1.创建表,创建普通视图

–创建模式、表和插入数据

su - omm
gsql -r

Create schema tpcds;
CREATE TABLE tpcds.customer
(  c_customer_sk             integer,   
  c_customer_id             char(5),    
  c_first_name              char(6),    
  c_last_name               char(8) 
) ;

INSERT INTO tpcds.customer VALUES    
(6885, 1, 'Joes', 'Hunter'),    
(4321, 2, 'Lily','Carter'),    
(9527, 3, 'James', 'Cook'),
(9500, 4, 'Lucy', 'Baker');

–创建视图

CREATE VIEW tpcds.customer_details_view_v1 AS
SELECT * FROM tpcds.customer
WHERE c_customer_sk > 5400;

–查看视图内容

select * from tpcds.customer_details_view_v1;

image.png

image.png

2.使用视图创建新的视图

create  VIEW tpcds.part_view as  SELECT * FROM  tpcds.customer_details_view_v1 where  c_customer_sk =9527;

–查看新的视图

select * from tpcds.part_view;

image.png

3.创建物化视图

–创建基表

drop materialized view if exists mv_test;
drop table if exists test;
create table test(id serial primary key,testnum serial);
insert into test(testnum) values(generate_series(1,100000));

–创建物化视图:

create materialized view mv_test as 
select * from test where testnum%2=0;

–查看物化视图目前有多少行记录:

select count(*) from mv_test;

普通视图在查询中是实时进行计算的。如果建立视图的基表数据很多,使用视图的时候,进行实时计算视图表示的结果集,将消耗很大的计算机资源,并且费时很长。

物化视图提前计算出视图的结果集,并将该结果集保存在数据库里。

如果更新了基表,物化视图将过期。也就是说,基表更新后,物化视图不能反映最新的数据情况。因此在基表发生变化的时候,需要对物化视图进行更新。

image.png

4.手动更新物化视图

–系统视图pg_views

select * from pg_views where schemaname = 'tpcds' or schemaname = 'public';

5.物化视图相关的系统表GS_MATVIEW
–GS_MATVIEW系统表提供了关于数据库中每一个物化视图的信息

select * from GS_MATVIEW;

image.png

–向基表test插入数据,查看物化视图有多少行记录

insert into test(testnum) values(generate_series(1,100000));
select count(*) from mv_test;

–手动更新物化视图,并查看更新物化视图后,物化视图有多少行记录:

refresh materialized view mv_test;
select count(*) from mv_test;

image.png

5.删除创建的视图

–删除普通视图

DROP view tpcds.part_view;
DROP view TPCDS.customer_details_view_v1;

–删除物化视图

DROP MATERIALIZED VIEW mv_test;

image.png

了解openGauss
openGauss是一款全面友好开放,携手伙伴共同打造的企业级开源关系型数据库。openGauss提供面向多核架构的极致性能、全链路的业务、数据安全、基于AI的调优和高效运维的能力。openGauss深度融合华为在数据库领域多年的研发经验,结合企业级场景需求,持续构建竞争力特性。openGauss网站
(https://opengauss.org/zh/ ) 提供了有关openGauss软件的最新信息。

openGauss是一个数据库管理系统。

数据库是结构化的数据集合。它可以是任何数据,购物清单、图片库或公司网络中的大量信息。要添加、访问和处理存储在计算机数据库中的海量数据,您需要一个数据库管理系统(DBMS)。数据库管理系统可以对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。由于计算机非常擅长处理大量数据,因此数据库管理系统可以作为独立程序使用,也可以作为其他应用程序的一部分在计算中发挥着核心作用。

openGauss数据库是关系型的。

关系型数据库是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据。行和列被称为表,一组表组成了数据库。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。

openGauss的SQL部分代表
“结构化查询语言”。SQL是最常用的用于访问和处理数据库的标准计算机语言。根据您的编程环境,您可以直接输入SQL、将SQL语句嵌入到以另一种语言编写的代码中,或者使用包含SQL语法的特定语言
API。

SQL由ANSI/ISO
SQL标准定义。SQL标准自1986年以来一直在发展,并且存在多个版本。本手册中,“SQL92”是指1992年发布的标准,“SQL99”是指1999年发布的标准,“SQL2003”是指2003年发布的标准。“SQL2011”是指该标准的当前版本。openGauss支持标准的SQL92/SQL99/SQL2003/SQL2011规范。

openGauss软件是开源的。

开源意味着任何人都可以使用和修改软件。任何人都可以下载openGauss软件并使用它,而无需支付任何费用。如果您愿意,您可以研究源代码并对其进行更改以满足您的需要。openGauss软件使用木兰宽松许可证V2(http://license.coscl.org.cn/MulanPSL2)来定义软件的使用范围。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2301455.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于flask+vue的租房信息可视化系统

✔️本项目利用 python 网络爬虫抓取某租房网站的租房信息,完成数据清洗和结构化,存储到数据库中,搭建web系统对各个市区的租金、房源信息进行展示,根据各种条件对租金进行预测。 1、数据概览 ​ 将爬取到的数据进行展示&#xff…

手写简易RPC(实践版)

首先了解rpc rpc-远程过程调用,openFeign,Dubbo都可以算作rpc,以微服务来具体说明,就是在本地不需要去发送请求,通过rpc框架,像调用本地方法一样调用其他服务的方法,本质上还是要经过网络&…

mysql学习笔记-多版本并发控制

1、什么是ReadView 在 MVCC机制中,多个事务对同一个行记录进行更新会产生多个历史快照,这些历史快照保存在 Undo Log里。如果一个事务想要查询这个行记录,需要读取哪个版本的行记录呢?这时就需要用到 ReadView 了,它帮我们解决了…

算法日记20:SC72最小生成树(prim朴素算法)

一、题目&#xff1a; 二、题解 2.1&#xff1a;朴素prim的步骤解析 O ( n 2 ) O(n^2) O(n2)(n<1e3) 0、假设&#xff0c;我们现在有这样一个有权图 1、我们随便找一个点&#xff0c;作为起点开始构建最小生成树(一般是1号)&#xff0c;并且存入intree[]状态数组中&#xf…

Redis7——基础篇(五)

前言&#xff1a;此篇文章系本人学习过程中记录下来的笔记&#xff0c;里面难免会有不少欠缺的地方&#xff0c;诚心期待大家多多给予指教。 基础篇&#xff1a; Redis&#xff08;一&#xff09;Redis&#xff08;二&#xff09;Redis&#xff08;三&#xff09;Redis&#x…

从零搭建微服务项目Base(第7章——微服务网关模块基础实现)

前言&#xff1a; 在前面6章的学习中已经完成了服务间的调用实现&#xff0c;即各微服务通过nacos或eureka服务器完成服务的注册&#xff0c;并从nacos中拉取配置实现热更新。当某个服务接口需要调用其他服务时&#xff0c;通过feign定义接口&#xff0c;并通过注解配置服务名…

pdf转换成word在线 简单好用 支持批量转换 效率高 100%还原

pdf转换成word在线 简单好用 支持批量转换 效率高 100%还原 在数字化办公的浪潮中&#xff0c;文档格式转换常常让人头疼不已&#xff0c;尤其是 PDF 转 Word 的需求极为常见。PDF 格式虽然方便阅读和传输&#xff0c;但难以编辑&#xff0c;而 Word 格式却能灵活地进行内容修…

嵌入式音视频开发(二)ffmpeg音视频同步

系列文章目录 嵌入式音视频开发&#xff08;零&#xff09;移植ffmpeg及推流测试 嵌入式音视频开发&#xff08;一&#xff09;ffmpeg框架及内核解析 嵌入式音视频开发&#xff08;二&#xff09;ffmpeg音视频同步 嵌入式音视频开发&#xff08;三&#xff09;直播协议及编码器…

SpringBoot速成概括

视频&#xff1a;黑马程序员SpringBoot3Vue3全套视频教程&#xff0c;springbootvue企业级全栈开发从基础、实战到面试一套通关_哔哩哔哩_bilibili 图示&#xff1a;

微信小程序image组件mode属性详解

今天学习微信小程序开发的image组件&#xff0c;mode属性的属性值不少&#xff0c;一开始有点整不明白。后来从网上下载了一张图片&#xff0c;把每个属性都试验了一番&#xff0c;总算明白了。现总结归纳如下&#xff1a; 1.使用scaleToFill。这是mode的默认值&#xff0c;sc…

Matlab写入点云数据到Rosbag

最近有需要读取一个点云并做处理后&#xff0c;重新写回rosbag。网上有很多读取的教程&#xff0c;但没有写入。自己写入时也遇到了很多麻烦&#xff0c;踩了一堆坑进行记录。 1. rosbag中一个lidar的msg有哪些信息&#xff1f; 通过如下代码&#xff0c;先读取一个rosbag的l…

数据分析--数据清洗

一、数据清洗的重要性&#xff1a;数据质量决定分析成败 1.1 真实案例警示 电商平台事故&#xff1a;2019年某电商大促期间&#xff0c;因价格数据未清洗导致错误标价&#xff0c;产生3000万元损失医疗数据分析&#xff1a;未清洗的异常血压值&#xff08;如300mmHg&#xff…

用命令模式设计一个JSBridge用于JavaScript与Android交互通信

用命令模式设计一个JSBridge用于JavaScript与Android交互通信 在开发APP的过程中&#xff0c;通常会遇到Android需要与H5页面互相传递数据的情况&#xff0c;而Android与H5交互的容器就是WebView。 因此要想设计一个高可用的 J S B r i d g e JSBridge JSBridge&#xff0c;不…

Vue 3最新组件解析与实践指南:提升开发效率的利器

目录 引言 一、Vue 3核心组件特性解析 1. Composition API与组件逻辑复用 2. 内置组件与生命周期优化 3. 新一代UI组件库推荐 二、高级组件开发技巧 1. 插件化架构设计 2. 跨层级组件通信 三、性能优化实战 1. 惰性计算与缓存策略 2. 虚拟滚动与列表优化 3. Tree S…

计算机网络(涵盖OSI,TCP/IP,交换机,路由器,局域网)

一、网络通信基础 &#xff08;一&#xff09;网络通信的概念 网络通信是指终端设备之间通过计算机网络进行的信息传递与交流。它类似于现实生活中的物品传递过程&#xff1a;数据&#xff08;物品&#xff09;被封装成报文&#xff08;包裹&#xff09;&#xff0c;通过网络…

JVM-Java程序的运行环境

Java Virtual Machine Java程序的运行环境 JVM组成 程序计数器 线程私有的&#xff0c;内部保存的字节码的行号。用于记录正在执行的字节码指令的地址。 Java堆 线程共享的区域: 主要用来保存对象实例, 数组等, 当堆中没有内存空间可分配给实例也无法再扩展时, 则抛出OutOfMe…

什么是网关,网关的作用是什么?网络安全零基础入门到精通实战教程!

1. 什么是网关 网关又称网间连接器、协议转换器&#xff0c;也就是网段(局域网、广域网)关卡&#xff0c;不同网段中的主机不能直接通信&#xff0c;需要通过关卡才能进行互访&#xff0c;比如IP地址为192.168.31.9(子网掩码&#xff1a;255.255.255.0)和192.168.7.13(子网掩码…

《千恋万花》无广版手游安卓苹果免费下载直装版

自取https://pan.xunlei.com/s/VOJS77k8NDrVawqcOerQln2lA1?pwdn6k8 《千恋万花》&#xff1a;柚子社的和风恋爱杰作 《千恋万花》&#xff08;Senren * Banka&#xff09;是由日本知名美少女游戏品牌柚子社&#xff08;Yuzusoft&#xff09;于2016年推出的一款和风恋爱题材…

javaEE-14.spring MVC练习

目录 1.加法计算器 需求分析: 前端页面代码: 后端代码实现功能: 调整前端页面代码: 进行测试: 2.用户登录 需求分析: 定义接口: 1.登录数据校验接口: 2.查询登录用户接口: 前端代码: 后端代码: 调整前端代码: 测试/查错因 后端: 前端: lombok工具 1.引入依赖…

rabbitmq五种模式的实现——springboot

rabbitmq五种模式的实现——springboot 基础知识和javase的实现形式可以看我之前的博客 代码地址&#xff1a;https://github.com/9lucifer/rabbitmq4j-learning 一、进行集成 &#xff08;一&#xff09;Spring Boot 集成 RabbitMQ 概述 Spring Boot 提供了对 RabbitMQ 的自…