关于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支持分布式版和集中式版实例。分布式版能够支撑较大的数据量,且提供了横向扩展的能力,可以通过扩容的方式提高实例的https://support.huaweicloud.com/productdesc-gaussdb/gaussdb_01_006.html

 

fc67deaf0b9341e5892dfdf7e2266c72.png

 

GaussDB社区_华为云GaussDB_开发者社区_华为云华为云数据库GaussDB社区,带您免费体验GaussDB数据库服务https://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数据库逻辑结构特性不一致。https://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_华为云https://support.huaweicloud.com/gaussdb/index.html

 

六、什么是数据库的段segment

434e351343604530ad3b8281e8fa1ba7.png

67dc36e0c9994730b0d457ffbd304bec.png 

 

七、“||”操作符在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.mzph.cn/pingmian/63590.shtml

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

相关文章

【CKA】Kubernetes(k8s)认证之CKA考题讲解

CKA考题讲解 0.考试101 0.1 kubectl命令⾃动补全 在 bash 中设置当前 shell 的⾃动补全&#xff0c;要先安装 bash-completion 包。 echo "source <(kubectl completion bash)" >> ~/.bashrc还可以在补全时为 kubectl 使⽤⼀个速记别名&#xff1a; al…

第4章:颜色和背景 --[CSS零基础入门]

在 CSS 中,颜色和背景属性是用于美化网页元素的重要工具。你可以通过多种方式定义颜色,并且可以设置元素的背景颜色、图像、渐变等。以下是关于如何在 CSS 中使用颜色和背景的一些关键点和示例。 1.颜色表示法 当然!以下是使用不同颜色表示法的 CSS 示例,包括 RGB、RGBA、…

linux-12 关于shell(十一)ls

登录系统输入用户名和密码以后&#xff0c;会显示给我们一个命令提示符&#xff0c;就意味着我们在这里就可以输入命令了&#xff0c;给一个命令&#xff0c;这个命令必须要可执行&#xff0c;那问题是我的命令怎么去使用&#xff0c;命令格式有印象吗&#xff1f;在命令提示符…

java+ssm+mysql校园物品租赁网

项目介绍&#xff1a; 使用javassmmysql开发的校园物品租赁网&#xff0c;系统包含管理员、用户角色&#xff0c;功能如下&#xff1a; 管理员&#xff1a;用户管理&#xff1b;物品管理&#xff08;物品种类、物品信息、评论信息&#xff09;&#xff1b;订单管理&#xff1…

肝了半年,我整理出了这篇云计算学习路线(新手必备,从入门到精通)

大家好&#xff01;我是凯哥&#xff0c;今天给大家分享一下云计算学习路线图。这是我按照自己最开始学习云计算的时候的学习路线&#xff0c;并且结合自己从业多年所涉及的知识精心总结的云计算的思维导图。这是凯哥精心总结的&#xff0c;花费了不少精力哦&#xff0c;希望对…

31.下一个排列 python

下一个排列 题目题目描述示例 1&#xff1a;示例 2&#xff1a;示例 3&#xff1a;提示&#xff1a;题目链接 题解解题思路python实现代码解释&#xff1a;提交结果 题目 题目描述 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如&#xff0c;arr [1,2,3…

【OpenCV】平滑图像

二维卷积(图像滤波) 与一维信号一样&#xff0c;图像也可以通过各种低通滤波器&#xff08;LPF&#xff09;、高通滤波器&#xff08;HPF&#xff09;等进行过滤。LPF 有助于消除噪音、模糊图像等。HPF 滤波器有助于在图像中找到边缘。 opencv 提供了函数 **cv.filter2D()**&…

springSecurity自定义登陆接口和JWT认证过滤器

下面我会根据该流程图去自定义接口&#xff1a; 我们需要做的任务有&#xff1a; 登陆&#xff1a;1、通过ProviderManager的方法进行认证&#xff0c;生成jwt&#xff1b;2、把用户信息存入redis&#xff1b;3、自定义UserDetailsService实现到数据库查询数据的方法。 校验&a…

PowerShell install 一键部署postgres17

postgres 前言 PostgreSQL 是一个功能强大的开源对象关系数据库系统,拥有超过 35 年的积极开发经验 这为其赢得了可靠性、功能稳健性和性能的良好声誉。 通过官方文档可以找到大量描述如何安装和使用 PostgreSQL 的信息。 开源社区提供了许多有用的地方来熟悉PostgreSQL, 了…

