1. ERD簡介
實體-關係圖(ERD)是一種強大的視覺工具,可用於全面地映射資料庫的結構。它以圖形方式呈現資料庫中不同實體之間的關聯,同時突出顯示與每個實體相關的屬性。在資料庫設計階段,ERD極為重要,有助於明確定義資料需求,並建立對資料庫架構的清晰理解。此外,它在傳達複雜的資料關係方面表現出色,成為資料庫開發專案中技術與非技術相關人員之間不可或缺的溝通工具。
ERD範例
一般實體-關係圖(ERD)是一種用於資料庫設計中的視覺化表示,用以說明資料庫內的結構與關係。
ERD的外觀會根據資料庫的複雜程度以及所使用的建模規範而有所不同。然而,在一般ERD中,您會看到實體以矩形表示,其屬性列於矩形內部。連接實體的線條表示它們之間的關係,線條上的標籤則說明這些關係的性質。以下是一個簡單的文字化ERD示意:

2. 基本ERD元件
在深入探討進階概念之前,讓我們先簡要回顧ERD的基本元件:
- 實體:代表現實世界中的物件或概念,例如一個人、一個地點或一個事物。在ERD中,實體以矩形表示。
- 屬性:描述實體的性質或特徵。屬性通常以連接到相應實體的橢圓形表示。
- 關係:說明實體之間如何相互關聯。關係以連接實體的線條表示,通常附有描述關聯的動詞短語。
- 基數:定義一個實體可與另一個實體相關的實例數量。常見的基數表示法包括「1」代表一個、「N」代表多個,以及「0..1」代表可選關係。
- 主要鍵(PK):主要鍵是資料庫表格中每一筆記錄(資料列)的唯一識別符。它確保每筆資料列都具有獨特且非空的值,是維持資料完整性與高效資料檢索的關鍵元件。在ERD中,主要鍵以實體內的下劃線屬性表示。
- 外來鍵(FK):外來鍵是某一表格中的屬性或屬性集合,指向另一個表格的主要鍵。它在兩個表格的資料之間建立連結或關係。在ERD中,外來鍵以實線連接兩個實體表示,通常附有標示關係的符號,例如「1:N」代表一對多關係。
3. 進階ERD概念
a. 子型與超型
在某些情況下,實體可被劃分為子型,每個子型具有其獨特的屬性。此概念用於表示實體內部的層級關係。
範例:考慮一個「人員」實體,其子型為「員工」與「客戶」。「員工」子型可能具有「員工編號」與「聘用日期」等屬性,而「客戶」子型則具有「客戶編號」與「註冊日期」等屬性。
b. 關聯實體
關聯實體用於表示兩個實體之間的多對多關係。它引入一個新的實體來解決多對多關係。
範例:在大學資料庫中,您可能會有「學生」實體與「課程」實體。為了表示學生與課程之間的多對多關係,您引入一個「註冊」實體,其屬性包括「註冊編號」與「註冊日期」。
c. 多值屬性
多值屬性可為單一實體提供多個值。它們通常以附著於實體的雙重橢圓形表示。
範例:在「書籍」實體中,您可能會有一個多值屬性「作者」,可包含多位作者的姓名。
d. 衍生屬性
衍生屬性是其值可從資料庫內其他屬性推導出的屬性。它們通常以虛線橢圓表示。
範例:在「人員」實體中,您可能會有一個衍生屬性「年齡」,其值可根據「出生日期」計算得出。
4. 進階實體關係圖範例
a. 圖書館管理系統
讓我們為一個具備進階概念的圖書館管理系統建立實體關係圖:
- 實體:書籍、作者、學生、圖書館員、交易
- 次型:員工(圖書館員)、顧客(學生)
- 關聯實體:書籍副本(用於管理書籍的多個副本)
- 多值屬性:作者姓名
- 衍生屬性:學生年齡

b. 電子商務平台
考慮一個具備進階功能的電子商務平台:
- 實體:使用者、產品、訂單、付款
- 次型:顧客、賣家
- 關聯實體:訂單項目(用於表示訂單中的產品)
- 多值屬性:產品屬性(例如:尺寸、顏色)
- 衍生屬性:訂單總金額

6. 結論
建立進階實體關係圖涉及對複雜資料關係與屬性的建模。理解次型、超型、關聯實體、多值屬性與衍生屬性,對於設計完整的資料庫系統至關重要。透過正確的工具與概念,您能有效呈現並傳達資料模型的結構。











