达梦数据库理解

达梦数据库的逻辑结构与Oracle相似,但不同于mysql和sqlserver,没有库的概念。其结构为实例-用户-表。每个实例挂载一个数据库,用户建在实例下,且可以创建同名的模式。表空间用于管理数据存储,每个表只能属于一个表空间。模式与用户之间是1:N关系,用户通过模式创建和管理对象。数据文件是数据的物理载体。新建用户通常需要授权,实例默认有DBA、PUBLIC、RESOURCE角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

达梦数据库的逻辑结构和Oracle很相似,但和mysql、sqlserver有非常大的区别,达梦数据库没有库的概念,从上往下,依次为:实例-用户-表,具体看图;注意一对多的关系。
在这里插入图片描述建立各个对象的时候,需要搞清对象之间的关系,先建立什么,后建立什么,谁控制什么,管理什么。
这里主要简单介绍以下几个重要的概念:数据库、实例、用户、表空间、模式、表、角色、数据文件。
1、数据库
数据存储的物理介质。广义上讲任何存储数据的物理介质都可叫着数据库,例如一个word文档。但实际上,我们说数据库一般是指像MySQL,ORACLE, HBASE等之类的软件系统。这些系统除了提供数据的存储外,还提供一整套相关的工具或接口对存储的数据进行管理。达梦数据库就是这样的一种系统。
2、数据库实例
已实例化可存储数据的仓库。达梦数据库一个实例就只能挂一个数据库(即一个实例就是一个数据库),如果想建多个数据库,则需配置启动相应数量的实例。达梦的每个实例有一系列的后台进程和内存结构,这些是相互独立的。
3、用户
达梦数据库用户是建在实例下的,因为实例相互独立,所有达梦数据库不同的实例下可以有相同的用户名。另外,在达梦数据库中通过create user语句创建用户时,会同时创建一个同名的“模式”。也可以通过create schema语句单独创建模式(特别注意:在Oracle中,用户与schema是一一对应的,不能单独创建模式,要想创建模式得需通过创建一个同名用户来实现),并授权给某个已存在的用户,因此在达梦数据库中用户与模式是1:N的关系。(注:如果先通过create schema创建了模式,再通过create user创建同名用户,不能创建成功。)
4、表空间
是一个用来管理数据存储的概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。可以将表空间理解为对应一块物理存储区,专门用来存储数据文件。实例化达梦数据库时,默认会创建MAIN、ROLL、SYSTEM、TEAM及HMAIN五个表空间。ROLL、SYSTEM、TEAM表空间系统自行维护,用户所建表(如果未指定存放表空间的话)默认放在MAIN表空间。用户也可自定义表空间,然后在创建用户时指定为默认表空间;也可以在建表时通过加"tablespace SpaceName"语句动态指定该表的存储表空间。
5、模式(schema)
一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema;
一个用户还可以使用其他的schema(Oracle数据库也可通过权限管理实现访问其他schema);
创建模式不指定用户时,该模式默认为SYSDBA拥有;
在同一模式下不能存在同名对象,但在不同模式中的对象名称可以相同;
用户可以直接访问同名模式对象,但如果要要访问其他模式对象,则必须具有对象权限;
当用户要访问其他模式对象时,必须附加模式名作后缀(schema.table);
用户是用来连接数据库对象,而模式是用来创建及管理对象的。

6、表
在达梦数据库中,一个表只能属于一个表空间。
7、角色
在达梦数据库中,每个用户都有角色。它决定了该用户有什么权限,比如DBA,拥有最高权限。补充说明一点是,实例化的达梦数据库默认有3种角色:DBA, PUBLIC,RESOURCE。新建的用户只拥有PUBLIC角色,该角色几乎做不了什么,因此一般新建用户后,需要单独对他(她)进行授权。
8、数据文件
数据的物理载体。

