关于GaussDB

一、GaussDB的层级关系 ,关于schemas的定位,到底是个什么,其实就可以理解为一个文件夹

数据库服务器 --> databases --> schemas --> tables

d7396c131fde4e878a77ec11a9ff1139.png

schema类似于文件夹,一个数据库database里面可以有多个文件夹,每个文件夹里面可以都有一个表叫abc,就不会冲突。如果没有这个schema这种文件夹,那么相当于所有的表都直接在数据库的根目录下,那么就不能有两个名称一样的表了。所以这个schema就是类似于文件夹,A文件夹里面可以有个表叫abc,B文件夹里面也可以有个表叫abc

schema也类似于namespace,就跟C盘D盘这种盘符一样,主要是为了隔离,进行精细化管理,而且相互隔离的空间内,可以有重复的资源,比如重复的表名称

来源应该是这个:

9455a1fbd2ea4cb6923ccdbd6053405f.png

用DBeaver连接上GaussDB,真实效果如图,可清楚判断层级关系

381ba0d5d5c14dd49afa4039c3e2402d.png

f03585f7006a41f095742bdb5c12a804.png

0bfbcee685c544c6893303e1b24df99b.png

9f50831fc73c4169a249b799b6c1face.png

8401062a0031438d9a262b1af4f8eb16.png

0328665bd2104e90b435540f508cdee7.png

3c710e22446b4b6d960247e3016a939a.png

常用概念_云数据库 GaussDB_华为云GaussDB的最小管理单元是实例,一个实例代表了一个独立运行的数据库。用户可以在控制台创建和管理GaussDB实例。实例的状态、规格、存储类型和版本,请参考实例说明。GaussDB目前支持V2.0-8.201版本。GaussDB支持分布式版和集中式版实例。分布式版能够支撑较大的数据量,且提供了横向扩展的能力,可以通过扩容的方式提高实例的icon-default.png?t=O83Ahttps://support.huaweicloud.com/productdesc-gaussdb/gaussdb_01_006.html

fc67deaf0b9341e5892dfdf7e2266c72.png

GaussDB社区_华为云GaussDB_开发者社区_华为云华为云数据库GaussDB社区,带您免费体验GaussDB数据库服务icon-default.png?t=O83Ahttps://bbs.huaweicloud.com/contents/sql/gaussdb-community.html

二、 关于表空间

表空间对应文件系统的一个目录,

关键字是TABLESPACE,一般在指定的表空间下创建表。

三、 GaussDB常用的一些sql语句

SELECT VERSION()   # 查看数据库系统版本

SELECT CURRENT_USER  # 查看当前用户

SELECT USER # 查看当前用户

SELECT MAX(ID) FROM <tablename>  # 查看表的最大ID

SELECT COUNT(1) FROM <tablename>  # 查看表的行数

select * from pg_database  # 查询系统表

SELECT TABLESPACE_NAME, TABLE_NAME, NUM_ROWS FROM adm_tables WHERE OWNER = '<owner_name>' ORDER BY NUM_ROWS DESC LIMIT 10  # 统计行数最高的10个表

count 和 num_rows都是查看表的行数,前者更精确,但是需要全表扫描,比较慢,对数据库负担比较重;后者是从adm_tables系统表中查看元数据,结果可能不准确,是因为是analyze定期更新的,但是不扫描全表,速度快,数据库负担小。

SELECT * FROM adm_tablespaces  # 查看系统表空间,会显示所有表空间的详细信息,包括名称、存储位置。

参考文档:ADM_TABLESPACES_云数据库 GaussDB_华为云ADM_TABLESPACES视图显示有关可用的表空间的信息。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。ORA数据库与GaussDB数据库逻辑结构特性不一致。icon-default.png?t=O83Ahttps://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-1162.html

SELECT TABLE_NAME, TABLESPACE_NAME FRON ADM_TABLES WHERE OWNER = '<ownername>' AND TABLE_NAME LIKE '<tablename>'  # 查询一个库中的表的表名称和表空间的对应关系

SELECT TABLESPACE_NAME, TOTAL_SIZE/1024/1024/1024 AS "TOTAL(G)", USED_SIZE/1024/1024/1024 AS "USED(G)", ROUND(USERD_SIZE * 100 / TOTAL_SIZE, 2) USED_PERCENT FROM ADM_TABLESPACES WHERE TABLESPACE_NAME LIKE '<tablespacename>' ORDER BY 2 DESC;  # 查询指定表空间的使用情况

