簡體   English   中英

管理員表和用戶表之間應該是什么關系

[英]What should be the relationship between an adminstrators table and users table

如果admin賬戶可以創建用戶賬戶,是不是表示admin表和users表的關系是:

ADMIN 一對多用戶

例如,在我的項目中:
在此處輸入圖片說明

具有adminstrateur權限的人員可以創建具有technicien_sav權限的帳戶。 顯然,每種權限都會授予有權訪問應用程序不同部分的權限。
但是,我沒有看到我的應用程序的整體運行所需的 SQL 關系。 即:即使兩者之間不存在關系,管理員也可以創建technicien_sav帳戶。
你怎么認為?
PS:我已經好幾年沒有使用 SQL 數據庫了,我希望這個問題不是太幼稚。

在評論中,您說管理員和技術人員用戶

彼此完全沒有關系

他們的實際工作可能不同,但就您的應用程序而言,它們只是用戶的兩個不同變體,因此它們屬於同一個表(因為它們是同一種實體,應用程序的“用戶” ,每個表都應該代表一個實體)。 他們是“管理員”這一事實只是用戶的一個屬性,這將他們與其他類型區分開來。 然后,您可以使用該屬性(以及其他屬性,如果您需要更巧妙的處理)來確定它們在應用程序中擁有哪些特權。

事實上,用戶持有多組權限的情況並不少見,因此“用戶”表和“權限”表(當然中間有映射表)之間的多對多關系可能會產生更多從長遠來看,要更加靈活。

PS 為了解決您的原始觀點,在您建議的原始結構中,如果您需要記錄哪個管理員創建了哪些記錄,您只需要管理員和技術人員行之間的一些關系。 如果需要,您仍然可以在單個“用戶”表中執行相同的操作,只需在同一個表中的兩列之間建立一對多關系即可。 例如,您有一個 CreatedBy 列,它是可選的,並且有一個 ID 列的外鍵,因此它可以記錄添加當前記錄的用戶的 ID。

通常,admin 和 user 是同一個表的一部分。

管理員是具有更多權限的用戶。 在您的用戶表中,您可以添加一列(例如 admin_column 並且可以是布爾值),因此如果 admin_column=true (用戶是管理員)。

我希望它會幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM