通用权限管理设计篇(二)——数据库设计2011-08-14 blogjava 阿蜜果理清了对象关系之后,让我们接着来进行数据库的设计。在数据库建模时,对于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) | |