0

我正在开发一个事件系统,它有两个表,EVENTS 和 EVENT_CREATORS。我一直通过将创建者 ID 放在事件表中来将事件链接到创建者,因为我认为我只会有一个事件创建者。

我现在需要多个创建者编辑事件的能力。我是否应该简单地向 EVENTS 表添加其他字段,即 ec_id、ec_id_2、ec_id_3 等。或者向数据库添加交叉引用表并为其他创建者添加单独的表是否更有意义?

4

3 回答 3

0

你应该有 3 张桌子:

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

这应该几乎涵盖了事件和创作者之间所有可能的关系。您可以通过在 EventCreator 表上创建索引来限制关系。

于 2012-05-21T22:22:50.723 回答
0

简单来说就是添加一个交叉引用表。这样您就不必担心将来需要多少创作者。

所以,有一个像这样的表:

xref_Events_Creators
EventId
CreatorId

于 2012-05-21T22:22:58.633 回答
0

在这种情况下,明智的做法是使用交叉引用表。我将逐步解释它。第一的

  • 创建一个新表。称之为“event_reference”
  • 给出以下字段:Id, Ref_Id, Creator_ID.

我将省略 EventId 的需要,因为我们正在创建一个对事件的引用的表,所以事件的表将保存Ref_Id以跟踪所有引用。

  • 接下来,修改events表并存储Ref_ID而不是Creator

这样,您可以以标准化的方式获取事件的所有创建者。

于 2012-05-21T22:32:37.840 回答