1.實體類型的轉換
(1)將每個實體類型轉換成一個關系模式。
(2)實體的屬性即為關系模式的屬性。
(3)實體標識符即為關系模式的鍵。
2.二元聯系類型的轉換
(1)若實體間聯系是1:1,可以在兩個實體類型轉換成的兩個關系模式中任意一個關系模式的屬性中加入另一個關系模式的主鍵和聯系類型的屬性。
(2)若實體間聯系是1:N,則在N端實體類型轉換成的關系模式中加入1端實體類型的主鍵和聯系類型的屬性。
(3)若實體間聯系是M:N,則將聯系類型也轉換成關系模式,其屬性為兩端實體類型的主鍵加上聯系類型的屬性,而鍵為兩端實體鍵的組合。
3.一元聯系類型的轉換
和二元聯系類型的轉換類似。
4.三元聯系類型的轉換
(1)若實體間聯系是1:1:1,可以在三個實體類型轉換成的三個關系模式中任意一個關系模式的屬性中加入另兩個關系模式的主鍵(作為外鍵)和聯系類型的屬性。
(2)若實體間聯系是1:1:N,則在N端實體類型轉換成的關系模式中加入兩個1端實體類型的主鍵(作為外鍵)和聯系類型的屬性。
(3)若實體間聯系是1:M:N,則將聯系類型也轉換成關系模式,其屬性為M端和N端實體類型的主鍵(作為外鍵)加上聯系類型的屬性,而鍵為M端和N端實體鍵的組合。
(4)若實體間聯系是M:N:P,則將聯系類型也轉換成關系模式,其屬性為三端實體類型的主鍵(作為外鍵)加上聯系類型的屬性,而鍵為三端實體鍵的組合。
5.實例1:將教學管理ER圖轉換為關系模式
(1)把三個實體類型轉換成三個模式:
①系(系編號,系名,電話)
②教師(教工號,姓名,性別,職稱)
③課程(課程號,課程名,學分)
(2)對於1:1聯系“主管”,可以在“系”模式中加入教工號(教工號為外鍵)。對於1:N聯系“聘用”,可以在“教師”模式中加入系編號和聘期兩個屬性(系編號為外鍵):
①系(系編號,系名,電話,主管人的教工號)
②教師(教工號,姓名,性別,職稱,系編號,聘期)
(3)第三步:對於M:N聯系“任教”,則生成一個新的關系模式:
①任教(教工號,課程號,教材)
(4)這樣,轉換成的四個關系模式如下:
①系(系編號,系名,電話,主管人的教工號)
②教師(教工號,姓名,性別,職稱,系編號,聘期)
③課程(課程號,課程名,學分)
④任教(教工號,課程號,學分)
6.實例2:一元聯系類型ER圖結構轉換為關系模式
(1)運動員名次之間存在着1:1聯系
①運動員(編號,姓名,性別,名次,上一名次編號)
(2)職工之間存在上下級聯系,即1:N聯系
①職工(工號,姓名,年齡,性別,經理工號)
(3)工廠的零件之間存在着組合關系(M:N聯系)
①零件(零件號,零件名,規格)
②組成(零件號,子零件號,數量)
7.實例3:三元聯系的ER圖結構轉換為關系模式
①倉庫(倉庫號,倉庫名,地址)
②商店(商店號,商店名)
③商品(商品號,商品名)
④進貨(商店號,商品號,倉庫號,日期,數量)
