Database-Design

一個且只有一個關係 - ER 圖到關係模式

  • October 25, 2020

在此處輸入圖像描述

作為我的 CS 學習的一部分,我將把這個學期作為數據庫課程的一部分。

本週我們開始研究 ER 圖的主題,我覺得這有點令人困惑。

我對上面的圖片有一些不確定性(注意:圓形箭頭表示“只有一個”——也就是說,B 中的每個主題都可以而且必須指向 A 中的一個主題,反之亦然)。

我必須為此圖創建一個合適的關係模式,這是我的嘗試:

  • A(a, b , c, d) (b是關鍵)
  • B( e , f) ( e是關鍵)

這是我的不確定性:

R(b, e) - 無論我從這些外鍵中創建哪個鍵,都不會保留“唯一一個”約束。

如何創建此約束所在的架構?

如果你有“最多一個”箭頭,而不是完全一樣,那會怎樣?

答案將如何變化?

表 a 應該引用(外鍵) b,反之亦然。在外鍵上,您創建一個唯一索引,因此您擁有 1 對 1 的關係。

以下數據尊重這些限制,但可能不是您想要的。

Tab a   Tab b
PK FK   PK FK
1   a   a   2
2   b   b   1

所以你可能需要更加嚴格,在主鍵列上放一個外鍵,強制兩個表有相同的主鍵。

“最多一個”:允許該列為空。

如下所示,對稱的一對一關係不能使用外鍵強制執行(除非添加了邏輯,例如觸發器)。

Tab a   Tab b
PK FK   PK FK
1   b   a   2
2   a   b   1

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