达梦数据库使用图形化界面建简单模式、表、列、外键及索引
1.用SYSDBA用户打开视图(./manager)选择DMTES模式-表-新建表2.在表名中填写DEPT再右边点击 “+ ”进行列表添加3.右击DEPT表选择浏览数据数据类型4.数据内容填写,在按左边保存图标5.通过/dm8/bin/./disql 进行脚本导入6.外键约束及检查约束建立外键约束外键约束内容【EMP_ID为EMP表的外键,参照列为DEPT表的DEPT_ID列】...
一、DM图形化工具概述
DM 管理工具(manager)是数据库自带的图形化工具,可以方便快捷的对数据进行管理。在网络允许的条件下,可通过单个管理工具,对多个数据实例进行管理,方便简化 DBA 对数据库的日常运维操作要求。DM其它图形化工具包括:console、dts、dmservice、monitor等。本次涉及的工具是manager前期准备工作
二、DM图形化界面建简单模式、表、外键、索引
说明:
模式:定义语句创建一个架构,并且可以在概念上将其看作是包含表、视图和权限定义的对象。在 DM 中,一个用户可以创建多个模式,一个模式中的对象(表、视图)可以被多个用户使用
表:是数据库中数据存储的基本单元,是对用户数据进行读和操纵的逻辑实体
外键:是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键
索引: 是一种数据库对象,通过指针加速查询速度,通过快速定位数据
的方法,减少磁盘 IO,索引与表相互独立,服务器自动使用和维护索引,索引占空间。达梦支持的索引: 二级索引,位图索引,唯一索引,复合索引,函数 索引,分区索引等。
1)前期准备工作(本次是通过xshell工具实现)
注释:Xshell是Windows下一款功能非常强大的安全终端模拟软件,支持Telnet、Rlogin、SSH、SFTP、Serial 等协议,可以非常方便的对linux主机进行远程管理
配置:系统为麒麟系统,该系统用户名:root 密码:Dameng123、dmdba 密码:Dameng123,本地IP:192.168.59.1,麒麟系统IP:192.168.59.68,端口号:22
1.首先启动xshell
![]()
2.其次启动Xmanager - Passive
注释:如果通过xshell远程启动图形画工具,需要启动该工具
![]()
3.通过xshell进入系统系统
![]()
4.输入uname -ra 获取系统信息
![]()
5.输入cat/proc/cpuinfo命令,查看硬件信息

6.输入df -h 查看系统磁盘状态

注释:安装DM数据库时tmpfs要大于1G,否则可能安装时会报错
7.输出whoami命令查看当前用户
![]()
当然我们也可以直接进到麒麟系统,启动终端实现相关操作,这就不逐一细说。
2)数据库建表图形界面启动步骤
1.在操作系统【root】 用户下执行ehco $DISPLAY 命令,查看端口,后续步骤需要
![]()
2.执行export DISPLAY=192.168.59.1:0.0 及xhost +
注释:192.168.59.1 是Xshell所在设备的IP ,0.0是上图查到的端口:0.0

3. 切换dmdba用户
![]()
4.在dmdba用户下执行export DISPLAY=192.168.59.1:0.0及xhost + 进行图形化启动前最后配置

5.通过xshell 远程启动 manager 达梦管理工具执行如下命令:
进入达梦8工具目录 cd /dm8/tool

在[tool]目录运行: ./manager
![]()
注释:通过Xshell启动DM管理工具,首先需在远端启动Xmanager-Passive工具;如果非Xshell启动DM管理工具,可在麒麟系统直接启动
6.【manager】链接数据库实例。进入manager 管理工具登陆界面,点击【LOCALHOST(SYSDBA)】, 在右边填写数据库主机IP【192.168.59.68】、端口号【5238】、用户名【SYSDBA】和密码[Dameng123],如下图显示:

3)DM图形化画界面新建模式及表
通过dmdba用户,进入manager管理工具图形界面
1.图形界面建立新模式【TEST】
说明:
A.在创建新的模式时,如果已存在同名的模式,或当存在能够按名字不区分大小写匹配的同名用户时(此时认为模式名为该用户的默认模式),那么创建模式的操作会被跳过,而如果后续还有 DDL 子句,根据权限判断是否可在已存在模式上执行这些 DDL 操作;
B.建模式用户必须具有 DBA 或 CREATE SCHEMA 权限;
C.模式一旦定义,该用户所建基表、视图等均属该模式,其它用户访问该用户所建立的基表、视图等均需在表名、视图名前冠以模式名;而建表者访问自己当前模式所建表、视图时模式名可省;若没有指定当前模式,系统自动以当前用户名作为模式名
右键【模式】,再左键点击【新建模式】

输入模式名称【TEST】和模式拥有者【DMTEST】
注释:选择用户是指该模式属于相关用户权限

命令:create schema “TEST” authorization “DMTEST”;
2.图形界面创建新表
点击【TEST】模式,点击左边小三角标识,再右键【表】,点击【新建表】

右击选择【DMTEST】模式里面的【表】,在左点击【新建表】

在新建表中【表名】填写【DEPT】。并在右边点击“+”添加列(其中DEPT_ID 为主键)
注释:
【主键】:定义唯一的,不可重复
【列名】:定义字段名称,使维护人员通俗易懂
【数据类型】:定义数据所属类型(INTEGER、VARCHAR、INT、FLOAT等)
【非空】:定义数数据不能是空值,要不无法写入
【精度】:储存十进制数的总位数。

命令:CREATE TABLE "TEST"."DEPT"
(
"DEPT_ID" INTEGER NOT NULL,
"DEPT_NAME" VARCHAR(30) NOT NULL,
"LOCATION_ID" INTEGER NOT NULL,
"LOCATION_ADDR" VARCHAR(30) NOT NULL,
CLUSTER PRIMARY KEY("DEPT_ID")) STORAGE(ON "TEST", CLUSTERBTR) ;
3.图形界面数据录入数据(界面直接手工录入实现)
右击【DEPT】表选择【浏览数据】,可以实现图形化界面数据手工输入

双击【浏览数据库】,弹出专题页面,具体内容如下图

双击【!NOT NULL】可进行数据录入,数据录入完成后,需点击【保存】标识。

【保存】完成后,该图标变为灰色。
![]()
通过 SELECT * FROM TEST.DEPT ,查看录入信息

4.图形界面数据录入数据(图形界面打开脚本文件实现)
左键manager工具左上角【文件】,选择【打开】

点击【打开】,弹出界面框,选择需要导入的a.sql 脚本文件,如下图

在【manager】工具出现 a.sql 查询界面,之后执行绿色箭头按钮进行数据导入,之后提示执行成功


验证数据导入情况。输入:select * from TEST.DEPT,数据已经存在,具体如下图

5.通过disql 语句实现脚本导入数据
注释:当导入数据量过大时,【图形界面数据录入(界面直接手工录入实现)】效率太慢,然而【图形界面数据录入(图形界面打开脚本文件实现)】可能出现manager无法打开情况,这时间建议通过DISQL方式实现。由于本次是针对图形化详细介绍,因此,就不对DISQL进行描述。
6.验证主键ID号相同时,数据能否录入
如果【DEPT_ID】为主键,新录入数据【DEPT_ID】号不能与已存在的号相同,如是相同就会报错,如下图

命令:Insert into TEST.DEPT values(‘1’,’WWQ’,’202217’,’TNNT’);
Commit;
注释:如上图所示,新增加数据【DEPT_ID 】 等于1时,出现报错
7.依据上面描述创建【EMP】表及列和内容,在此就不一一诉说,具体内容如下图(其中EMP_ID为主键)

