两个以上具有多对多关系的表[重复]

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 - 如何连接三个具有多对多关系的表

在 Laravel 中填充具有多对多关系的表

Flask SQLAlchemy 多对多插入重复条目

在 MS Access 中,如何以多对多关系列出记录,以使所列出的表中的记录不重复?

Flask-msearch python ,在多对多表上添加 msearch