更正用户表关系的正确方法?

时间:2012-05-21 22:19:24

标签: php mysql

我正在开发一个包含两个表EVENTS_ EVRE_CREATORS的事件系统。我通过在事件表中放置创建者ID来将事件链接到创建者,因为我认为我只会有一个事件创建者。

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

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)

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

  • 创建一个新表。称之为“event_reference”
  • 提供以下信息:IdRef_IdCreator_ID

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

  • 下一步,修改events表并存储Ref_ID而不是Creator

通过这种方式,您可以 规范化 方式获取事件的所有创建者。