【问题标题】: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 个外键(它们共同构成一个主键)组成。有很多关于这方面的信息和例子;例如链接的副本。
  • 是的,先生,我知道,但是哪一个更好,但是每两个表一个关系表,或者一个关系表中的所有三个表

标签: sql sql-server


【解决方案1】:

您可以创建一个我认为用于存储关系的表。您可以在其中使用所有 3 个 ID 作为外键。

关系表。

RELPKID    TeacherFKID   BookFKID  StudentFKID

1           1            2   

希望对你有帮助,谢谢

【讨论】:

  • 这是我要的,所以这样做是正确的,还是每两个表都有一个关系表?
  • 是的,我希望它没事。要说更多,我们必须了解您的功能和用途
猜你喜欢
  • 2016-11-10
  • 2020-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-11
  • 1970-01-01
相关资源
最近更新 更多