最好创建第三个表,每个表的主键是外键吗?或者将外键添加到第一个表? 例如学生表和项目表,每个项目都有很多学生。
答案 0 :(得分:3)
如果你确实有1-many关系,那么你可以在第一个表中添加一个外键。例如:
create table students (
. . .
projectId int not null references project(projectId)
);
not null
使 1 - 很多。在大多数情况下,您可能需要0/1-many。如果是,则删除not null
约束。
如果学生可以参与多个项目,您只会引入第三个表(称为“关联表”,“联结表”,“交叉表”和其他名称)。
请注意,如果学生 - 项目关系可能会随时间发生变化,您可能需要第三个表格。在任何时候,学生都在一个项目上工作,但是如果学生可以在一个以上的项目上工作,那么这个项目会随着时间推移。
答案 1 :(得分:1)
如果是一对多,只需在学生表中添加新列作为外键(projectId)