10-2 E-R Model 實體關係圖
『實體關係模型』(Entity-Relation (E-R) Model)是將現場實境以圖形化顯現出來的工具。資料庫設計者到客戶現場將訪談或自己所認識的情境以 E-R 圖繪製出來,再利用它和客戶之間溝通。所繪製出來的圖形會隨時改變,一直到雙方都認可才可以繼續往下設計資料庫,也就是說,這個階段會耗費最多的時間。從另一方面來講,我們將現場情境用圖形繪出來,此圖形需要大家都看得懂,因此,需要一個標準化圖示來表示,這就是標準化的 E-R Mode。首先,我們來看標準化的 E-R 圖的符號,如下:
在真實環境裡,無論有形或無形的個體,都稱為實體。每一個實體是由若干個屬性來描述它的特質。圖 9-4 是表示學生的個體,它是由學號、姓名、性別、地址、電話與電子郵件等屬性來描述。為了達成每一筆記錄代表一個學生,學生之間不可重複,我們發現僅有『學號』滿足條件(1. 不可重複性、2. 最小性),因此我們選擇它為主鍵。 同學開始設計時,不要太在乎需要哪些屬性來描述,只要能連結起來就好,到底要哪些屬性需視系統需求而定。
如果某些屬性可再細分其它小屬性的話,稱之衍生屬性,如圖 9-5 所示,我們再將姓名區分為『姓』與『名』兩屬性。
10-2-4 個體間關係表示 個體之間需建立關係才可以由一個個體找到另一個個體,如果有一個個體它無法和其它個體建立關係,則他就沒有存在的價值。實體之間關係有『一對多,1:M』、『多對一,M:1』、『一對一,1:1』與『多對多,M:N』等四種,前面兩種幾乎一樣,只不過將它倒過來顯示。 (A) 多對一關係 圖 9-6 表示學生個體與班級個體之間的關係,表示學生是屬於哪一個班級的,因此,它們之間是屬於『隸屬』關係。首先,我們看班級個體,它是由班級名稱、系別名稱、入學年度等屬性描述,其中班級名稱好像擁有唯一性的特質,但我們考慮到他每年都會修改,譬如:今年是『進四資二丙』,明年可能是『進四資三丙』,因此它也不適合當主鍵。我們只好再增加『班級代碼』屬性,確定它不會變更,選定為『主鍵』。
既然,學生要與班級建立隸屬關係,只好在學生個體中增加『班級代碼』屬性,用來表示他是哪一個班級的學生,也稱之為『外來鍵』。一個班級可能擁有若干個學生,因此,班級與學生之間的關係是『多對一,M:1』,我們在圖示表示哪一個是多(M)、哪一個是一(1)。 (B) 多對多關係 圖 9-7是多對多的範例,系統設計學生同時可以修讀多門課,每一門課也可以讓多位學生選讀。另外,關係也可以附加屬性,譬如圖(七)中,選課關係增加『分數』的屬性,其用來記錄學生修讀的分數。
(C) 一對一關係 我們用學生與監護人之間關係來說明一對一關係,假設每一位學生只有一位監護人,每一位監護人也僅隸屬一位學生,如圖 9-8所示。
|
翻轉工作室:粘添壽
資料庫系統概論(含邏輯設計)
翻轉電子書系列:
|