【openGauss实战3】基本概念及语法

news2024/11/17 14:47:05

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

  • 前言
    • 📣 1.基本概念
      • ✨ 1.1 数据库(Database)
      • ✨ 1.2 数据块(Block)
      • ✨ 1.3 行(Row)
      • ✨ 1.4 列(Cloumn)
      • ✨ 1.5 表(Table)
      • ✨ 1.6 数据文件(Datafile Segment)
      • ✨ 1.7 表空间(Tablespace)
      • ✨ 1.8 模式(schema)
      • ✨ 1.9 事务(Transaction)
    • 📣 2.语法

前言

本篇介绍了openGauss基本概念及语法的使用技巧

📣 1.基本概念

openGauss是一款关系型数据库管理系统(RDBMS)。
关系型数据库是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据。

在这里插入图片描述
图 1 openGauss系统架构

openGauss的数据库节点负责存储数据,其存储介质也是磁盘。逻辑视角下,可以看到数据库节点上对象包含表空间、数据库、数据文件、表、数据块,如数据库逻辑结构图2所示:

在这里插入图片描述
图 2 数据库逻辑结构图

✨ 1.1 数据库(Database)

数据库是存储在一起的相关数据的集合,这些数据可以被访问,管理以及更新。
数据库用于管理各类数据对象,与其他数据库隔离。创建数据对象时可以指定对应的表空间,如果不指定相应的表空间,相关的对象会默认保存在PG_DEFAULT空间中。
数据库管理的对象可分布在多个表空间上,如图3所示

在这里插入图片描述
图 3 openGauss表空间信息

✨ 1.2 数据块(Block)

数据块是数据库管理的基本单位,默认大小为8KB。

✨ 1.3 行(Row)

一行(元组,或记录)是一组相关的数据,例如一条生产履历信息的数据。

✨ 1.4 列(Cloumn)

每一列被当作是一个字段。每个字段中的值代表一种类型的数据。例如,一个表可能有3个字段,姓名、专业和班号。这个表就会有3列,一列代表姓名,一列代表专业,一列代表班号。表中的每一行包含3个字段的内容,姓名字段包含姓名,专业字段包含专业,班号字段包含班号,如图表1所示。

在这里插入图片描述
表1 学生信息表

✨ 1.5 表(Table)

表是由行与列组合成的,是数据库中用来存储数据的对象,是整个数据库系统的基础。
每张表只能属于一个数据库,也只能对应到一个表空间。每张表对应的数据文件必须在同一个表空间中。

✨ 1.6 数据文件(Datafile Segment)

通常每张表只对应一个数据文件。如果某张表的数据大于1GB,则会采用分区的方式分为多个数据文件存储。

✨ 1.7 表空间(Tablespace)

在openGauss中,表空间是一个目录,在物理数据和逻辑数据间提供了抽象的一层,为所有的数据库对象分配存储空间,里面存储的是它所包含的数据库的各种物理文件。
由于表空间是一个目录,仅是起到了物理隔离的作用,其管理功能依赖于文件系统。
表空间可以存在多个,创建好之后,创建数据库对象时可以指定该对象所属的表空间。

✨ 1.8 模式(schema)

数据库对象集,包括逻辑结构,例如表、视图、序、存储过程、同义名、索引及数据库链接。
SCHEMA又称作模式。通过管理SCHEMA,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的SCHEMA下而不引起冲突。

在这里插入图片描述

✨ 1.9 事务(Transaction)

数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。
同时,事务也是恢复和并发控制的基本单位,必须具备ACID特性,即:
1)原子性(Atomicity):一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。
2)一致性(Consistency):事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
3)隔离性(Isolation):一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
4)持久性(Durability):持久性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

📣 2.语法

默认情况下,数据库安装成功,登录后,可以使用\help语句查看所有openGauss的SQL语法。
[root@jeames ~]# gsql -d postgres -p 5434
openGauss=# \help

在这里插入图片描述

\h name命令可以查看具体的语法信息,如下图所示

在这里插入图片描述
接下来我们详细介绍一下SQL语句:

结构化查询语言(SQL)是用于访问和处理关系型数据库的标准计算机语言。
SQL提供了各种任务的语句,包括:
查询数据。
在表中插入,更新和删除行。
创建,替换,更改和删除对象。
控制对数据库及其对象的访问。
保证数据库的一致性和完整性。

SQL语言由用于处理数据库和数据库对象的命令和函数组成:
DDL(data definition language)数据定义语言,用户定义和管理sql数据库中所有对象的语言。 主要命令:create、alter、drop等
DML(data manipulation language)数据操作语言。 主要命令:select、update、insert、delete等
DCL(date control language)数据库控制功能。主要命令:grant、deny、revoke、commit、savepoint、rollback等

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

创建Vuex时没有$store的解决

为什么会出现这个问题呢?就是因为你的vuex安装的版本是最新版本 vue3版本对应的是 vue2 vue4版本对应的是 vue3 如果你在vue2项目中,所有的配置好了,组件中就是没有$store属性,那么很有可能是安装的vuex插件版本过高 store…

ArcGIS Pro脚本工具(16)——要素类转txt坐标文件

之前介绍过txt坐标文件如何转为GIS要素类 ArcGIS Pro脚本工具(8)——txt坐标文件转shp_学学GIS的博客-CSDN博客_txt转shp国土部门给过来的数据经常需要转换,比如土地报批和高标准农田的数据经常给一个txt文件过来,不能直接在GIS软…

Python状态机(transitions模块)

文章目录1、为什么要用状态机?2、状态机是什么?3、状态图是什么?4、transitions是什么?官网安装使用状态机必须定义的两个要素二、实战应用1、规划state、transitionstate:状态节点的说明transition:状态转…

