1

问题标题可能有点神秘,但我想不出一个有意义的简短版本。

所以我有一个表,它是和Booking之间的多对多关系。我还有一个表,它是和之间的多对多关系。CustomerEventevent_activityEventActivity

我现在希望预订能够指定它想要参加的活动中的哪个事件。所以我有,它是和booking_event_activity之间的多对多。Bookingevent_activity

显然booking_event_activity将需要外键CustomerActivity(这也将是它自己的复合主键的一部分),但是我如何指定最终的外键,它将是一个事件的主键?我做到了吗:

  1. 预订活动外键的外键?
  2. event_activity 的事件外键的外键?
  3. 两个外键,分别对应 1. 和 2.?
  4. 一个外键直接指向事件表的主键?
4

1 回答 1

1

您可以让表booking_event_activity引用customerIdeventIdactivityId列。您的eventId列(至少使用 SQL Server)可以是对event_activities和的外键引用booking,但请注意!使用此方法,级联关系可能无法按预期工作。

于 2012-05-17T14:40:53.837 回答