第 1 章 结构化查询语言 DM_SQL 简介 12 1.1 DM_SQL 语言的特点 12 1.2 保留字与标识符 13 1.3 DM_SQL 语言的功能及语句 13 1.4 DM_SQL 所支持的数据类型 14 1.4.1 常规数据类型 14 1.4.2 位串数据类型 16 1.4.3 日期时间数据类型 17 1.4.4 多媒体数据类型 21 1.5 DM_SQL 语言支持的表达式 21 1.5.1 数值表达式 21 1.5.2 字符串表达式 23 1.5.3 时间值表达式 23 1.5.4 时间间隔值表达式 25 1.5.5 运算符的优先级 26 1.6 DM_SQL 语言支持的数据库模式 27 第 2 章 手册中的示例说明 28 2.1 示例说明 28 2.2 参考脚本 36 2.2.1 创建示例 36 2.2.2 创建模式及表 36 2.2.3 插入数据 43 第 3 章 数据定义语句 60 3.1 数据库修改语句 60 3.2 管理用户 63 3.2.1 用户定义语句 63 3.2.2 修改用户语句 68 3.2.3 用户删除语句 70 3.3 管理模式 71 3.3.1 模式定义语句 71 3.3.2 设置当前模式语句 73 3.3.3 模式删除语句 73 3.4 管理表空间 74 3.4.1 表空间定义语句 74 3.4.2 修改表空间语句 75 目录 3.4.3 表空间删除语句 77 3.4.4 表空间失效文件检查 77 3.4.5 表空间失效文件恢复准备 78 3.4.6 表空间失效文件恢复 78 3.5 管理 HTS 表空间 78 3.5.1 创建 HTS 表空间 79 3.5.2 删除 HTS 表空间 79 3.6 管理表 80 3.6.1 基表定义语句 80 3.6.2 基表修改语句 110 3.6.3 基 表删除语句 120 3.6.4 基表数据删除语句 121 3.7 管理索引 122 3.7.1 索引定义语句 122 3.7.2 索引修改语句 126 3.7.3 索引删除语句 128 3.8 管理位图连接索引 128 3.8.1 位图连接索引定义语句 128 3.8.2 位图连接索引删除语句 130 3.9 管理全文索引 130 3.9.1 全文索引定义语句 130 3.9.2 全文索引修改语句 132 3.9.3 全文索引删除语句 132 3.10 管理序列 133 3.10.1 序列定义语句 133 3.10.2 序列删除语句 136 3.11 管理 SQL 域 136 3.11.1 创建 DOMAIN 136 3.11.2 使用 DOMAIN 137 3.11.3 删除 DOMAIN 137 3.12 管理上下文 138 3.12.1 创建上下文 138 3.12.2 删除上下文 140 3.13 约束的启用与禁用 141 3.14 设置当前会话时区信息 141 3.15 注释语句 142 3.16 设置会话级别的 INI 参数 143 3.17 设置系统级别的 INI 参数 144 3.18 设置列生成统计信息 144 第 4 章 数据查询语句 146 4.1 单表查询 156 4.1.1 简单查询 156 4.1.2 带条件查询 158 目录 4.1.3 集函数 161 4.1.4 分析函数 165 4.1.5 情况表达式 180 4.2 连接查询 183 4.2.1 交叉连接 183 4.2.2 自然连接(NATURAL JOIN) 184 4.2.3 JOIN … USING 185 4.2.4 JOIN…ON 185 4.2.5 自连接 185 4.2.6 内连接(INNER JOIN) 186 4.2.7 外连接(OUTER JOIN) 187 4.2.8 哈希连接(HASH JOIN) 191 4.3 子查询 192 4.3.1 标量子查询 192 4.3.2 表子查询 193 4.3.3 派生表子查询 196 4.3.4 定量比较 196 4.3.5 带 EXISTS 谓词的子查询 197 4.3.6 多列表子查询 198 4.4 公用表表达式 199 4.4.1 公用表表达式的作用 201 4.4.2 公用表表达式的使用 201 4.5 合并查询结果 202 4.6 GROUP BY 和 HAVING 子句 204 4.6.1 GROUP BY 子句的使用 204 4.6.2 ROLLUP 的使用 205 4.6.3 CUBE 的使用 206 4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alinlx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值