跨表外鍵引用
本文探討在一個表中建立外鍵以引用多個其他表的主鍵的可能性。具體來說,它圍繞著提問者提出的場景。
場景解讀
提問者有兩個表,employees_ce
和 employees_sn
,每個表都有自己的主鍵列。他們還有一個名為 deductions
的第三個表,需要一個外鍵來引用 employees_ce
和 employees_sn
的主鍵。提供的範例進一步說明了這種情況:
<code>employees_ce -------------- empid name khce1 prince employees_sn ---------------- empid name khsn1 princess</code>
<code>deductions -------------- id name khce1 gold khsn1 silver</code>
解
雖然提問者的目標在技術上是可以實現的,但這並非資料庫設計的最佳實踐。建議的方法是定義一個中間表來連結這兩個表,例如:
<code>employees ---------------- empid name employees_types --------------- empid type khce1 ce khsn1 sn</code>
透過這個設置,deductions
表可以有一個外鍵引用 employees
表中的 empid
列,從而在三個表之間建立簡單的關係。
<code>deductions -------------- id name khce1 gold khsn1 silver</code>
中間表方法的優點
中間表法提供以下幾個優點:
deductions
表。 以上是外鍵可以引用不同表中的多個主鍵嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!