資料庫系統概論第 十章 資料庫邏輯設計   上一頁    下一頁

10-2 E-R Model 實體關係圖

內容:

10-2-1 何謂 E-R 模型

『實體關係模型』(Entity-Relation (E-R) Model)是將現場實境以圖形化顯現出來的工具。資料庫設計者到客戶現場將訪談或自己所認識的情境以 E-R 圖繪製出來,再利用它和客戶之間溝通。所繪製出來的圖形會隨時改變,一直到雙方都認可才可以繼續往下設計資料庫,也就是說,這個階段會耗費最多的時間。從另一方面來講,我們將現場情境用圖形繪出來,此圖形需要大家都看得懂,因此,需要一個標準化圖示來表示,這就是標準化的 E-R Mode。首先,我們來看標準化的 E-R 圖的符號,如下:

E-R 的元素

表示符號

     

實體(Entity)

表示真實環境的個體(無形或有形),譬如:學生、老師、課程、、。

弱實體(Weak Entity)

表示該實體是依附別的實體而存在,譬如:監護人是依附學生個體而存在。

屬性(Attribute)

用來描述實體的現象,譬如學生實體的學號、姓名、、等等。

衍生屬性(Derived Attribute)

用來描述屬性再細分其它小屬性,譬如:姓名屬性再區分為姓與名。

鍵值(Key)

用來辨識在實體集合中唯一性的屬性。譬如:學號是學生實體中唯一性的辨識。

關係(Relationship)

用來表示實體之間連繫的管道(關係),譬如:學生與班別之間的聯繫是班別代碼。

10-2-2實體個體的表示

在真實環境裡,無論有形或無形的個體,都稱為實體。每一個實體是由若干個屬性來描述它的特質。圖 9-4 是表示學生的個體,它是由學號、姓名、性別、地址、電話與電子郵件等屬性來描述。為了達成每一筆記錄代表一個學生,學生之間不可重複,我們發現僅有『學號』滿足條件(1. 不可重複性、2. 最小性),因此我們選擇它為主鍵。

同學開始設計時,不要太在乎需要哪些屬性來描述,只要能連結起來就好,到底要哪些屬性需視系統需求而定。

            

10-2-3 含有衍生屬性的個體

如果某些屬性可再細分其它小屬性的話,稱之衍生屬性,如圖 9-5 所示,我們再將姓名區分為『姓』與『名』兩屬性。

            

10-2-4 個體間關係表示

個體之間需建立關係才可以由一個個體找到另一個個體,如果有一個個體它無法和其它個體建立關係,則他就沒有存在的價值。實體之間關係有『一對多,1M』、『多對一,M1』、『一對一,11』與『多對多,MN』等四種,前面兩種幾乎一樣,只不過將它倒過來顯示。

(A) 多對一關係

9-6 表示學生個體與班級個體之間的關係,表示學生是屬於哪一個班級的,因此,它們之間是屬於『隸屬』關係。首先,我們看班級個體,它是由班級名稱、系別名稱、入學年度等屬性描述,其中班級名稱好像擁有唯一性的特質,但我們考慮到他每年都會修改,譬如:今年是『進四資二丙』,明年可能是『進四資三丙』,因此它也不適合當主鍵。我們只好再增加『班級代碼』屬性,確定它不會變更,選定為『主鍵』。

             

既然,學生要與班級建立隸屬關係,只好在學生個體中增加『班級代碼』屬性,用來表示他是哪一個班級的學生,也稱之為『外來鍵』。一個班級可能擁有若干個學生,因此,班級與學生之間的關係是『多對一,M1』,我們在圖示表示哪一個是多(M)、哪一個是一(1)

(B) 多對多關係

9-7是多對多的範例,系統設計學生同時可以修讀多門課,每一門課也可以讓多位學生選讀。另外,關係也可以附加屬性,譬如圖()中,選課關係增加『分數』的屬性,其用來記錄學生修讀的分數。

            

(C) 一對一關係

我們用學生與監護人之間關係來說明一對一關係,假設每一位學生只有一位監護人,每一位監護人也僅隸屬一位學生,如圖 9-8所示。

      

翻轉工作室:粘添壽

 

資料庫系統概論(含邏輯設計)

 

 

翻轉電子書系列: