我正在創建一個具有組的系統。這些可以被認爲是像Facebook組織。用戶可以創建新的組。目前,我有以下類型的羣組:具有Facebook類似組的系統的數據庫設計
- 城市羣 - 以某個城市爲基礎的羣組。例如「倫敦買賣團體」
- 學校組 - 基於學校的組。例如「倫敦大學研究組」
- 興趣組 - 不綁定到某個地點的組。例如「50多歲的針織組織」
未來會增加更多的組類型。每一組可以有不同的類型的選項,但各組具有相同的基本數據:
- 一種ID
- 甲創建者ID
- 甲名稱
- 一個選項描述
我正在爲這個數據庫設計而拼命掙扎。我最初的想法是爲不同的團體創建不同的表格。
例如有一張名爲group
的表。該表具有id
,creator id
,name
,description
,member count
,timestamps
。
然後有其他表格來表示其他組,並將它們鏈接到group
。所以我有一個city_group
表,其中包含和id
,group_id
,city_id
。對於其他組類型也是如此。
我與此唯一的問題是interest_group
沒有任何額外的數據,一個正常的group
。但爲了能夠只查詢興趣組,我認爲創建一個interest_group
表可能很有意義。它只會有以下列:id
,group_id
,timestamps
...這似乎有點浪費,有一個表只是爲了這個目的。
是否有我的解決方案,或者沒有更好的辦法來解決這個設計問題的任何問題?
你有一些預定義類型的團體?如果用戶創建一個新組,會發生什麼?它會成爲一個利益集團嗎?或者您是以後可以添加組的唯一一個? –
用戶創建的羣組爲「城市羣組」和「興趣羣組」。只有管理員可以創建「學校組」。未來還會有其他類型的團體,如代表運動隊的「運動團體」等。 – BugHunterUK
有趣的問題你在這裏。那些在這些小組中的成員呢?會不會有像用戶表和用戶和組之間的鏈接表? –