如何查看表空间对应的磁盘目录?

SELECT spcname, pg_tablespace_location FROM pg_tablespace;  # 这一条如果没有查到结果

SELECT * FROM pg_tablespace  # 就用这个查询,select * from  DBA_DATA_FILES  WHERE TABLESPACE_NAME LIKE 'xxx%'

SELECT * FROM ADM_DATA_FILES WHERE TABLESPACE_NAME LIKE 'xxx%'  查看表空间对应的磁盘目录

四、 关于分区表和普通表

普通表,所有数据都存在一个物理文件中

分区表,数据被分割成多个部分,每个部分存储在不同的物理文件或子表中,这些部分称为分区

a6618260f1be4221829daf662e9c2cf2.png

五、关于调用存储过程

语法格式:

CALL [ schema.|package. ] { func_name | procedure_name } ( param_expr );

比如:

CALL schema_name.collect_index_stats('用户',‘索引名’,15);

调用一个schema下面的存储过程,这个存储过程的字面意思是收集索引信息。

这个存储过程的概念,其实就是类似于一个加强版的函数,函数一般返回值是一个,存储过程的返回值一般是一套。

参考文档:

成长地图_云数据库 GaussDB_华为云icon-default.png?t=O83Ahttps://support.huaweicloud.com/gaussdb/index.html

六、什么是数据库的段segment

        segment是表空间管理的逻辑单位,每个索引占两个segment,分别用于管理叶子节点和非叶子节点。

434e351343604530ad3b8281e8fa1ba7.png

67dc36e0c9994730b0d457ffbd304bec.png

七、“||”操作符在SQL中用于连接两个字符串,常用||'%',给前面的数字加个百分号%

八、 参考资料:

      官网地址:openGauss官方网站 | openGauss主页 | openGauss社区官网   

      官网上的教学视频地址:

     轻松上手openGauss之SQL语言(上)_哔哩哔哩_bilibili

图片来源(上图): README.md · openGauss/openGauss-server - Gitee.com

                        图片来源(上图):GaussDB SQL查询语句执行过程解析

图片来源(上图):GaussDB SQL查询语句执行过程解析

    资料来源(上图):GaussDB SQL查询语句执行过程解析

     资料来源(上图):GaussDB SQL查询语句执行过程解析

以下内容为AI生成:

1. **一个数据库服务器可以包含多个数据库(Database)**:

   - 数据库服务器是指运行数据库管理系统的计算机或服务实例。它可以托管多个独立的数据库,每个数据库都是一个逻辑上独立的数据集合,拥有自己的配置、用户权限和数据文件。

2. **每个数据库可以包含多个模式(Schema)**:

   - 模式是数据库内的逻辑容器,用于组织和隔离不同的数据对象(如表、视图、索引等)。通过使用不同的 schema,可以在同一个数据库中为不同用户或应用程序创建具有相同名称的对象而不发生冲突。

3. **每个模式可以包含多个表(Table)以及其他数据库对象**:

   - 表是最常见的数据库对象之一,用于存储实际的数据记录。除了表之外,schema 还可以包含视图、索引、触发器、函数等其他类型的数据库对象。

### 简化的层次结构示意图

```

数据库服务器

├── 数据库 (Database) 1

│   ├── 模式 (Schema) A

│   │   ├── 表 Table 1

│   │   ├── 表 Table 2

│   │   └── ...

│   ├── 模式 (Schema) B

│   │   ├── 表 Table 3

│   │   └── ...

│   └── ...

├── 数据库 (Database) 2

│   ├── 模式 (Schema) C

│   │   ├── 表 Table 4

│   │   └── ...

│   └── ...

└── ...

```

### 示例 SQL 操作

#### 创建数据库

```sql

CREATE DATABASE db1;

CREATE DATABASE db2;

```

#### 在特定数据库中创建 schema

```sql

-- 切换到 db1

\c db1;

-- 在 db1 中创建两个 schema

CREATE SCHEMA finance;

CREATE SCHEMA hr;

```

#### 在 schema 中创建表

```sql

-- 在 finance schema 中创建一张表

CREATE TABLE finance.expenses (

    id SERIAL PRIMARY KEY,

    amount NUMERIC NOT NULL,

    description TEXT

);

-- 在 hr schema 中创建另一张表

CREATE TABLE hr.employees (

    id SERIAL PRIMARY KEY,

    name TEXT NOT NULL,

    position TEXT

);

```

