多对多关系中的外键?

Foreign keys in many-to-many relationship?

我对多对多关系中需要存储的内容感到有点困惑table。

如果我有两个 table:Flight 和 Company,我需要在 table CompanyFlights 中存储什么?

比如这个table是只需要包含航班号和公司唯一名称还是还需要包含公司总部地址、航班目的地和出发地等更多信息.

如果航班有两个外键用于目的地和出发地 ID,它们引用了另一个 table 位置?

table CompanyFlights 能否包含这些引用位置 table 的外键,这些外键是航班 table 的外键?

最少有两列 -- 其他两个 table 中每一个的主键,也许您称它们为 flight_idcompany_id。这些中的每一个都可能是 table 中的 AUTO_INCREMENT,但是在映射 table.

中不需要 auto_inc

有关索引的讨论,请参阅:http://mysql.rjweb.org/doc.php/index_cookbook_mysql#many_to_many_mapping_table

与航班相关的所有内容都应在 Flights table 中。 Companies 同上。它应该 而不是 在 many:many table.

A 少数 模式设计者添加另一列用于排序或对关系进行某种限定。