我应该将连接表加入另一个表吗?

时间:2018-04-18 23:27:44

标签: ruby-on-rails postgresql database-design

假设我正在构建一个组装app的应用程序。我有一个跟踪参与者和活动(MTM)的联接表,我还有一个菜单表,其中包含独特的菜肴并与每个参与者(OTM)相关联。参与者将报名参加活动并同意携带一份或多份菜肴。

ParticipantEvents连接表将跟踪RSVP,但是跟踪参与者为该事件做出贡献的最佳方式是什么?

我应该在Dishes和Events之间创建一个连接表吗? 我应该在ParticipantEvents连接表和Dishes表(ParticipantEventsDishes)之间创建连接表吗? 还有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

这个案子看起来像是对我的三方(三元)关系。所以我会用三个外键创建一个三向连接表。

Promised (DishID, EventID, ParticipantID)

现在,您可以将这三个表连接起来,以生成所有参与者的详细信息。请注意,参与者可以为一个活动承诺不止一个菜。