### 总结

- **数据库服务器**:负责管理和提供对多个数据库的访问。

- **数据库**:逻辑上独立的数据集合,每个数据库都有自己的配置和安全设置。

- **schema**:数据库内部的逻辑分隔,帮助组织和隔离数据对象。

- **表和其他对象**:存储实际数据或定义数据操作规则的具体实体。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对流层路径延迟对SAR方位压缩的影响(CSDN_20240301)

目录 仿真参数 方位向脉冲压缩与高阶多普勒参数的关系 仿真结果 2m分辨率 1m分辨率 0.5m分辨率 0.3m分辨率 0.2m分辨率 0.1m分辨率 0.05m分辨率 小结 对流层路径延迟对方位脉冲压缩的影响 仿真参数 地球参数 赤道半径&#xff08;m&#xff09; 6378140 极半径&a…

xss原理分析与剖析

001 第三方劫持 (外调J/C)&#xff1a; 本方法是我看长短短贴代码时知晓的&#xff0c;这篇文章我只是把这个攻击手法整理了出来&#xff0c;来说明这个漏洞&#xff0c;这个攻击手法并不是我发现的&#xff0c;我也不是太清楚是谁。“第三方劫持”就是把资源域的服务器的权限…

使用阿里云搭建镜像仓库

流程如图 接着登录到安装docker的客户机上 #执行如下操作 先登录 docker login --usernamealiyun2933717661 crpi-q5qqr0d39o6em66u.cn-beijing.personal.cr.aliyuncs.com Password: #输入密码 WARNING! Your password will be stored unencrypted in /root/.docker/config.j…

中国卫生健康统计年鉴Excel+PDF电子版2022年-社科数据

中国卫生健康统计年鉴ExcelPDF电子版2022年-社科数据https://download.csdn.net/download/paofuluolijiang/90028752 《中国卫生健康统计年鉴》2022年版涵盖了2006至2022年间的卫生健康相关数据&#xff0c;提供了丰富的统计信息。该年鉴包含16个部分&#xff0c;内容涉及医疗…

HBuilderX(uni-app)Vue3路由传参和接收路由参数!!

uni-app搭建小程序时候Vue3语法接收路由参数&#xff0c;去官方文档查看&#xff0c;是onLoad的option接收参数&#xff0c;我试过&#xff0c;接收不到&#xff0c;上网查各种方法也是不太行&#xff0c;最后自己琢磨出来了&#xff0c;这参数藏得还挺深&#xff01;&#xff…

手机租赁系统开发全流程解析与实用指南

内容概要 在如今快速发展的科技时代&#xff0c;手机租赁系统已经成为一种新兴的商业模式&#xff0c;非常符合当下市场需求。那么&#xff0c;在开发这样一个系统的时候&#xff0c;首先要从需求分析和市场调研开始。在这一阶段&#xff0c;你需要了解用户需要什么&#xff0…

【Compose multiplatform教程】01 创建你的多平台项目 <官网搬运>

这是 “创建带有共享逻辑和用户界面的 Compose 多平台应用” 教程的第一部分。 第一步&#xff1a;创建你的多平台项目 第二步&#xff1a;探究可组合代码 第三步&#xff1a;修改项目 第四步&#xff1a;创建你自己的应用程序 在这里&#xff0c;你将学习如何使用 Kotlin 多平…

vue2:el-select中的@change事件如何传入自定义参数

在 Element UI 中,el-select 组件用于创建一个下拉选择框。当选项发生变化时,你可以使用 @change 事件来监听这个变化。默认传入的是选中项的值(如果是多选,则传入一个数组) 但是有些时候需要传入额外的自定义参数,可以通过如下方式实现 1、template中定义事件响应函数时…

鸿蒙元服务上架

鸿蒙元服务上架 一、将代码打包成 .app 文件1. 基本需求2. 生成密钥和证书请求文件3. 申请发布证书4. 申请发布Profile5. 配置签名信息6. 更新公钥指纹7. 打包项目成 .app 文件 二、发布元服务1. 进入应用信息页面2. 上传软件包3. 配置隐私协议4. 配置版本信息5. 提交审核&…

ubuntu检测是否已安装nvidia驱动以及产品类型

