Database-Design

B2B應用:使用者有自己的使用者

  • February 24, 2021

我正在嘗試的 B2B 場景是:

系統中存在以下角色:

  1. 超級管理員
  2. 超級管理員
  3. 業主(客戶)
  4. 管理員(所有者即客戶並創建管理員來定義銷售櫃檯)
  5. 銷售櫃檯

這意味著有些使用者會創建自己的子使用者,例如

**$$ FLAG-A $$**ROLE“SUPER ADMIN”創建一個ROLE“Owner”,“OWNER”創建自己的子使用者ROLES,即“ADMN”和“SALES COUNTER”。

每個角色顯然都有其登錄系統的資訊

我試圖設計數據庫如下:

在此處輸入圖像描述

在此圖中,我假設主使用者創建了在我看來多對多關係的子使用者,因此我必須在它們之間添加表作為“USER_PERSON”。

問題是在系統中設置“誰創建的使用者”。我的意思是哪個使用者創建了子使用者,如中所述**$$ FLAG-A $$**

請檢查此圖 在此處輸入圖像描述

您的方法不必要地複雜。你的情況歸結為:

  • 你有使用者(也是人),他們有相應的屬性,包括登錄憑據等,還有狀態和上次登錄日期。
  • 一個使用者(人)可以有一個(或多個?)角色。
  • 一個角色具有一個或多個權限。
  • 一個使用者可以由另一個使用者創建,因此使用者的創建者是使用者的屬性之一。

所以,我會為三個實體建模:

  1. 使用者(具有所有屬性),具有對使用者創建者的自引用。
  2. 角色,與使用者具有多對多關係。
  3. 權限,與 Role 具有多對一(或多對多)關係。

就是這樣。

引用自:https://dba.stackexchange.com/questions/285924