如何在 IntelliJ IDEA 中为 Spring Boot 应用实现热部署

文章目录 1. 引言2. 准备工作3. 添加必要的依赖4. 配置 IntelliJ IDEA4.1 启用自动编译4.2 开启热部署策略 5. 测试热部署6. 高级技巧7. 注意事项8. 总结 随着现代开发工具的进步&#xff0c;开发者们越来越重视提高生产力的特性。对于 Java 开发者来说&#xff0c;能够在不重启…

Spring Boot中实现JPA多数据源配置指南

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;本文详细介绍了在Spring Boot项目中配置和使用JPA进行多数据源管理的步骤。从引入依赖开始&#xff0c;到配置数据源、创建DataSource bean、定义实体和Repository&#xff0c;最后到配置事务管理器和使用多数据…

如何配置Github并在本地提交代码

前提: 可以流畅访问github, 需要一些上网技巧, 这就自行处理了 申请一个github账号 Github官网地址 首先就是邮箱注册啦, github没有对邮箱的限制, 只要是能收邮件的就ok, qq邮箱, 163等都可以使用. 然后和普通注册账号一样, 一路填写需要的信息, 验证邮箱即可. 如何新增代…

详细聊聊 Spring Cloud for Amazon Web Services

Spring Cloud for Amazon Web Services&#xff08;简称 Spring Cloud AWS&#xff09;是 Spring Cloud 生态系统中用于与亚马逊网络服务&#xff08;AWS&#xff09;集成的一个重要模块。 Spring Cloud AWS 为在 AWS 上构建和部署微服务应用提供了一系列便利的功能和集成点。…

OpenAI 12Days 第二天 强化微调(RFT):推动语言模型在科学研究中的应用

OpenAI 12Days 第二天 强化微调&#xff08;RFT&#xff09;&#xff1a;推动语言模型在科学研究中的应用 文章目录 OpenAI 12Days 第二天 强化微调&#xff08;RFT&#xff09;&#xff1a;推动语言模型在科学研究中的应用RFT的工作原理与应用领域案例研究&#xff1a;基因突变…

21个Python脚本自动执行日常任务(2)

引言 作为编程领域摸爬滚打超过十年的老手&#xff0c;我深刻体会到&#xff0c;自动化那些重复性工作能大大节省我们的时间和精力。 Python以其简洁的语法和功能强大的库支持&#xff0c;成为了编写自动化脚本的首选语言。无论你是专业的程序员&#xff0c;还是希望简化日常工…

关于信号隔离转换器

isolate converter是隔离转换器‌。它是一种在电子电路中用于实现电路隔离、电压转换或信号隔离的设备‌。隔离转换器能在很多场合发挥关键作用&#xff0c;比如可以保护电路、提高安全性&#xff0c;还能帮助不同电压或信号之间的转换与传递‌。 ‌一、产品概述‌ ‌简介‌&a…

2.linux中调度kettle

一.准备转换&#xff0c;等会在linux中用 1.添加excel输入组件&#xff0c;并添加对应的文件 2.添加列拆分为多行组件 3.添加文本文件输出组件 4.保存转换 二.linux安装java 1.把jdk-8u144-linux-x64.tar.gz上传到linux的/lx目录下 2. 解压jdk包&#xff0c;然后配置环境变量…

图的割点、割边(Tarjan算法)

深度优先搜索的利用。 在一个无向连通图中&#xff0c;如果删掉某个顶点后&#xff0c;图不再连通&#xff08;即任意两点之间不能互相到达&#xff09;&#xff0c;我们称这样的顶点为割点。 在一个无向连通图中&#xff0c;如果删掉某条边后&#xff0c;图不在连通&#xff0…

【毕业设计选题】深度学习类毕业设计选题参考 开题指导

目录 前言 毕设选题 开题指导建议 更多精选选题 选题帮助 最后 前言 大家好,这里是海浪学长毕设专题! 大四是整个大学期间最忙碌的时光&#xff0c;一边要忙着准备考研、考公、考教资或者实习为毕业后面临的升学就业做准备,一边要为毕业设计耗费大量精力。学长给大家整…

Java 在Json对象字符串中查找和提取特定的数据

1、在处理JSON数据时&#xff0c;需要提出个别字段的值&#xff0c;通过正则表达式提取特定的数据 public static void main(String[] args) {//定义多个JSON对象字符串类型&#xff0c;假设每个对象有a,b,c 字段String strJson "{\"a\":1.23,\"b\"…