2012-05-21 44 views
0

我正在研究一個有兩個表格EVENTS和EVENT_CREATORS的事件系統。我通過將創作者ID放置在事件表中將事件鏈接到創作者,因爲我認爲我只會有一個事件創建者。更正用戶表關係的正確方法?

我現在需要多個創建者編輯事件的能力。我應該添加簡單地添加額外的字段到事件表,即ec_id,ec_id_2,ec_id_3等等。還是更有意義的添加一個交叉引用表到數據庫和一個單獨的表爲其他創作者?

+0

這取決於創作者的數量是固定的還是可變的。這聽起來更像是後者,在這種情況下,我會使用交叉引用表。 – eggyal

回答

0

這是這種情況下,它會是明智的使用交叉引用表。我會一步一步解釋它。第一個

  • 創建一個新表。稱之爲「event_reference」
  • 給出以下FIelds:Id,,Creator_ID

我會省略EVENTID的需要,因爲我們正在創建一個表,該表是對事件的引用,因此事件的表將舉行保持跟蹤所有的引用。

  • 接下來,修改events表和Creator

存儲Ref_ID而不是在這樣的方式,你可以獲取在標準化方式的事件的所有創造者。

0

你應該有3個表:

Event (with an ID field) 
Creator (with an ID field) 
EventCreator (2 fields: eventID and creatorID) 

這應該幾乎覆蓋活動和創作者之間的每一個可能的關係。您可以通過在EventCreator表上創建索引來限制關係。

0

簡單的說就是添加一個交叉引用表。這樣你就不用擔心將來有多少人會需要創作者。

所以,有這樣一個表:

xref_Events_Creators
EVENTID
的CreatorID

相關問題