「數據庫」E-R圖轉換爲關係模式

這位大佬講的不要太好懂!

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

1.一對一的情況:
  有兩種方法解決這個問題。第一個方法:可以單獨對應一個關係模式,由各實體的主碼構成關係模式,而關係模式的主碼可以是任一個實體集的主碼。而實體中屬性照常寫就可以了。第二個方法:實體中的屬性照常寫,然後將一方實體集的主碼加到另一方實體集對應的關係模式中。下面舉個例子我們來看一下:
  在這裏插入圖片描述
  在這個例子中,利用方法一,先將兩個實體正班長和班級的屬性照着寫下來,然後將關係模式“屬於”的屬性寫出來——即兩邊實體的主碼,其中關係模型“屬於”的主鍵可以是兩端實體集的任一主碼。利用方法二,也是先將兩端實體的屬性照着寫下來,然後注意這一點,將一端實體的主碼加到另一端實體的主碼中,圖例中就是將“班級”實體的主碼加入到“正班長”關係屬性中。
  
2.一對多的情況:
  這種情況可以跟一對一的情況對比着學習。第一個方法:同一對一的方法一是差不多的,只是對應的關係模式中,其主碼不再是任一實體的主碼就可以,而是必須指定n端的主碼爲關係模式的主碼。第二個方法:同一對一的方法二也是差不多的,但是值得強調的是,必須將1端的主碼加到n端的關係模式中,而且n端的主碼仍然爲該關係模式中的主碼。同樣,我們也來舉個例子。
在這裏插入圖片描述
  如圖,在方法一中,關係模式的主鍵是n端學生實體的主鍵。在方法二中,將一端對應的實體主鍵“班級編號”加入到了對應n端“學生”的關係模式中,並且,n端的主碼仍然爲該關係模式的主碼。

3.多對多的情況:
  對於多對多的聯繫,似乎是這三種類型中最簡單的一個了。其轉換原則爲:每個實體集對應一個關係模式,對於多對多的聯繫,其單獨對應一個實體集,該實體集的主碼由各實體集的主碼共同構成。我們同樣來看一個例子。
在這裏插入圖片描述
  在上圖這個例子中,每個實體集都對應一個關係模式,其聯繫“選課”也對應一個關係模式,這個關係模式的主碼便是兩端實體集的主碼。關於E-R模型轉化成關係模型我們就學到這裏,其實很簡單,只要掌握了要領,做幾個例子,就會很好的上手,就會達到掌握的目的了。

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