我目前正在为论文库设计数据库。我遇到过这种情况:
• 一个学生只能提交一篇论文,而一篇论文可以由许多学生提交。
但是,我不想让 Thesis 表的 Thesis ID 重复。 我应该使用联结表吗?我已经用一个做了一个初步设计(如下)。我在正确的轨道上吗?
最佳答案
你快到了。只有我对 Thesis_Students
表有评论,我看到你有 ThesisID
和 StudentID
作为 PK,这将涵盖,一个学生应该只与论文相关一次。但是你有一个附加条件“一个学生只能提交一篇论文”。因此,您需要一个仅包含 StudentID
的附加 UNIQUE
约束,以便可以插入任何 StudentID
的条目不超过一个。 (实际上,在这种情况下,您不再需要 ThesisID
+ StudentID
的 PK,因为无论如何您都不能为 StudentID
插入多个条目).
关于php - 多对多关系 ERD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34215414/