您的位置:首页 > 数据库

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

2015-05-14 17:54 85 查看
让我们接着来进行数据库的设计。在数据库建模时,对于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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: