通用許可權管理設計篇(二) 資料庫設計

2021-08-25 12:48:35 字數 4147 閱讀 5089

理清了物件關係之後,讓我們接著來進行資料庫的設計。在資料庫建模時,對於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

intnot 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

intnot 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

intnot 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

intnot null

操作內容

content

varchar(200)

not null

操作人tu_id

bigint

fk, not null

操作時間

gen_time

datetime

not null

通用許可權管理設計篇(二) 資料庫設計

理清了物件關係之後,讓我們接著來進行資料庫的設計。在資料庫建模時,對於n對n的 關係,一般需要加入乙個關聯表來表示關聯的兩者的關係。初步估計一下,本系統至少需要十張表,分別為 許可權表 使用者表 角色表 組表 使用者許可權關聯表 用 戶角色關聯表 角色許可權關聯表 組許可權關聯表 組角色關聯表 使用...

通用許可權管理設計篇(二) 資料庫設計

理清了物件關係之後,讓我們接著來進行資料庫的設計。在資料庫建模時,對於n對n的關係,一般需要加入乙個關聯表來表示關聯的兩者的關係。初步估計一下,本系統至少需要十張表,分別為 許可權表 使用者表 角色表 組表 使用者許可權關聯表 使用者角色關聯表 角色許可權關聯表 組許可權關聯表 組角色關聯表 使用者...

通用許可權管理設計篇(二) 資料庫設計

理清了物件關係之後,讓我們接著來進行資料庫的設計。在資料庫建模時,對於n對n的 關係,一般需要加入乙個關聯表來表示關聯的兩者的關係。初步估計一下,本系統至少需要十張表,分別為 許可權表 使用者表 角色表 組表 使用者許可權關聯表 用 戶角色關聯表 角色許可權關聯表 組許可權關聯表 組角色關聯表 使用...