E-R圖轉換爲關係模型

轉自:https://www.cnblogs.com/yijiahao/p/11707183.html

E-R模型如何轉換成關係模型,這裏我們分成三種情況進行講解,分別是一對一,一對多和多對多。

1.一對一的情況:

  有兩種方法解決這個問題。第一個方法:可以單獨對應一個關係模式,由各實體的主碼構成關係模式,而關係模式的主碼可以是任一個實體集的主碼。而實體中屬性照常寫就可以了。第二個方法:實體中的屬性照常寫,然後將一方實體集的主碼加到另一方實體集對應的關係模式中。下面舉個例子我們來看一下:

 

         在這個例子中,利用方法一,先將兩個實體正班長和班級的屬性照着寫下來,然後將關係模式“屬於”的屬性寫出來——即兩邊實體的主碼,其中關係模型“屬於”的主鍵可以是兩端實體集的任一主碼。利用方法二,也是先將兩端實體的屬性照着寫下來,然後注意這一點,將一端實體的主碼加到另一端實體的主碼中,圖例中就是將“班級”實體的主碼加入到“正班長”關係屬性中。

 

2.一對多的情況:

  這種情況可以跟一對一的情況對比着學習。第一個方法:同一對一的方法一是差不多的,只是對應的關係模式中,其主碼不再是任一實體的主碼就可以,而是必須指定n端的主碼爲關係模式的主碼。第二個方法:同一對一的方法二也是差不多的,但是值得強調的是,必須將1端的主碼加到n端的關係模式中,而且n端的主碼仍然爲該關係模式中的主碼。同樣,我們也來舉個例子。

 

 

          如圖,在方法一中,關係模式的主鍵是n端學生實體的主鍵。在方法二中,將一端對應的實體主鍵“班級編號”加入到了對應n端“學生”的關係模式中,並且,n端的主碼仍然爲該關係模式的主碼。

 

3.多對多的情況:

  對於多對多的聯繫,似乎是這三種類型中最簡單的一個了。其轉換原則爲:每個實體集對應一個關係模式,對於多對多的聯繫,其單獨對應一個實體集,該實體集的主碼由各實體集的主碼共同構成。我們同樣來看一個例子。

       在上圖這個例子中,每個實體集都對應一個關係模式,其聯繫“選課”也對應一個關係模式,這個關係模式的主碼便是兩端實體集的主碼。關於E-R模型轉化成關係模型我們就學到這裏,其實很簡單,只要掌握了要領,做幾個例子,就會很好的上手,就會達到掌握的目的了。

 

 

 

 

學生:學號,姓名,性別,年齡

課程:課程編號,課程名,教師號

選修:學號,課程編號,分數

教師:教師編號,教師名,職稱

參加:教師編號,項目編號

項目:項目編號,項目名,項目負責人

 

 

 

職工:職工號,姓名,年齡,職稱

倉庫:倉庫號,面積,電話號碼

工作:職工號,倉庫號

庫存:倉庫號,零件號,庫存量

零件:零件號,名稱,規格,單價,描述

供應商:供應商號,姓名,地址,電話號碼,賬號

供應:項目號,供應商號,零件號,供應量

項目:項目號,預算,開工日期

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