我正在开发一个包含两个表EVENTS_ EVRE_CREATORS的事件系统。我通过在事件表中放置创建者ID来将事件链接到创建者,因为我认为我只会有一个事件创建者。
我现在需要能够让多个创作者编辑一个事件。我是否应该添加简单地向EVENTS表添加其他字段,即ec_id,ec_id_2,ec_id_3等。或者将交叉引用表添加到数据库以及为其他创建者添加单独的表更有意义吗?
答案 0 :(得分:0)
你应该有3个表:
Event (with an ID field)
Creator (with an ID field)
EventCreator (2 fields: eventID and creatorID)
这应该涵盖事件和创作者之间的每一个可能的关系。您可以通过在EventCreator表上创建索引来限制关系。
答案 1 :(得分:0)
简单的说就是只添加一个交叉引用表。这样您就不必担心将来需要多少创作者。
所以,有一个像这样的表:
<强> xref_Events_Creators 强>
EVENTID
的CreatorID
答案 2 :(得分:0)
在这种情况下,使用交叉引用表是明智的。我会一步一步解释。第一
Id
,Ref_Id
,Creator_ID
。 我将省略EventId的需要,因为我们正在创建一个表,该表是对事件的引用,因此事件的表将保存Ref_Id
以跟踪所有引用。
events
表并存储Ref_ID
而不是Creator
通过这种方式,您可以 规范化 方式获取事件的所有创建者。