我有4種類型的用戶,都有具體的數據,但他們也分享COMMUN數據,如username
,password
..關係數據庫設計多種用戶類型
我首先想到的是創建一個主users
表user_type
欄。然後,當查詢用戶數據時,我可以先選擇他們的user_type
,然後根據output
運行不同的查詢來獲取「用戶類型」特定數據。 我不喜歡這個,因爲我希望我可以用一個查詢並理想地使用外鍵來獲取所有用戶相關的數據。
第二個想法是在users
表中沒有user_type
列,而是使用來自特定用戶類型表的外鍵將指向表的主行。 我喜歡這個好一點,但我想我將不得不運行N個查詢,其中N是每次我需要抓取用戶數據時的用戶類型數量。
還有其他的選擇嗎?在這種情況下,最好的做法是什麼?
非常感謝
如果我理解你,你只需要在你的SQL語句中使用JOIN子句。類似於'SELECT * FROM users U LEFT JOIN user_details D ON U.id = D.user_id WHERE U.id =?' –
用戶可以一次有多種類型嗎? –
@Catcall否在這種情況下,用戶只能有一種類型,但我很好奇在這兩種情況下有什麼可能性 – silkAdmin