本文假定你已经安装好了达梦数据库DM8。

案例要求说明

在数据库中新建立三张表,存储在TBS表空间上,信息由TEST用户管理,密码Dameng123。为了数据安全,人力资源用户HR只能修改EMPLOYEES表中的:每个员工的编号(EMPLOYEEID),职位(TITLE)和工资(SALARY)信息。HR密码设定为Dameng23。

EMPLOYEES表用户存放所有员工的信息,表结构如下:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_sql

DEPARTMENTS表用于存放所有的部门信息,表结构如下:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_sql_02

PERSON表存放该公司所有雇员、供应商、客户的姓名信息,表结构如下:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_mysql_03

实现步骤

1、连接数据库

调用manager图形化工具:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_国产化_04

以SYSDBA用户名登陆,注意端口号和创建数据库时的一致性,默认值5236:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_sql_05

 

连接数据库成功后显示如下:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_mysql_06

2、创建表空间TBS

打开表空间菜单,鼠标右键单击,选择“新建表空间”菜单:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_国产化_07

 

进入新建表空间的对话框中,输入表空间名称:TBS,并添加两个表空间数据文件,设定相关的存储路径/大小等参数。

达梦建表sql转mysql建表sql 达梦数据库怎么建表_数据库_08

 

3、建立用户TEST

建立好了TBS之后,在“管理用户”中鼠标右键,新建用户。

达梦建表sql转mysql建表sql 达梦数据库怎么建表_国产化_09

 

在“新建用户”对话框中,输入相关的信息,创建TEST用户。注意选择表空间为TBS

 

达梦建表sql转mysql建表sql 达梦数据库怎么建表_达梦建表sql转mysql建表sql_10

 

4、创建数据表EMPLOYEES

切换连接数据库用户到TEST。在TEST用户下,1、创建数据库表EMPLOYEES。2、设定指向 PERSON.PERSONID 的外键。

create table EMPLOYEES
(
         EMPLOYEEID INT not null, //非空 主键,自增列
         NATIONALNO VARCHAR(18) not null, //非空 身份证号码
         PERSONID INT not null, //非空 指向 PERSON.PERSONID 的外键
         LOGINID VARCHAR(256) not null, //非空 用户登录 ID 
         TITLE VARCHAR(50) not null,// 非空 职位
         MANAGERID INT, //空
         BIRTHDATE DATE not null, //非空 出生日期
         MARITALSTATUS CHAR(1) not null,// 非空 S=未婚 M=已婚
         PHOTO IMAGE,// 空 照片
         HAIRDATE DATE not null, //非空 入职时间
         SALARY DEC(19,4) not null,// 非空 薪资(元)
         primary key("EMPLOYEEID")
);

 

任务执行出错如下提示:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_sql_11

出现上述错误因为没有个TEST创建表的权限。重新回到SYSDBA账号下进行权限赋值。

 

重新回到TEST用户下,执行SQL语句:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_达梦建表sql转mysql建表sql_12

 

5、创建数据表DEPARTMENTS

create table DEPARTMENT 
(
DEPARTENTID INT not null,//非空 主键, 自增列
NAME VARCHAR(50) not null,//非空 部门名称
primary key("DEPARTENTID")
);

6、创建数据表PERSON

create table PERSON 
(
PERSONID INT not null,//非空 主键, 自增列,聚集索引
NAME VARCHAR(50) not null,//非空 姓名
SEX CHAR(1) not null,//非空 M=男 F=女
EMAIL VARCHAR(50) ,// 空 电子邮件地址
PHONE VARCHAR(25),// 空 电话
primary key("PERSONID")
);

 

7、设定外键

EMPLOYEES表中,EMPLOYEES.PERSONID指向 PERSON.PERSONID 的外键:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_达梦建表sql转mysql建表sql_13

完成后,刷新,可以看到如下结果:

 

达梦建表sql转mysql建表sql 达梦数据库怎么建表_达梦建表sql转mysql建表sql_14

8、建立用户HR

HR只能修改EMPLOYEES表中的:每个员工的编号(EMPLOYEEID),职位(TITLE)和工资(SALARY)信息。HR密码设定为Dameng23。

 

 

 

达梦建表sql转mysql建表sql 达梦数据库怎么建表_国产化_15

9、测试验证HR账号

第一步:先在Test账号下插入几条数据:

insert into PERSON (PERSONID,NAME,SEX)values ('88','maxiaoming','F');
insert into PERSON (PERSONID,NAME,SEX)values ('10','wuxueling','M');
insert into PERSON (PERSONID,NAME,SEX)values ('11','zhangsan','F');
insert into PERSON (PERSONID,NAME,SEX)values ('12','lisi','F');
insert into PERSON (PERSONID,NAME,SEX)values ('13','zhaoliu','F');
insert into PERSON (PERSONID,NAME,SEX)values ('14','Weiming','F');
 
insert into EMPLOYEES (EMPLOYEEID,NATIONALNO,PERSONID,LOGINID,TITLE,BIRTHDATE,MARITALSTATUS,HAIRDATE,SALARY) values ('1001','110112199709072789','88','1101','Master','1997-09-07','S','2008/5/30','12000');
insert into EMPLOYEES (EMPLOYEEID,NATIONALNO,PERSONID,LOGINID,TITLE,BIRTHDATE,MARITALSTATUS,HAIRDATE,SALARY) values ('1002','110112199809032789','10','1101','Master','1998-09-07','S','2008/5/30','15000');
insert into EMPLOYEES (EMPLOYEEID,NATIONALNO,PERSONID,LOGINID,TITLE,BIRTHDATE,MARITALSTATUS,HAIRDATE,SALARY) values ('1003','110112199909072789','11','1101','Master','1999-09-07','S','2008/5/30','18000');
insert into EMPLOYEES (EMPLOYEEID,NATIONALNO,PERSONID,LOGINID,TITLE,BIRTHDATE,MARITALSTATUS,HAIRDATE,SALARY) values ('1004','110112199609072789','12','1101','Master','1996-09-07','S','2008/5/30','19000');
insert into EMPLOYEES (EMPLOYEEID,NATIONALNO,PERSONID,LOGINID,TITLE,BIRTHDATE,MARITALSTATUS,HAIRDATE,SALARY) values ('1005','110112199509072789','13','1101','Master','1995-09-07','S','2008/5/30','20000');
insert into EMPLOYEES (EMPLOYEEID,NATIONALNO,PERSONID,LOGINID,TITLE,BIRTHDATE,MARITALSTATUS,HAIRDATE,SALARY) values ('1006','110112199409072789','14','1101','Master','1994-09-07','S','2008/5/30','22000');

执行查询语句:

select * from PERSON;
select * from EMPLOYEES;

 

结果如下图:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_sql_16

 

第二步:新建立一个数据库连接,HR用户名登陆,密码Dameng123,参考下图所示:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_达梦建表sql转mysql建表sql_17

 

第三步:更新信息:

update TEST.EMPLOYEES set EMPLOYEEID='100-1' ,TITLE = 'DBA',SALARY ='24000' where EMPLOYEEID='1001';

上述SQL执行失败,提示没有Select权限。

再回到SYSDBA用户下进行权限Select的设置。:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_sql_18

重新执行Update语句:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_sql_19

最后执行提交操作。

达梦建表sql转mysql建表sql 达梦数据库怎么建表_达梦建表sql转mysql建表sql_20

 

到test用户下,执行select操作,可以看到数据已经更新:

达梦建表sql转mysql建表sql 达梦数据库怎么建表_mysql_21