昆腾微冲刺创业板上市:计划募资5亿元,股权结构较为分散

撰稿|汤汤 来源|贝多财经 近日,北京昆腾微电子股份有限公司(下称“昆腾微”)在深圳证券交易所递交招股书,准备在创业板上市。本次冲刺上市,昆腾微计划募资5.07亿元,拟用于音频SoC芯片升级、产业化项目&am…

(5)go-micro微服务domain层开发

文章目录一 domain层介绍说明二 model层开发三 repository层开发四 service层开发五 最后一 domain层介绍说明 domain层专注于数据库数据领域开发,我们把数据库相关操作全部写在domain层。 model层:数据表字段定义与开发 repository层:数据…

JIMDB 大KEY治理

大KEY判定条件 单个String类型的Key大小达到20KB并且OPS高 单个String达到100KB 集合类型的Key总大小达到1MB 集合类型的Key中元素超过8000个 大KEY影响 严重影响 QPS 、TP99 等指标,对大Key进行的慢操作会导致后续的命令被阻塞,从而导致一系列慢查询。…

前端——周总结系列一

1 JS数据类型判断 typeof:判断JS数据类型,返回一个字符串类型 注:在 javaScript 中,如果二进制的前三位都为 0 的话,会判定为是 Object 类型。 null 的存储二进制是 000 ,也是前三位,所以系统…

面试官:说说Event Loop事件循环、微任务、宏任务

前言 JS是一门单线程语言,单线程就意味着,所有的任务需要排队,前一个任务结束,才会执行下一个任务。这样所导致的问题是:如果JS执行的时间过长,这样就会造成页面的渲染不连贯,导致页面渲染加载…

SOLIDWORKS有哪些好用的插件丨慧德敏学

SOLIDWORKS软件本身就带有很多插件,比如ToolBox、motion、routing、simulation等,都是直接嵌入到软件内部使用的。同时由于其API接口是完全开放的,因此还支持第三方插件的使用,SW第三方插件有很多,常用的有比如SolidKi…

React源码解读之ReactFiber

开始之前,先讲一下该文章能帮你解决哪些问题? facebook为什么要使用重构ReactReact Fiber是什么React Fiber的核心算法 - react是如何中断重启任务的react fiber部分源码简化版 前言 该文章涉及的源码部分基于React v17.0.2 why React Fiber 浏览器…

Spring常见面试题

Spring面试问题汇总①⭐Spring是什么对AOP的理解⭐对IOC的理解⭐如何实现IOC容器SpringBoot、SpringMVC、Spring的区别⭐⭐ApplicationContext和BeanFactory的区别⭐⭐⭐SpringBean的生命周期⭐⭐解释下Spring支持的几种bean的作用域⭐⭐Spring框架中的单例bean是线程安全的吗&…

数据库视图注意事项

视图(view)是一种虚拟存在的表,其内容由查询定义 本身并不包含数据。 它是作为一个select语法查询到的结果集,以此为基表创建的一张虚拟表 基表 行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成 …

【ReadPaper学术交流会】结构重参数化

提出结构重参数化的论文RepVGG 重参数化已经用在了各个领域的各个方面:比如YOLO-V6,YOLO-V7,可以autoperform YOLO-V6和YOLO-V7的一个PP-YOLO 1 我们想要一个像VGG一样的全是3*3卷积,一卷到底的结构,这样的结构并行度高、速度快而且省显存。…

剑指offer----C语言版----第十三天

目录 1. 删除链表的节点 1.1 题目描述 1.2 Leetcode解题的思路一(双指针) 1.3 Leetcode解题的思路二(单指针) 1.4 剑指offer上的原题 1. 删除链表的节点 原题链接:剑指 Offer 18. 删除链表的节点 - 力扣&#xff…

【python】类型约束(类型提示的作用)

文章目录前言一、类型系统1.动态类型2.静态类型3.鸭子类型二、变量注解1.变量注解的语法2.注解鸭子类型三、复杂(复合型)变量的注解1.引入2.难题3. Any的妙用4.类型变量5.类型Optional总结前言 python是一种解释型强类型动态语言python3.5以前是没有类型…

【Python】基于高德地图API的坐标转换函数

【Python】基于高德地图API的坐标转换函数 API申请: lbs.amap.com/api/webservice/guide/api/convert/产品介绍 坐标转换是一类简单的HTTP接口,能够将用户输入的非高德坐标(GPS坐标、mapbar坐标、baidu坐标)转换成高德坐标。 …

【学习笔记之Linux】权限之目录权限与默认权限

权限概念 一件事是否允许被谁“做”,这就是权限。权限 用户 文件属性。   在Linux上,用户分为普通用户和root。root是超级管理员 ≈ 天王老子,只能够有一个。root的命令提示符是#;普通用户通过root创建,可以有多个…

【Android安全】Protobuf原理与解析

protobuf 简介 抓包时看到header中有这个: content-type: application/x-protobuf说明包的content是以protobuf格式编码的 关于protobuf的介绍,可以参考: https://techkranti.com/what-is-protobuf-explained-for-hackers/ protobuf 的背…

C++——类和对象(一)

目录 一. 面向过程和面向对象 二. 类的引入 三. 类的定义 1.结构 2.类的作用域 3.类的两种定义方式 四. 类的访问限定符及封装 1.引入 2.访问限定符 3.封装 五. 类的实例化 六. 类对象模型 七. this指针 1.this指针的引出 2.this指针的特性 一. …

JavaScript设计模式之面向对象编程

为了深入地学习 javascript ,奔着一名标准 Web 开发人员的标准,想要深入了解一下面向对象的编程思想,提高自己模块化开发的能力,编写可维护、高效率、可拓展的代码,最近一直拜读 《JavaScript设计模式》 ,对…