失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 如何在达梦数据库DM8下创建新用户 表空间 数据库表结构

如何在达梦数据库DM8下创建新用户 表空间 数据库表结构

时间:2024-04-29 02:44:56

相关推荐

如何在达梦数据库DM8下创建新用户 表空间 数据库表结构

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

案例要求说明

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

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

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

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

实现步骤

1、连接数据库

调用manager图形化工具:

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

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

2、创建表空间TBS

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

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

3、建立用户TEST

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

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

4、创建数据表EMPLOYEES

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

createtableEMPLOYEES

(

EMPLOYEEID INTnotnull, //非空 主键,自增列

NATIONALNO VARCHAR(18)notnull, //非空 身份证号码

PERSONID INTnotnull, //非空 指向 PERSON.PERSONID 的外键

LOGINID VARCHAR(256)notnull, //非空 用户登录 ID

TITLE VARCHAR(50)notnull,// 非空 职位

MANAGERID INT, //空

BIRTHDATE DATEnotnull, //非空 出生日期

MARITALSTATUS CHAR(1)notnull,// 非空 S=未婚 M=已婚

PHOTO IMAGE,// 空 照片

HAIRDATE DATEnotnull, //非空 入职时间

SALARY DEC(19,4)notnull,// 非空 薪资(元)

primarykey("EMPLOYEEID")

);

任务执行出错如下提示:

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

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

5、创建数据表DEPARTMENTS

createtableDEPARTMENT

(

DEPARTENTID INTnotnull,//非空 主键, 自增列

NAME VARCHAR(50)notnull,//非空 部门名称

primarykey("DEPARTENTID")

);

6、创建数据表PERSON

createtablePERSON

(

PERSONID INTnotnull,//非空 主键, 自增列,聚集索引

NAME VARCHAR(50)notnull,//非空 姓名

SEX CHAR(1)notnull,//非空 M=男 F=女

EMAIL VARCHAR(50) ,// 空 电子邮件地址

PHONE VARCHAR(25),// 空 电话

primarykey("PERSONID")

);

7、设定外键

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

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

8、建立用户HR

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

9、测试验证HR账号

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

insertintoPERSON (PERSONID,NAME,SEX)values('88','maxiaoming','F');

insertintoPERSON (PERSONID,NAME,SEX)values('10','wuxueling','M');

insertintoPERSON (PERSONID,NAME,SEX)values('11','zhangsan','F');

insertintoPERSON (PERSONID,NAME,SEX)values('12','lisi','F');

insertintoPERSON (PERSONID,NAME,SEX)values('13','zhaoliu','F');

insertintoPERSON (PERSONID,NAME,SEX)values('14','Weiming','F');

insertintoEMPLOYEES (EMPLOYEEID,NATIONALNO,PERSONID,LOGINID,TITLE,BIRTHDATE,MARITALSTATUS,HAIRDATE,SALARY)values('1001','110112199709072789','88','1101','Master','1997-09-07','S','/5/30','12000');

insertintoEMPLOYEES (EMPLOYEEID,NATIONALNO,PERSONID,LOGINID,TITLE,BIRTHDATE,MARITALSTATUS,HAIRDATE,SALARY)values('1002','110112199809032789','10','1101','Master','1998-09-07','S','/5/30','15000');

insertintoEMPLOYEES (EMPLOYEEID,NATIONALNO,PERSONID,LOGINID,TITLE,BIRTHDATE,MARITALSTATUS,HAIRDATE,SALARY)values('1003','110112199909072789','11','1101','Master','1999-09-07','S','/5/30','18000');

insertintoEMPLOYEES (EMPLOYEEID,NATIONALNO,PERSONID,LOGINID,TITLE,BIRTHDATE,MARITALSTATUS,HAIRDATE,SALARY)values('1004','110112199609072789','12','1101','Master','1996-09-07','S','/5/30','19000');

insertintoEMPLOYEES (EMPLOYEEID,NATIONALNO,PERSONID,LOGINID,TITLE,BIRTHDATE,MARITALSTATUS,HAIRDATE,SALARY)values('1005','110112199509072789','13','1101','Master','1995-09-07','S','/5/30','20000');

insertintoEMPLOYEES (EMPLOYEEID,NATIONALNO,PERSONID,LOGINID,TITLE,BIRTHDATE,MARITALSTATUS,HAIRDATE,SALARY)values('1006','110112199409072789','14','1101','Master','1994-09-07','S','/5/30','22000');

执行查询语句:

select*fromPERSON;

select*fromEMPLOYEES;

结果如下图:

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

第三步:更新信息:

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

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

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

重新执行Update语句:

最后执行提交操作。

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

如果觉得《如何在达梦数据库DM8下创建新用户 表空间 数据库表结构》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。