E-R圖向關係模型的轉換遵循原則

E-R圖向關係模型的轉換一般遵循如下原則:
1. 一個實體型轉換爲一個關係模式。實體的屬性就是關係的屬性。實體的碼就是關係的碼。
例如在我們的例子中,學生實體可以轉換爲如下關係模式,其中學號爲學生關係的碼:
學生(學號,姓名,出生日期,所在系,年級,平均成績) 同樣,性別、宿舍、班級、檔案材料、教師、課程、教室、教科書都分別轉換爲一個關係模式。
2. 一個聯繫轉化爲一個關係模式,與該聯繫相連的各實體的碼以及聯繫的屬性轉化爲關係的屬性,該關係的碼則有三種情況:
l 若聯繫爲1:1,則每個實體的碼均是該關係的後選碼。
l 若聯繫爲1:n,則關係的碼爲n端實體的碼。
l 若聯繫爲m:n,則關係的碼爲諸實體碼的組合。

2.1 聯繫爲1:1
一個1:1聯繫可以轉換爲一個獨立的關係模式,也可以與任意一端對應的關係模式合併。
l 如果轉換爲一個獨立的關係模式,則與該聯繫相連的各實體的碼以及聯繫本身的屬性均轉換爲關係的屬性,每個實體的碼均是該關係的候選碼。
l 如果與某一端對應的關係模式合併,則需要在該關係模式的屬性中加入另一個關係模式的碼和聯繫本身的屬性。
例如在我們的例子中,“管理”聯繫爲1:1聯繫,我們可以將其轉換爲一個獨立的關係模式:
管理(職工號,班級號)或 管理(職工號,班級號)
管理”聯繫也可以與班級或教師關係模式合併。如果與班級關係模式合併,則只需在班級關係中加入教師關係的碼,即職工號:
班級:{班級號,學生人數,職工號}
同樣,如果與教師關係模式合併,則只需在教師關係中加入班級關係的碼,即班級號:
教師:{職工號,姓名,性別,職稱,班級號,是否爲優秀班主任}

2.2 聯繫爲1:n
一個1:n聯繫可以轉換爲一個獨立的關係模式,也可以與n端對應的關係模式合併。
l 如果轉換爲一個獨立的關係模式,則與該聯繫相連的各實體的碼以及聯繫本身的屬性均轉換爲關係的屬性,而關係的碼爲n端實體的碼。
l 如果與n端對應的關係模式合併,則在n端實體對應模式中加入1端實體所對應關係模式的碼,以及聯繫本身的屬性。而關係的碼爲n端實體的碼。
例如在我們的例子中,“組成”聯繫爲1:n聯繫,將其轉換爲關係模式。
一種方法是使其成爲一個獨立的關係模式:
組成(學號,班級號)
其中學號爲“組成”關係的碼。

另一種方法是將其學生關係模式合併,這時學生關係模式爲:
學生(學號,姓名,出生日期,所在系,年級,班級號,平均成績)
後一種方法可以減少系統中的關係個數,一般情況下更傾向於採用這種方法。
2.3 聯繫爲m:n
一個m:n聯繫轉換爲一個關係模式。與該聯繫相連的各實體的碼以及聯繫本身的屬性均轉換爲關係的屬性。而關係的碼爲各實體碼的組合。
例如在我們的例子中,“選修”聯繫是一個m:n聯繫,可以將它轉換爲如下關係模式,其中學號與課程號爲關係的組合碼:
選修(學號,課程號,成績)
三個或三個以上實體間的一個多元聯繫轉換爲一個關係模式。與該多元聯繫相連的各實體的碼以及聯繫本身的屬性均轉換爲關係的屬性。而關係的碼爲各實體碼的組合。
例如在我們的例子中,“講授”聯繫是一個三元聯繫,可以將它轉換爲如下關係模式,其中課程號、教師號和書號爲關係的組合碼:
講授(課程號,教師號,書號)
3.同一實體集的實體間的聯繫,即自聯繫,也可按上述1:1、1:n和m:n三種情況分別處理。
例如,如果教師實體集內部存在領導與被領導的1:n自聯繫,我們可以將該聯繫與教師實體合併,這時主碼職工號將多次出現,但作用不同,可用不同的屬性名加以區分,比如在合併後的關係模式中,主碼仍爲職工號,再增設一個“系主任”屬性,存放相應系主任的職工號。
4.具有相同碼的關係模式可合併。
爲了減少系統中的關係個數,如果兩個關係模式具有相同的主碼,可以考慮將他們合併爲一個關係模式。合併方法是將其中一個關係模式的全部屬性加入到另一個關係模式中,然後去掉其中的同義屬性(可能同名也可能不同名),並適當調整屬性的次序。
例如我們有一個“擁有”關係模式: 擁有(學號,性別)
有一個學生關係模式: 學生(學號,姓名,出生日期,所在系,年級,班級號,平均成績)
這兩個關係模式都以學號爲碼,我們可以將它們合併爲一個關係模式,假設合併後的關係模式仍叫學生:
學生(學號,姓名,性別,出生日期,所在系,年級,班級號,平均成績)

按照上述4條原則,學生管理子系統中的18個實體和聯繫可以轉換爲下列關係模型:
學生(學號,姓名,性別,出生日期,所在系,年級,班級號,平均成績,檔案號)
性別(性別,宿舍樓)
宿舍(宿舍編號,地址,性別,人數)
班級(班級號,學生人數)
教師(職工號,姓名,性別,職稱,班級號,是否爲優秀班主任)
教學(職工號,學號)
課程(課程號,課程名,學分,教室號)
選修(學號,課程號,成績)
教科書(書號,書名,價錢)
教室(教室編號,地址,容量)
講授(課程號,教師號,書號)
檔案材料(檔案號,……)
該關係模型由12個關係模式組成。其中學生關係模式包含了“擁有”聯繫、“組成”聯繫、“歸檔”聯繫所對應的關係模式;教師關係模式包含了“管理”聯繫所對應的關係模式;宿舍關係模式包含了“住宿”聯繫所對應的關係模式;課程關係模式包含了“開設”聯繫所對應的關係模式。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章