DM数据库使用(一)数据库安装及创建

一、安装部署

1.技术文档:

达梦官网文档:快速上手 | 达梦技术文档

2.安装部署

官网下载安装包安装,安装后自动安装视图化操作工具。

3.DM数据库特性

3.1 每个业务创建一个实例

参考:mysql 和 达梦 数据类型区别 达梦数据库是什么类型_mob6454cc6a68aa的技术博客_51CTO博客

3.2 DM 数据库基本逻辑

模式:一个用户可以拥有多个模式,一个模式只能属于一个用户

表空间:DM数据库中的所有对象在逻辑上都存放在表空间中,而物理上都存储在所属表空间的数据文件中

用户:创建用户时,会默认创建一个同名的模式

在进行应用开发时建议创建单独的用户和表空间,为保障数据安全,禁止使用管理员用户 SYSDBA 作为应用系统的数据库用户。

因此,需要每个业务创建一个实例,单独创建表空间,创建用户(自动创建同名的模式)。业务相关的数据表格建立在新建的模式下。

程序中连接数据库时,根据端口号连接不同的数据库,账号密码使用自己创建用户的账号密码,这样操作数据库语句就无需增加模式名,可直接操作表名。

二、创建数据库

1.创建数据库实例

1. 使用数据库配置助手;

2.前两步默认下一步,“数据库标识”页面自定义数据库名、实例名、端口号;

3. 之后默认下一步,“初始化参数”页面。

字符集根据需要设置。

字符串大小写敏感根据需要选择。当大小写敏感时,小写的标识符应用""括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,在标识符比较时也不能区分大小写。(选择大小写不敏感,之前的程序可兼容,否则标识符需要用””括起)

实例创建后参数不可更改。

4. 口令管理可输入登录密码;

5. 其他默认,点击完成;

三、创建表空间

1. 打开DM管理工具,建立连接。

2. 创建表空间

3. 创建后表空间中会增加对应表空间 

四、创建用户

 1、创建用户,用户-管理用户,右击创建用户。选择用户的表空间。

2、分配角色

3、分配权限

4、其他默认点击确定,用户列表中会增加新建用户

5、模式下会创建一个同名的模式

四、创建表

1、可以使用DM管理工具创建表格

使用工具中的“转换试图方式”工具,可以更方便查看不同模式下的表格。

2、语句创建

-- 创建表

CREATE TABLE "模式名"."表名称"(

<字段名> INT PRIMARY KEY,

<字段名> VARCHAR(15) NOT NULL,

<字段名> INT,

<字段名> INT

) storage(on "表空间");

例子:

DROP TABLE IF EXISTS "test";

CREATE TABLE "SYSDBA"."test"

(

"id" BIGINT IDENTITY(100, 1) NOT NULL,

"parent_id" BIGINT DEFAULT 0,

"order_num" INT DEFAULT 0,

"status" CHAR(1) DEFAULT '0',

"create_by" VARCHAR(64) DEFAULT '',

"create_time" DATETIME(6),

"update_by" VARCHAR(64) DEFAULT '',

"update_time" DATETIME(6),

NOT CLUSTER PRIMARY KEY("id") USING INDEX TABLESPACE "v****e" ) STORAGE(ON "MAIN", CLUSTERBTR) ;

COMMENT ON TABLE "SYSDBA"."test" IS '测试表';

COMMENT ON COLUMN "SYSDBA"."name"."dept_id" IS '测试名称';

注意点:

  1. DM中使用””括住表名、字段名;
  2. 创建表时注意选择表空间;
  3. BIGINT,INT,SMALLINT,DOUBLE后面不带数字;
  4. mysql中的longblob, 对应DM数据库中的blob;
  5. 外键可以先建好表格后,通过DM管理工具中右击修改,管理外键;
  6. 如果列中数据包含单引号’,使用单引号’转义;
  7. 自增列insert时无法插入具体数据,会自增。如果需要从特定的某个主键值开始,则使用以下语句:

 --  开启自动列可插入

SET IDENTITY_INSERT "模式"."表名" ON WITH REPLACE NULL; 

-- 插入数据,数据列名称必须写

insert into "模式"."表名"("id", "name")

VALUES (100,'aa'); 

 --  关闭自动列可插入

SET IDENTITY_INSERT "模式"."表名" OFF;

  1. insert执行后,必须使用commit提交才能生效;
  2. 建表时需要选择对应的模式,对应的用户才能够访问到。如果需要迁移到另一个模式下,使用DTS数据迁移工具;(迁移时注意选择大小写不敏感)
  3. find_in_set 函数,2022年10月以后的dm8版本已经支持了该函数;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值