【发布时间】:2013-09-10 00:06:40
【问题描述】:
关于数据库设计的快速问题!在这个例子中,有用户和时间表。每个用户可以有多个时间表,每个时间表可以属于多个用户。
我有两个表,“user”和“schedule”,每个表都有一个唯一的标识符/主键(user_id 和 schedule_id):这些表具有多对多关系。
这是我不确定/缺乏经验的地方:为了将它们连接在一起并遵守良好的数据库设计,我想创建一个包含两列 user_id 和 schedule_id 的链接表。我计划制作这两个主键(因此是复合键)。但是,我是否还要添加两个外键,一个在 user_id 上链接到 'user' 表,一个在 schedule_id 上链接到 'schedule' 表?
TLDR:我计划在连接两个表的 2 列“链接”表中使用复合键。我应该/是否还需要将它们变成外键?
【问题讨论】:
-
所有问题的答案都是肯定的。
-
您的想法是完全正确的 - 复合主键可确保唯一对,以及其他每个表的外键以确保它们的引用完整性。\
-
谢谢您,尝试到处搜索,但找不到具体回复。
标签: mysql database-design