Mysql

如何在兩個一對多關係表上添加一個附加表?

  • July 14, 2020

我有兩個表 TableA 和 TableB 有一對多的關係

在此處輸入圖像描述

後來我被告知必須有一個附加表將初始表與附加資訊聯繫起來。為了使用實體關係模型執行此操作,我想到了以下兩個建議:

在此處輸入圖像描述

在此處輸入圖像描述

最推薦這兩個選項中的哪一個?

對於這第三個表,您能否針對已經相關的兩個表定義某種類型的基數?

如果 TableA 和 TableB 之間的關係是一對多的,那麼您不需要第三個表 (TableC)。

但是,如果 TableA 到 TableB 意味著具有多對多關係,那麼您將需要第三個表 (TableC)。在這種情況下,您將在 TableC 中擁有指向 TableA 和 TableB 的外鍵。通常,TableC 中的這兩個外鍵將有一個唯一約束(可能還有索引)應用於這兩個鍵的組合(複合鍵)。

通常這個複合鍵也被用作 TableC 的主鍵。不必如此。TableC 有可能擁有自己的單列唯一鍵。這取決於您儲存在 TableC 中的數據的性質。

引用自:https://dba.stackexchange.com/questions/270888