[英]Foreign keys in many-to-many relationship?
我對需要存儲在多對多關系表中的內容感到有點困惑。
如果我有兩個表:Flight 和 Company,我需要在 CompanyFlights 表中存儲什么?
例如,這張表是只需要包含航班號和公司唯一名稱,還是還需要包含公司總部地址、航班目的地和出發地等更多信息?
如果航班有兩個外鍵用於目的地和出發地 ID,引用另一個表 Location?
CompanyFlights 表是否可以包含這些引用 Location 表的外鍵,這些外鍵是 Flight 表的外鍵?
最少有兩列——其他兩個表中每個表的主鍵,也許您稱它們為flight_id
和company_id
。 它們中的每一個都可能是它們表中的AUTO_INCREMENT
,但映射表中不需要 auto_inc。
有關索引的討論,請參見: http://mysql.rjweb.org/doc.php/index_cookbook_mysql#many_to_many_mapping_table
特定於航班的所有內容都應該在Flights
表中。 Companies
同上。 它不應該在 many:many 表中。
一些模式設計者添加另一列用於排序或對關系進行某種限定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.