两个以上具有多对多关系的表[重复]
Posted
技术标签:
【中文标题】两个以上具有多对多关系的表[重复]【英文标题】:More than two tables with many to many relationship [duplicate] 【发布时间】:2019-12-29 10:15:56 【问题描述】:我在 SQL Server 中有三个表,它们之间的关系是多对多的,但我不知道哪个是正确的关系。
是不是把书和老师的关系摆了个表(老师可以多选一门课)
或
将所有学生和老师以及书籍放在一个多对多关系表中
tbl书
(PK) BookId
BookName
tbl老师
(pk)TeacherId
TeacherName
tbl学生
(pk)StudentId
StudentName
【问题讨论】:
当您有一个多对多关系时,您需要一个链接这些关系的进一步表;复合键表或联结表是这两个名称。该表可能只有 2 列,由 2 个外键(它们共同构成一个主键)组成。有很多关于这方面的信息和例子;例如链接的副本。 是的,先生,我知道,但是哪一个更好,但是每两个表一个关系表,或者一个关系表中的所有三个表 【参考方案1】:您可以创建一个我认为用于存储关系的表。您可以在其中使用所有 3 个 ID 作为外键。
关系表。
RELPKID TeacherFKID BookFKID StudentFKID
1 1 2
希望对你有帮助,谢谢
【讨论】:
这是我要的,所以这样做是正确的,还是每两个表都有一个关系表? 是的,我希望它没事。要说更多,我们必须了解您的功能和用途以上是关于两个以上具有多对多关系的表[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHP/CodeIgniter 从具有多对多关系的两个表中显示数据
Hibernate Annotation - 如何连接三个具有多对多关系的表