【发布时间】:2016-03-24 15:24:56
【问题描述】:
我搜索了以下问题的答案,但得到的答案主要与是否使用代理项有关,而不是关于是否对连接表的子项使用复合键。
我有一张桌子attendees 和一张桌子events。
连接表为event_attendees,包含两个外键attendee_id和event_id,还有一个代理主键id
现在假设参加活动的参与者可以拥有schedule_items。
我通常会简单地使用表event_attendee_schedule_items 中的event_attendee_id、schedule_item_id 列。
如果有的话,使用以下复合外键设置有什么缺点?
attendee_id、event_id、schedule_item_id(复合键而不是指向event_attendees 表的直接链接)?
【问题讨论】:
-
第二种解决方案,使用复合键,对我来说听起来更合乎逻辑。由于您一次在一个地方有一个人...您将三个表链接在一起...
标签: sql foreign-key-relationship surrogate-key