我正在使用PHP/MySQL中的web應用程序,並且我已經到了需要創建用戶/組關聯的位置。如何在MySQL中創建用戶/組關聯
這裏是我拍攝的:
我將有一個數量不斷增長的組和用戶。
用戶將能夠隨時修改他們的組關聯
。該組協會將決定網站上顯示的內容
的優先級。發送給用戶的電子郵件更新將由其當前組 關聯確定。
我的問題是,處理此用戶/組關聯的最佳方式是什麼?
我現在的表結構看起來像這樣(簡化爲便於溝通):
Users:
User_ID, User_name, Fname, Lname, is_dealer
Deals:
Deal_ID, Dealer_ID, Deal_name, Deal_content
Dealers:
Dealer_ID, User_ID, Dealer_name, Dealer address.. etc.
我最初的想法是創建一個組表GROUP_ID和Group_name的列。然後我可以做兩件事之一:
我可以在Groups表中創建一個名爲「User_ID」的列,並且對於每個組關聯我都有一行表示Group_ID,Group_name和User_ID。這個選項感覺就像它會創建一個巨大的超級冗餘數據庫表。
我能想到的另一個選擇是在用戶表中創建一個Group_ID列,並在用戶需要解析的某種文本數組中填充用戶所關聯的所有組。這裏的問題是,我希望在那裏有無限數量的組,並且將用戶的組關聯堵塞成用戶表中每行的一個「值」似乎是非常潦草的。
真的這是一個SQL數據庫邏輯/設計問題。 任何援助將是一個很大的幫助。
謝謝!
如果您希望我們可以將此問題遷移到我們的DBA姐妹網站:http://dba.stackexchange.com/。如果這是有利的,則標記用於移植的mod。 – Kev 2013-03-03 16:47:06