|
国庆前整的通用权限设计的数据库初步设计部分,现在贴上来。
理清了对象关系之后,让我们接着来进行数据库的设计。在数据库建模时,对于N对N的关系,一般需要加入一个关联表来表示关联的两者的关系。初步估计一下,本系统至少需要十张表,分别为:权限表、用户表、角色表、组表、用户权限关联表、用户角色关联表、角色权限关联表、组权限关联表、组角色关联表、用户属组关联表。当然还可能引出一些相关的表。下面让我们在PowerDesigner中画出各表吧。 各表及其关系如下: 
1. 用户表 | | | | | 记录标识
| 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. 角色表 | | | | | 角色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. 组角色表 | | | | | 记录标识
| 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. 用户角色表 | | | | | 记录标识
| tur_id
| bigint
| pk, not null
| 用户
| tu_id
| bigint
| fk, not null
| 角色
| tr_id
| bigint
| fk, not null
|
10. 用户组表 | | | | | 记录标识
| tug_id
| bigint
| pk, not null
| 用户
| tu_id
| bigint
| fk, not null
| 组
| tg_id
| bigint
| fk, not null
|
11. 组织表 | | | | | 组织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
| 本文摘自:http://www.blogjava.net/amigoxie/archive/2007/10/06/150646.html
|
|