Database-Design
如何在 ER 圖中表示外鍵?
假設我有一個“交易”表,其中有一列“客戶 ID”(外鍵)和一個具有“ID”(主鍵)的客戶表。如何顯示兩個表之間的關係並顯示“客戶 ID”是“交易”表的外鍵,它是“客戶”表中的主鍵?
我用Google搜尋了這個問題,並在這個論壇上查看了我的查詢,但找不到一個帶有解決我問題的圖表的確切範例。
如果可能的話,請用圖表解釋我。
ER 圖最初僅用於表示 ER 模型。ER 模型不使用外鍵來表示關係。它使用框之間的線條。這些線在兩端或兩端都有某種基數指示符。有時,關係會用菱形單獨表示。
今天,超過一半的 ER 圖實際上是關係模型的圖,而不是 ER 模型的圖。關係模型具有包含在表中的外鍵,這些外鍵用於實現 ER 模型辨識的關係。並且關係模型將有一個額外的表,通常稱為兩個實體表之間的“聯結表”,這兩個實體表通過多對多關係連結。此聯結表包含兩個或更多外鍵。
有很多方法可以表示關係模型。也許最簡單的是 MS Access 可以從完整的數據庫中生成的“關係圖”。如果數據庫建構器已經辨識了外鍵,這將是相當完整的。
有許多工具比 MS Access 更複雜,可用於製作更大規模的圖表。其中一些在建構數據庫之前使用。有些是之後使用的。
在繪製 ER 圖時,我使用了以下圖形約定:用外鍵列名稱標記關係線,如下所示:
這可以清楚地表明子表中的哪一列是父表的外鍵。可以通過在相關屬性下劃線來指示主鍵狀態。
可能比這更有用的是一個命名約定,它可以明確什麼是表的主鍵(如果您按照約定使用代理鍵,很容易做到)以及什麼是外鍵列。
一些關係模型圖還在列列表中的列名左側包含一個鍵參與標籤(例如“PK”、“FK1”、“FK2”……),如果您有復合鍵,這會很有幫助。