通用权限管理设计篇(二)——数据库设计

理清了对象关系之后,让我们接着来进行数据库的设计。在数据库建模时,对于N对N的 关系,一般需要加入一个关联表来表示关联的两者的关系。初步估计一下,本系统至少需要十张表,分别为:权限表、用户表、角色表、组表、用户权限关联表、用 户角色关联表、角色权限关联表、组权限关联表、组角色关联表、用户属组关联表。当然还可能引出一些相关的表。下面让我们在PowerDesigner中画出各表吧。

   各表及其关系如下:

通用权限管理设计篇(二)——数据库设计

 

   

  1.    用户表

  用户表(TUser)

  字段名称

  字段

  类型

  备注

  记录标识

  tu_id

  bigint

  pk, not null

  所属组织

  to_id

  bigint

  fk, not null

  登录帐号

  login_name

  varchar(64)

  not null

  用户密码

  password

  varchar(64)

  not null

  用户姓名

  vsername

  varchar(64)

  not null

  手机号

  mobile

  varchar(20)

 

  电子邮箱

  email

  varchar(64)

 

  创建时间

  gen_time

  datetime

  not null

  登录时间

  login_time

  datetime

 

  上次登录时间

  last_login_time

  datetime

 

  登录次数

  count

  bigint

  not null

  2.    角色表

  角色表(TRole)

  字段名称

  字段

  类型

  备注

  角色ID

  tr_id

  bigint

  pk, not null

  父级角色ID

  parent_tr_id

  bigint

  not null

  角色名称

  role_name

  varchar(64)

  not null

  创建时间

  gen_time

  datetime

  not null

  角色描述

  description

  varchar(200)

 

  3.    权限表

  权限表(TRight)

  字段名称

  字段

  类型

  备注

  权限ID

  tr_id

  bigint

  pk, not null

  父权限

  parent_tr_id

  bigint

  not null

  权限名称

  right_name

  varchar(64)

  not null

  权限描述

  description

  varchar(200)

 

  4.    组表

  组表(TGroup)

  字段名称

  字段

  类型

  备注

  组ID

  tg_id

  bigint

  pk, not null

  组名称

  group_name

  varchar(64)

  not null

  父组

  parent_tg_id

  bigint

  not null

  创建时间

  gen_time

  datetime

  not null

  组描述

  description

  varchar(200)

 

  5.    角色权限表

  角色权限表(TRoleRightRelation)

  字段名称

  字段

  类型

  备注

  记录标识

  trr_id

  bigint

  pk, not null

  角色

  Role_id

  bigint

  fk, not null

  权限

  right_id

  bigint

  fk, not null

  权限类型

  right_type

  int

  not null(0:可访问,1:可授权)

  6.    组权限表

  组权限表(TGroupRightRelation)

  字段名称

  字段

  类型

  备注

  记录标识

  tgr_id

  bigint

  pk, not null

  组

  tg_id

  bigint

  fk, not null

  权限

  tr_id

  bigint

  fk, not null

  权限类型

  right_type

  int

  not null(0:可访问,1:可授权)

  7.    组角色表

  组角色表(TGroupRoleRelation)

  字段名称

  字段

  类型

  备注

  记录标识

  tgr_id

  bigint

  pk, not null

  组

  tg_id

  bigint

  fk, not null

  角色

  tr_id

  bigint

  pk, not null

  8.    用户权限表

  用户权限表(TUserRightRelation)

  字段名称

  字段

  类型

  备注

  记录标识

  tur_id

  bigint

  pk, not null

  用户

  tu_id

  bigint

  fk, not null

  权限

  tr_id

  bigint

  fk, not null

  权限类型

  right_type

  int

  not null(0:可访问,1:可授权)

  9.    用户角色表

  用户角色表(TUserRoleRelation)

  字段名称

  字段

  类型

  备注

  记录标识

  tur_id

  bigint

  pk, not null

  用户

  tu_id

  bigint

  fk, not null

  角色

  tr_id

  bigint

  fk, not null

  10.  用户组表

  用户组表(TUserGroupRelation)

  字段名称

  字段

  类型

  备注

  记录标识

  tug_id

  bigint

  pk, not null

  用户

  tu_id

  bigint

  fk, not null

  组

  tg_id

  bigint

  fk, not null

  11.  组织表

  组织表(TOrganization)

  字段名称

  字段

  类型

  备注

  组织id

  to_id

  bigint

  pk, not null

  父组

  parent_to_id

  bigint

  not null

  组织名称

  org_name

  varchar(64)

  not null

  创建时间

  gen_time

  datetime

  not null

  组织描述

  description

  varchar(200)

 

  12.  操作日志表

  操作日志表(TLog)

  字段名称

  字段

  类型

  备注

  日志ID

  log_id

  bigint

  pk, not null

  操作类型

  op_type

  int

  not null

  操作内容

  content

  varchar(200)

  not null

  操作人

  tu_id

  bigint

  fk, not null

  操作时间

  gen_time

  datetime

  not null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值