nvidia-sminvidia-smi 是 NVIDIA 提供的一个命令行工具&#xff0c;用于查看和管理 NVIDIA GPU 的状态。当你运行 nvidia-smi 命令时&#xff0c;它会显示当前系统中所有 NVIDIA GPU 的状态信息&#xff0c;包括 GPU 的使用率、温度、内存使用情况等。 有8个GPU nvcc -V查看c…

UnityShaderLab 实现程序化形状(一)

1.实现一个长宽可变的矩形&#xff1a; 代码&#xff1a; fixed4 frag (v2f i) : SV_Target{return saturate(length(saturate(abs(i.uv - 0.5)-0.13)))/0.03;} 2.实现一个半径可变的圆形&#xff1a; 代码&#xff1a; fixed4 frag (v2f i) : SV_Target{return (distance(a…

MySQL-DDL之数据表操作

文章目录 一. 表的创建1. 表的创建2. 栗子 二. 查看表1. 查看数据库中的所有表2. 查看表结构 三. 删除表1. 删除表 四. 修改表结构1. 添加字段2. 修改字段① 修改字段名字② 修改字段类型 3. 删除字段4. 修改表名 数据定义语言&#xff1a;简称DDL(Data Definition Language) 一…

大语言模型(LLM)与智能机器人的应用分析

系列文章目录 前言 近年来,大型语言模型(LLM)的集成彻底改变了机器人领域,使机器人能够以人类熟练程度进行交流、理解和推理。本文探讨了 LLM 对机器人的多方面影响,并针对在不同领域利用这些模型的关键挑战和机遇进行了研究。通过将 LLM 应用程序分类并分析核心机器人元素…

【pyspark学习从入门到精通23】机器学习库_6

目录 分割连续变量 标准化连续变量 分类 分割连续变量 我们经常处理高度非线性的连续特征&#xff0c;而且只用一个系数很难拟合到我们的模型中。 在这种情况下&#xff0c;可能很难只通过一个系数来解释这样一个特征与目标之间的关系。有时&#xff0c;将值划分到离散的桶中…

Maven 安装配置(详细教程)

文章目录 一、Maven 简介二、下载 Maven三、配置 Maven3.1 配置环境变量3.2 Maven 配置3.3 IDEA 配置 四、结语 一、Maven 简介 Maven 是一个基于项目对象模型&#xff08;POM&#xff09;的项目管理和自动化构建工具。它主要服务于 Java 平台&#xff0c;但也支持其他编程语言…

使用C#通过ColorMatrix对象为图像重新着色

此示例产生了一些令人印象深刻的结果&#xff0c;但实际上非常简单。 它使用其他几个示例演示的 ImageAttribute 技术来快速操作图像的颜色。 下面的AdjustColor方法启动图像着色的过程。 // Adjust the images colors. private Image AdjustColor(Image image) {// Make the …

Flink 核心知识总结:窗口操作、TopN 案例及架构体系详解

目录 一、FlinkSQL 的窗口操作 &#xff08;一&#xff09;窗口类型概述 &#xff08;二&#xff09;不同时间语义下窗口实践 EventTime&#xff08;事件时间&#xff09; ProcessTime&#xff08;处理时间&#xff09; 二、窗口 TopN 案例解析 三、Flink架构体系 &…

如何部署FastAPI

环境&#xff1a; Win10 FastAPI 问题描述&#xff1a; 如何部署FastAPI 解决方案&#xff1a; FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;使用 Python 3.6 及更高版本。它的设计目的是提供简单且易于使用…

day10性能测试(2)——Jmeter安装环境+线程组+Jmeter参数化

【没有所谓的运气&#x1f36c;&#xff0c;只有绝对的努力✊】 目录 1、LoadRunner vs Jmeter 1.1 LoadRunner 1.2 Jmeter 1.3 对比小结 2、Jmeter 环境安装 2.1 安装jdk 2.2 安装Jmeter 2.3 小结 3、Jmeter 文件目录结构 4、Jmeter默认配置修改 5、Jmeter元件、组…

Android显示系统(08)- OpenGL ES - 图片拉伸

Android显示系统&#xff08;02&#xff09;- OpenGL ES - 概述 Android显示系统&#xff08;03&#xff09;- OpenGL ES - GLSurfaceView的使用 Android显示系统&#xff08;04&#xff09;- OpenGL ES - Shader绘制三角形 Android显示系统&#xff08;05&#xff09;- OpenGL…