在資料庫設計中或者以後的軟考中會遇到一個相對來說有點難度的題,那就是對于ER圖中三元聯系如何确定的問題,是以在這做一個簡單的介紹:
一、确定關系
三元聯系無非就是四中情況而已:(1:1:1);(1:1:N);(1:M:N);(M:N:P)。下面對這幾種情況分别作一 個簡單的介紹,請看下例:
1)第一種情況(1:1:1):
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90TUPpXR65UerRUT4FEVkZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DO3UjMwMDMwEDOxUDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
解釋如下:
a) 一名技術員對于每一個項目使用一本手冊
b) 每一本手冊對于每一個項目屬于一名技術員
c) 一名技術員可能在做多個項目,對于不同的項目維護不同的手冊
2)第二種情況(1:1:N):
解釋如下:
a)每一個員工在一個地點隻能被配置設定一個項目,但可以在不同地點做不同的項目
b)在一個特定的地點,一個員工隻能做一個項目
c)在一個特定的地點,一個項目可以由多個員工來做
3)第三種情況(1:M:N):
解釋如下:
a)一名經理手下的一名工程師可能參與多個項目
b)一名經理管理的一個項目可能會有多名工程師
c)做某一個項目的一名工程師隻會有一名經理
4)第四種情況(M:N:P):
解釋如下:
a) 一名員工在一個項目中可以使用多種技能
b) 一名員工的一種技能可以在多個項目中使用
c) 一種技能在一個項目中可以被多名員工使用
二、三元聯系類型的轉換
當然除了确定其關系外,還有一點就是如何将上面的ER模型關系轉換成關系表的形式,方法如下:
(1)、若實體間聯系是1:1:1,可以在三個實體類型轉換成的三個關系模式中任意一個關系模式的屬性中加入另兩 個關系模式的鍵(作為外鍵)和聯系類型的屬性。
(2)、若實體間聯系是1:1:N,則在N端實體類型轉換成的關系模式中加入兩個1端實體類型的鍵(作為外鍵)和聯 系類型的屬性。
(3)、若實體間聯系是1:M:N,則将聯系類型也轉換成關系模式,其屬性為M端和N端實體類型的鍵(作為外鍵) 加上聯系類型的屬性,而鍵為M端和N端實體鍵的組合。
(4)、若實體間聯系是M:N:P,則将聯系類型也轉換成關系模式,其屬性為三端實體類型的鍵(作為外鍵)加上聯 系類型的屬性,而鍵為三端實體鍵的組合。