命令(建表):CREATE TABLE "TEST"."EMP"
(
"EMP_ID" INTEGER NOT NULL,
"EMP_NAME" VARCHAR(20) NOT NULL,
"EMAIL" VARCHAR(50) NOT NULL,
"PHONE_NUM" VARCHAR(20) NOT NULL,
"BIRTHDAY" DATE NOT NULL,
"HIRE_DATE" DATE NOT NULL,
"JOB_ID" VARCHAR(10) NOT NULL,
"SALARY" INTEGER NOT NULL,
"DEPT_ID" INTEGER NOT NULL,
CLUSTER PRIMARY KEY("EMP_ID"))STORAGE(ON "TEST", CLUSTERBTR) ;
命令(数据插入):
Insert into "TEST"."EMP" ("EMP_ID","EMP_NAME","EMAIL","PHONE_NUM","BIRTHDAY","HIRE_DATE","JOB_ID","SALARY","DEPT_ID") values (1, 'LM', '188@163.COM', '1889988178', '2000-02-03', '2002-03-03', '1001', 9000, 2);
insert into "TEST"."EMP" ("EMP_ID","EMP_NAME","EMAIL","PHONE_NUM","BIRTHDAY","HIRE_DATE","JOB_ID","SALARY","DEPT_ID") values (2, 'TM', '187@163.COM', '1889988179', '2000-09-03', '2002-06-03', '1002', 12000, 1);
insert into "TEST"."EMP" ("EMP_ID","EMP_NAME","EMAIL","PHONE_NUM","BIRTHDAY","HIRE_DATE","JOB_ID","SALARY","DEPT_ID") values (3, 'WQ', '182@163.COM', '1889988177', '2001-09-03', '2002-01-03', '1003', 10800, 3);
insert into "TEST"."EMP" ("EMP_ID","EMP_NAME","EMAIL","PHONE_NUM","BIRTHDAY","HIRE_DATE","JOB_ID","SALARY","DEPT_ID") values (4, 'PT', '182@163.COM', '1889988172', '2000-09-03', '2002-01-03', '1003', 11800, 3);
insert into "TEST"."EMP" ("EMP_ID","EMP_NAME","EMAIL","PHONE_NUM","BIRTHDAY","HIRE_DATE","JOB_ID","SALARY","DEPT_ID") values (5, 'PTW', '186@163.COM', '1889988172', '2000-09-03', '2002-01-03', '1003', 11800, 5);
Commit:
4)DM图形化界面新建外键
1.定义【DEPT_ID】列为EMP表的外键,并参考列为【DEPT】表的【DEPT_ID】列
右键点击【EMP】表,选择【修改】,进入表修改界面(如果建表时,未定义主键,可以用次方式实现)。

选择【EMP_ID】,再在其【主键】项打钩,完成设置。

命令:alter table "TEST"."EMP" add primary key("EMP_ID");
右键点击【DEPT】表,把【DEPT_ID】列名设置为主键(如果建表时,未定义主键,可以用次方式实现)。

命令:alter table "TEST"."DEPT" add primary key("DEPT_ID");
左击【EMP】表旁边三角形图标,右击【键】,再左键【新建外键】

点击【新建外键】,弹出相关界面,在【外键名】填写 WJ1001,并在【外键选型】左框选择【DEPT_ID(INTEGER)】,再点击中间三角图标,把其迁移到右框中。

把【参照表】下框【DEPT_ID-(INTEGER)】,移动到右框中

当【键】下面出现,下列图标表示外键建立完成。

命令:alter table "TEST"."EMP" add constraint "WJ1001" foreign key("DEPT_ID") references "TEST"."DEPT"("DEPT_ID");
2. 验证外键功能是否可以实现
通过语句,查看【DEPT】表【DEPT_ID】列存在5个ID号;如果我们对【EMP】表进行路径录入时,该表会检查【DEPT_ID】的ID号是否与包含在【DEPT】表【DEPT_ID】列的5个ID号内,如果包含数据可以录入,反之系统就会报错,具体如下图演示:
【DEPT】表【DEPT_ID】列存在5个ID号

数据正常录情况如下

录入报错情况如下

5)图形化界面新建简单索引
在列EMP.EMP_NAME 添加索引 IND_EMP_NAME
【EMP】表的三角形图标,再右击【索引】,之后点击【新建索引】

界面弹出【新建索引】对话框,在【索引名称】填写IND_EMP_NAME,在【索引列】把左边EMP_NAME迁移到右边框中,具体如下图

验证是否已建立索引
点击【EMP】表下的【索引】,如有【IND_EMP_NAME】表示建立成功。

命令:create index "IND_EMP_NAME" on "DMTEST"."EMP"("EMP_NAME") storage(initial 1,next 1,minextents 1);
--------------------------------------------------------------------------------------------------------
更多推荐



所有评论(0)