CH02 實體關係模式--基本概念

概念塑模(Conceptual data modeling)是將現實世界中的某部分的資料及資料間的關係用結構化的方式表達呈現。因而稱為迷你世界(Mini-world),具體來說,某個資料庫應用系統所涵蓋的部分現實世界,在設計該應用系統時,對相對應的迷你世界有正確和完整性的了解是非常重要的,通常可透過1.訪談 2.收集相關文件和表單兩個途徑來了解一資料庫應用系統。

實體關係模式(Entity Relationship Model,簡稱ER Model)是目前使用較普遍的概念塑模資料模式,經多位學者修正,最後被稱為擴充實體關係模式(Enhanced Entity Relationship Model,簡稱EER Model)。主要特色為物件導向的概念。顧名思義,實體關係模式的組成元素為實體(Entity)關係(Relationship)


2-2 何謂實體

眾多實體中,通常可以用實體型態(Entity type)來描述實體的屬性,實體型態裡必須存在至少一個屬性,使得不同實體的該屬性值必然不同,此屬性稱為關鍵屬性(Key attribute),比如,會員編號、商品代號等...。為了易於了解和溝通,實體關係模式定義一套圖形化表示法,稱為實體關係圖(Entity Relationship Diagram,簡稱ERD)

  • 實體(Entity) => 為迷你世界中的事或物,同資料表。ERD以矩形框表示。
  • 屬性(Attribute) => 實體中的迷你世界裡所需要的,同欄位。比如,基本資料表中的姓名、生日、電話等...。ERD以橢圓形框表示。
  • 屬性值(Attribute value) => 實體對於一些屬性均有專屬值(value)存在。比如,姓名欄位中的值為"劉的華"等...。
  • 多值屬性(Multi-valued attribute) => 當一個屬性的屬性值有可能不指一個時。ERD以雙橢圓形框表示。 
  • 單值屬性(Single-valued attribute) => 非多值屬性。
  • 複合屬性(Composite attribute) => 當屬性值是由數個屬性所組成時。ERD以橢圓形框表示,不過必須連線至其組成的屬性之橢圓形框。
  • 簡單屬性(Simple attribute) => 非複合屬性。


尚缺範例圖



2-3 何謂關係

有些屬性的名稱用藍色字標示,這些屬性並不單純,此稱為關係屬性

關係型態(Relationship Type) => 來描述同一類關係。ERD以菱型框來表示。絕大部分現實世界裡的關係都是二元的,此型態稱為二元關係型態(Binary relationship type)


尚缺範例圖


二元關係型態的結構上的限制(Structural constraint)包含兩部分:
  • 基數比(Cardinality ratio) => 用來表示一個實體最多可以跟幾個對方實體發生此類關係。ERD中二元關係型態有三種可能的基數比。
    1. 1:1   => 表示左邊的一個實體最多可與右邊的一個實體發生此類關係,同時右邊的一個實體最多也只能跟左邊的一個實體發生此類關係。
    2. 1:N  => 表示左邊的一個實體最多可與右邊的多個實體發生此類關係,但是右邊的一個實體最多也只能跟左邊的一個實體發生此類關係。
    3. M:N => 表示左邊的一個實體最多可與右邊的多個實體發生此類關係,同時右邊的一個實體最多也只能跟左邊的多個實體發生此類關係。

尚缺範例圖

  • 參與度(Participation constraint) => 用來表示一個實體最少可以跟幾個對方實體產生此類關係。(亦即,至少參與過幾次這種關係)。如果一個實體型態裡的每一個實體都必須參與此類關係(至少參與一個),則稱此實體型態完全參與(Total participation),ERD用雙線表示;否則為部分參與(Partial participation),ERD用單線表示

尚缺範例圖


弱實體型態(Weak entity type) => 關鍵屬性必須依賴某種關係型態的實體型態。ERD用雙矩形框表示。構成關鍵屬性的單純屬性被稱為部分鍵(Partial key),ERD用底線虛線表示

識別關係型態(Identifying relationship type) => 所依賴的關係型態。ERD用雙菱形框表示。識別關係型態另一方的實體型態即稱為主實體型態(Owner entity type)


尚缺範例圖


遞迴關係型態(Recursive relationship type) => 目前為止,二元關係型態左右兩邊的實體型態都不同,但是有些二元關係型態的左右兩邊實體型態卻指向同一個,因此衍生遞迴關係型態。


尚缺範例圖




*命名規則

實體關係模式是將資料的需求用結構化的方式表達,因此圖形表示方式必須簡明易懂。一般繪製ERD多半採英文命名,以方便轉進資料庫時也用英文來定義。以下三點須注意:
  1. 實體型態及關係型態名稱的首字大寫,屬性名稱首字小寫,角名名稱首字為底線"(under-score)  _"
  2. 實體型態名稱用名詞,關係型態名稱單數動詞,屬性名稱名詞
  3. 繪製ERD時內容文字要盡量符合人的閱讀習慣。



Comments