國慶前整的通用權限設計的數據庫初步設計部分,現在貼上來。
理清了對象關系之后,讓我們接著來進行數據庫的設計。在數據庫建模時,對于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
|
posted on 2007-10-06 09:37
阿蜜果 閱讀(33931)
評論(40) 編輯 收藏 所屬分類:
Open Source