天天看點

分享一個簡單的基礎資料庫模型

一個程式一個系統,設計的好不好的,最終要的因素莫過于資料的架構設計。好的資料庫設計不僅能縮短開發周期,其在擴充性和穩定性方面的重要性也尤為突出。

那筆者在這裡分享的正是我們大多數場景需要使用到的最基礎的資料庫架構模型:

分享一個簡單的基礎資料庫模型

在權限方面采用了RBAC模型設計,一個使用者可以擁有多個角色,一個角色可以擁有多個權限,其中權限可以由多種展現方式,分别是:菜單,頁面連結,按鈕,資料。

即一個權限可以是指定能通路哪些菜單,哪些頁面,哪些頁面上的按鈕,當然也可以是哪些資料。這種設計其優點是靈活,以多種組合的方式來實作随時調整某個角色的權限。

系統配置和使用者自定義配置方面采用的均為key/value的形式,采用這種方式初衷是考慮到表的備援和擴充性,開發者可以結合程式實作可以配置式的使用者自定義配置,例如:背景可以随時增删一個配置并應用于頁面,頁面上無需改動,按照配置标簽即可顯示對應配置值。使用者分組方面考慮到子分組,比如某些部門有多個子部門等情況。

補充:給角色增加兩個字段:for_type,for_value這裡考慮到授權的對象某些情況下不一定都直接是使用者,往往我們隻希望授權給某個分組或某個部門,那這個時候以下的模型或許更适用,你可以指定角色授權給某個對象,增加了一定的擴充性。

分享一個簡單的基礎資料庫模型

總結:

當然此處模型過于簡單,但筆者認為這種模型能給與使用者較大的自由,可配置性較強,極大的避免了程式的寫死,可應用場景較廣。後期會整合動态表單模型和資源模型,如果您有好的意見不防在此留下您的見解。