2010年10月12日 星期二

Ch10. 利用『實體 - 關係模型 ( E - R Model )』規劃資料庫

重點整理 : 

10-1  何謂『實體 - 關係模型』

實體 - 關係模型 ( Entity - Relationship Model ),簡稱 ( E - R Model ) 利用真實世界中事物和關係的觀念,來解釋資料庫中抽象的資料架構。

當我們在利用實體 - 關係模型設計資料庫時,不會牽涉到資料庫的操作、儲存方式 ...等複雜的電腦運作,且實體 - 關係模型利用圖形的方式 " 實體 - 關係圖 " ( Entity - Relationship Diagram )來表示資料庫的概念設計,有助於設計過程中的構思及溝通討論。

例如 :














10-2  『實體 - 關係模型』的組成要素

實體 - 關係模型主要是由實體 ( Entity )、關係 ( Relationship ) 及 屬性 ( Attribute )所組成。
  • 實體 ( Entity )
所謂實體 ( Entity )指的就是真實世界中的物件。而實體又可分為實體集合 ( Entity Set )實體類型 ( Entity Type )實例 ( Instance )


我們將同一類型的實體集合起來即成為實體集合 ( Entity Set );而又為了能明確區別每一個實體集合,我們便依照其特性之不同,賦予一個識別的名稱便稱為實體類型,而當中個別名稱就稱為實體類型中的實例


實體依其存在的條件又可分為弱實體 ( Weak Entity ) 一般實體 ( Regular Entity )兩種。

所謂弱實體就是必須依靠其他實體才能存在,如果弱實體所依靠的實體消失了,則該弱實體也就變得沒有意義。








弱實體以外的實體則都算是一般實體,它不需要依靠其他實體存在。

  • 關係 ( Relationship ) 
實體和實體之間必須透過關係 ( Relationship ) 才能產生連繫,否則只是兩個不相干的實體。

實體 - 關係圖中我們以菱形表示,並利用直線連接兩個實體。(如下)

而在實體 - 關係模型中,我們又可將實體與實體之間個關係分為 一對一一對多多對多 3 種關係。

一對一』關係,這是最簡單的關係,在具有關係的兩個實體中,甲實體的任一實例只能對應到乙實體的單一實例;而乙實體的任一實例也只能對應到甲實體的單一實例。(如下圖)

一對多』關係,則是說在具有關係的兩個實體中,甲實體的任一實例可對應到乙實體的多個實例;但乙實體的任一實例只能對應到甲實體的單一實例。(如下圖)






多對多』關係,則是在具有關係的兩個實體中,甲實體的任一實例可對應到乙實體的多個實例;且乙實體的任一實例也能對應到甲實體的多個實例。(如下圖)

  •  屬性 ( Attribute )

實體由若干屬性 ( Attribute ) 所組成,每個屬性都代表實體某方面的特性。而屬性是以" 橢圓形 " 來表示,並且以實線來和實體相連接。

屬性又可分為數種類型 :

鍵屬性 ( Key Attribute ),指在實體所有屬性中,若有一個屬性能唯一識別該實體中的實例,則我們稱之為 ( Key ) 屬性,就好像我們設定其為關聯式資料表中的主鍵一樣。其圖示是在屬性名稱下畫上 " 底線 " 表示。(如下圖)


推導屬性 ( Derived Attribute ),是指實體中若某些屬性可由其他屬性推算而來,則這些屬性我們稱之為 " 推導屬性 "。我們以 " 虛線 " 橢圓形表示。(如下圖)
複合屬性 ( Composite Attribute ),若某些屬性又可再細分為多個小屬性,我們即稱這些屬性為" 複合屬性 " 。

多值屬性 ( Multi - Valued Attribute ),當一個屬性具有一個以上時,我們稱為 " 多值屬性 ",我們以 " 雙橢圓形 " 表示之。 (如下圖)
10-3  擴充實體 - 關係模型

擴充實體 - 關係模型 ( Extended Entity - Relationship Model ) 簡稱 ( EER Model ),是實體 - 關係模型的擴充,包含實體 - 關係模型的概念外,還加入了超類型子類型的觀念。

超類型 ( Super Type ) / 子類型 ( Sub Type ) 的關聯,在設計資料庫的過程中,其實實體不如想像中單純還可依據某些特性上的差異,在細分為更多的實體。(如下圖所示)
§ 在一個實體集合中,可能某些實體具有特殊屬性,而我們必須要將它們和其他實體做區別,此時就必須運用到超類型子類型

§ 可能某些關係只關聯到一個實體集合中的某些實體,這時也必須運用超類型子類型


擴充實體 - 關係模型的屬性繼承關係

擴充實體 - 關係模型中,有一個非常重要的觀念,那就是繼承

特殊化 ( Specialization )

將員工實體依照其特殊特性,細分實體的過程,我們稱為特殊化

歸納化 ( Generalization )

我們可將許多實體中共同的特性集合起來,合成一個超類型,這種處理過程,我們稱為歸納化


超類型中的實例只能屬於單一子類型,我們稱之為 disjoint 關係;若超類型中的實例可包含在一個以上的子類型中,我們稱之為 overlap 關係。


一、選擇題

1. ( 2 ) 模型並不是構成實體 - 關係模型的主要元素,主要構成實體 - 關係模型的元素有 實體關係屬性
2. ( 4 ) 在實體 - 關係圖中 ,我們通常以                          來表示 " 弱實體 " 。

3. ( 2 ) 在實體 - 關係模型中,如果甲實體的任一實例可對應到乙實體的多個實例;且乙實體的任一實例也能對應到甲實體的多個實例,我們稱它們之間的關係為 " 多對多關係 " 。  

4. ( 4 ) 我們稱這些可以在細分出多個小屬性的屬性為 " 複合屬性 " 。
5. ( 3 ) 在汽車駕駛人實體中,我們依其性質不同又區分為自用車駕駛人實體及營業用車駕駛人實體,而其中一個駕駛人既屬於自用車駕駛人實體也屬於營業用車駕駛人實體,我們稱為 " 子類型的 overlap 關係 "。

二、填充題

1. 在實體的所有屬性中,我們將用來唯一代表該實體的屬性稱為 屬性;某些屬性是其他屬性推導而來,我們稱為 推導 屬性;某些屬性又可再細分為多個小屬性,我們稱為 複合 屬性;當一個屬性具有一個以上的值時,我們稱為 多值 屬性

2. 請畫出下列實體 - 關係圖組成要素的圖例 :

(1) 弱實體

 (2) 關係



 (3) 多值屬性

 (4) 鍵屬性
(5) 複合屬性

三、問答題

1.

實體 ( Entity ) : 指的就是真實世界中的物件。而實體又可分為實體集合 ( Entity Set )實體類型 ( Entity Type )實例 ( Instance )

實體和實體之間必須透過關係 ( Relationship ) 才能產生連繫,否則只是兩個不相干的實體。

實體由若干屬性 ( Attribute ) 所組成,每個屬性都代表實體某方面的特性


2.

§ 在一個實體集合中,可能某些實體具有特殊屬性,而我們必須要將它們和其他實體做區別,此時就必須運用到超類型子類型

§ 可能某些關係只關聯到一個實體集合中的某些實體,這時也必須運用超類型子類型

3.

(1)
(2)
(3)











沒有留言:

張貼留言