E-R圖是由實體、實體的屬性和實體之間的聯繫三個要素所組成的。將E-R圖轉換為關係模型其實就是要將實體、實體的屬性和實體之間的連結轉換為關係模式 。
E-R圖是由實體、實體的屬性和實體之間的聯繫三個要素所組成的。將E-R圖轉換為關係模型其實就是要將實體、實體的屬性和實體之間的連結轉換成關係模式 。
二、E-R圖轉換關係模型
1、實體集向關係模式的轉換
一般轉換遵循的原則
實體集的轉換規則:一個實體型轉換為一個關係模式。實體的屬性就是關係的屬性,實體的碼就的碼。
範例:學生實體可以轉換為如下關係模式:
學生(學號,姓名,性別,出生日期,所在系,年級)
2、兩個實體型之間的聯繫集合向關係模式的轉換
1:1聯繫的轉換方法:1:1聯繫可以轉換為一個獨立的關係模式,也可以與任意一端對應的關係模式合併。
如果轉換為一個獨立的關係模式,則與該聯繫相連的各實體的主碼以及聯繫本身的屬性均轉換為關係的屬性,每個實體的主碼均是該關係的候選碼。
如果與某一端對應的關係模式合併,則需要在該關係模式的屬性中加入另一個關係模式的主碼和聯繫本身的屬性。
實例
1:n聯繫的轉換方法: 1:n聯繫可以轉換為獨立的關係模式,也可以與n端對應的關係模式合併。
若轉換為一個獨立的關係模式,則與該聯繫相連的各實體的主碼以及聯繫本身的屬性均轉換為關係的屬性,而關係的主碼為n端實體的主碼。
若與n端關係模式合併,則在n端實體集中增加新屬性,新屬性由聯繫對應的1端實體集的主碼和聯繫自身的屬性構成,而關係模式的主碼不變。
實例
方案一:1:n聯繫形成的關係獨立存在
倉庫(倉庫號,地點,面積)
產品(產品號,產品名,價格)
倉儲(產品號,倉庫號,數量)
方案二:聯繫形成的關係與n端物件合併
倉庫(倉庫號,地點,面積)
產品(產品號,產品名,價格,
倉庫號,數量)
m:n聯繫的轉換方法:與該聯繫相連的各實體的碼以及聯繫本身的屬性均轉換為關係的屬性。而關係的碼為各實體碼的組合。
實例
3、同一實體型之間的聯繫集合向關係模式的轉換
v同一實體型的實體間的聯繫即自聯繫,也可按上述1:1、1:n和m:n三種情況分別處理。
1:n
m:n
4、多實體型之間的聯繫向關係模式的轉換
一般地,兩個以上的實體型間也存在著1:1、1:n和m:n三種情況,轉換方法一般遵循以下原則:
1:n的多元連結:修改1端實體集合對應的關係,即將與聯繫相關的其他實體集的碼和聯繫自身的屬性作為新屬性加入到1端實體集中。
m:n的多元聯繫:新建一個獨立的關係,多元聯繫相連的各實體的碼以及聯繫本身的屬性均轉換為關係的屬性。而關係的碼為各實體碼的組合。
5、弱實體集合向關係模式的轉換
強實體集和弱實體集的概念與存在依賴密切相關,強實體集的成員必然是支配實體,而弱實體集的成員是從屬實體。
由於弱實體不能獨立存在,它必須依附於一個所有者實體,因此將弱實體集轉換成關係模式時,弱實體所對應的關係中必須包含所有者實體的主碼。
6、應用實例
**依上述規則將****E-R圖轉換為關係模式後,具有相同主碼的關係模式可合併,主要目的在於減少系統中的關係個數,便於維護及維持資料的一致性。
合併方法是將具有相同主碼的關係模式中,某個關係模式的全部屬性加入到另一個關係模式中,然後去掉其中的同義屬性(可能同名也可能不同名),並適當調整屬性的次序。
例3-12 某工程的E-R圖,如圖3-19所示。其中各實體的屬性如下:
以上是資料庫er圖轉換為關係模式的詳細內容。更多資訊請關注PHP中文網其他相關文章!