2011-12-21,离现在 13 年 321 天,建議確認內容是否仍然適用。
ER Model
實體關係圖
實體關係模式的概念
實體關係模式的概念
【
【
定義
定義
】
】
實體
實體
關係
關係
模式
模式
(Entity
(Entity
-
-
Relation Model)
Relation Model)
?
?
它是用來描述「
它是用來描述「
實體
實體
」
」
與「
與「
實體
實體
」
」
之間
之間
關係的工具
關係的工具
。
。
【
【
實體
實體
】
】
是指
是指
用以描述真實世界的物件
用以描述真實世界的物件
。
。
【
【
例如
例如
1
1
】
】
學生、員工、產品
學生、員工、產品
等等都是屬於
等等都是屬於
實體
實體
。
。
【
【
例如
例如
2
2
】
】
在實務需求上我們可以將「實體」轉換成各種資料表:
在實務需求上我們可以將「實體」轉換成各種資料表:
學生
學生
實體
實體
學生
學生
資料表
資料表
員工
員工
實體
實體
員工
員工
資料表
資料表
產品
產品
實體
實體
產品
產品
資料表
資料表
【
【
關係
關係
】
】
是指用來表示「一個實體」與「另一個實體」
是指用來表示「一個實體」與「另一個實體」
關聯的方式
關聯的方式
。
。
【
【
例如
例如
】
】
一對一關係
一對一關係
、
、
一對多關係
一對多關係
、
、
多對多關係
多對多關係
。
。
「實體關係模式」是利用
「實體關係模式」是利用
「圖形化」
「圖形化」
的表示法,可以很容易的被一般
的表示法,可以很容易的被一般
非技術人員
非技術人員
所了解。因此,「實體關係模式」可視為
所了解。因此,「實體關係模式」可視為
設計者
設計者
與
與
使用者
使用者
溝
溝
通的
通的
工具與橋樑。
工具與橋樑。
基本上,
基本上,
實體
實體
(Entity)
(Entity)
與
與
關係
關係
(Relation)
(Relation)
是用來將
是用來將
事物
事物
加以
加以
模式化
模式化
,
,
並且
並且
以「圖形」表示
以「圖形」表示
的方式來顯示
的方式來顯示
語意
語意
。如下表所示。
。如下表所示。
ER
ER
圖的符號表
圖的符號表
ER
ER
圖之組成元素
圖之組成元素
表示符號
表示符號
說明
說明
實體
實體
(Entity)
(Entity)
用以
用以
描述真實世界的物件
描述真實世界的物件
。
。
例如:學生、員工及產品。
例如:學生、員工及產品。
屬性
屬性
(Attribute)
(Attribute)
用來
用來
描述實體的性質
描述實體的性質
。
。
例如:學生的學號、姓名。
例如:學生的學號、姓名。
鍵值
鍵值
(Key)
(Key)
用來
用來
辨認
辨認
某一實體集合中的每一個實體
某一實體集合中的每一個實體
的
的
唯一性
唯一性
。
。
例如:學號、身分證字號。
例如:學號、身分證字號。
關係
關係
(Relationship)
(Relationship)
用來表示一個
用來表示一個
實體
實體
與另一個
與另一個
實體關聯
實體關聯
的
的
方式。
方式。
例如:一對一關係、一對多關係、多對
例如:一對一關係、一對多關係、多對
多關係。
多關係。
【
【
實例
實例
】
】
E
E
-
-
R
R
圖
圖
說明:一個
說明:一個
「實體」
「實體」
在關聯式資料庫中視為一個
在關聯式資料庫中視為一個
「資料表」
「資料表」
,對於一個
,對於一個
實體而言,它可以含有多個
實體而言,它可以含有多個
「屬性」
「屬性」
(Attribute)
(Attribute)
用以描述該實體,
用以描述該實體,
在關聯式資料庫中,則以資料表的
在關聯式資料庫中,則以資料表的
「欄位」
「欄位」
來表示。
來表示。
訂單
訂單編號
訂單日期
訂單金額
客戶
客戶編號
客戶姓名
客戶電話
客戶地址
下
實體(
實體(
Entity
Entity
)
)
【
【
定義
定義
】
】
1.
1.
用來描述
用來描述
實際存在的事物
實際存在的事物
(
(
如:學生
如:學生
)
)
,
,
也可以是
也可以是
邏輯抽象的概念
邏輯抽象的概念
(
(
如:課程
如:課程
)
)
。
。
2.
2.
必須可以
必須可以
被識別
被識別
,亦即能夠清楚
,亦即能夠清楚
分辨出兩個不同的實體
分辨出兩個不同的實體
。
。
3.
3.
實體
實體
都是以
都是以
「名詞」
「名詞」
的型式來命名,
的型式來命名,
不可以
不可以
是
是
「形容詞」或「動
「形容詞」或「動
詞」
詞」
。
。
【
【
例如
例如
】
】
學生、員工及產品。
學生、員工及產品。
【
【
分類
分類
】
】
1.
1.
強實體
強實體
(strong entity)
(strong entity)
2.
2.
弱實體
弱實體
(weak entity)
(weak entity)
屬性(
屬性(
Attribute
Attribute
)
)
【
【
定義
定義
】
】
用來
用來
描述實體的性質
描述實體的性質
(Property)
(Property)
。
。
【
【
例如
例如
】
】
學號、姓名、性別
學號、姓名、性別
是用來描述
是用來描述
學生實體
學生實體
的性質。
的性質。
【
【
分類
分類
】
】
1.
1.
簡單屬性
簡單屬性
(simple attribute)
(simple attribute)
2.
2.
複合屬性
複合屬性
(composite attribute)
(composite attribute)
鍵屬性
鍵屬性
(Key attribute)
(Key attribute)
【
【
定義
定義
】
】
是指該
是指該
屬性的值
屬性的值
在某個環境下
在某個環境下
具有唯一性
具有唯一性
。
。
【
【
例如
例如
】
】
學號
學號
屬性稱為
屬性稱為
「鍵
「鍵
(Key)
(Key)
」。
」。
【
【
表示圖形
表示圖形
】
】
以「橢圓形」內的
以「橢圓形」內的
屬性名稱
屬性名稱
加底線方式
加底線方式
表示如下:
表示如下:
【
【
特性
特性
】
】
在實體關係圖
在實體關係圖
(E
(E
-
-
R Diagram)
R Diagram)
當中,我們會在
當中,我們會在
鍵屬性的名稱
鍵屬性的名稱
底下加
底下加
一條底線
一條底線
表示之。
表示之。
關係(
關係(
Relationship
Relationship
)
)
【
【
定義
定義
】
】
是指用來
是指用來
表達兩個實體之間
表達兩個實體之間
所
所
隱含的關聯性
隱含的關聯性
。
。
【
【
關係命名規則
關係命名規則
】
】
使用足以說明關聯性質的
使用足以說明關聯性質的
「動詞」
「動詞」
或
或
「動詞片語」
「動詞片語」
命名。
命名。
【
【
例如
例如
】
】
『
『
學生
學生
』
』
與
與
『
『
系所
系所
』
』
兩個實體
兩個實體
型態間存在著一種關係─
型態間存在著一種關係─
「就讀於」
「就讀於」
。
。
【
【
表示圖形
表示圖形
】
】
以「菱形」方式表示如下:
以「菱形」方式表示如下:
1.
1.
一對一的關係
一對一的關係
(1
(1
:
:
1)
1)
:
:
表示兩個實體之間的關係是一對一的關係。
表示兩個實體之間的關係是一對一的關係。
2.
2.
一對多的關係
一對多的關係
(1
(1
:
:
M)
M)
:表示兩個實體之間的關係是一對多的關係。
:表示兩個實體之間的關係是一對多的關係。
3.
3.
多對一的關係
多對一的關係
(M
(M
:
:
1)
1)
:表示兩個實體之間的關係是多對一的關係。
:表示兩個實體之間的關係是多對一的關係。
4.
4.
多對多的關係
多對多的關係
(M
(M
:
:
N)
N)
:表示兩個實體之間的關係是多對多的關係。
:表示兩個實體之間的關係是多對多的關係。
關係的基數性
關係的基數性
(
(
cardinality
cardinality
)
)
【
【
定義
定義
】
】
關係還具有「基數性」,代表
關係還具有「基數性」,代表
實體
實體
所能
所能
參與關係
參與關係
的
的
案例數
案例數
。
。
1.
1.
一對一的關係
一對一的關係
(1
(1
:
:
1)
1)
:
:
表示兩個實體之間的關係是一對一的關係。
表示兩個實體之間的關係是一對一的關係。
說明:一個
說明:一個
A
A
實體會對應到一個
實體會對應到一個
B
B
實體。
實體。
【
【
對應關係圖
對應關係圖
】
】
1.
1.
一對一的關係
一對一的關係
(1
(1
:
:
1)
1)
【
【
舉例
舉例
】
】
假設每一位老師僅能分配一間研究室,並且每一間研究室只能
假設每一位老師僅能分配一間研究室,並且每一間研究室只能
被一位老師使用。
被一位老師使用。
【
【
對應關係圖
對應關係圖
】
】
說明:每一位老師會對應到每一間研究室。
說明:每一位老師會對應到每一間研究室。
2.
2.
一對多的關係
一對多的關係
(1
(1
:
:
M)
M)
:表示兩個實體之間的關係是一對多的關係。
:表示兩個實體之間的關係是一對多的關係。
說明:一個
說明:一個
A
A
實體會對應到多個
實體會對應到多個
B
B
實體。
實體。
【
【
對應關係圖
對應關係圖
】
】
說明:
說明:
A3
A3
實體對應
實體對應
B3
B3
與
與
B4
B4
兩個實體
兩個實體
2.
2.
一對多的關係
一對多的關係
(1
(1
:
:
M)
M)
【
【
舉例
舉例
】
】
假設每一位教授可以同時指導多位研究生,但每一位研究生只
假設每一位教授可以同時指導多位研究生,但每一位研究生只
能有一位指導教授,不可以有共同指導現象。
能有一位指導教授,不可以有共同指導現象。
【
【
對應關係圖
對應關係圖
】
】
說明:每一位教授可以指導多位研究生,但每一位研究生只能有一位指導教
說明:每一位教授可以指導多位研究生,但每一位研究生只能有一位指導教
授。
授。
例如:
例如:
T3
T3
教授同時指導
教授同時指導
S3
S3
與
與
S4
S4
兩位研究生。但
兩位研究生。但
S1~S4
S1~S4
只能找一位教授指導。
只能找一位教授指導。
3.
3.
多對一的關係
多對一的關係
(M
(M
:
:
1)
1)
:表示兩個實體之間的關係是多對一的關係。
:表示兩個實體之間的關係是多對一的關係。
說明:一個
說明:一個
B
B
實體會對應到多個
實體會對應到多個
A
A
實體。
實體。
【
【
對應關係圖
對應關係圖
】
】
說明:
說明:
B3
B3
實體對應到
實體對應到
A3
A3
與
與
A4
A4
兩個實體
兩個實體
3.
3.
多對一的關係
多對一的關係
(M
(M
:
:
1)
1)
4.
4.
多對多的關係
多對多的關係
(M
(M
:
:
N)
N)
:表示兩個實體之間的關係是多對多的關係。
:表示兩個實體之間的關係是多對多的關係。
說明:多個
說明:多個
A
A
實體會對應到多個
實體會對應到多個
B
B
實體。
實體。
【
【
對應關係圖
對應關係圖
】
】
說明:
說明:
A1
A1
、
、
A2
A2
及
及
A3
A3
三個實體對應一個
三個實體對應一個
B1
B1
實體,並且
實體,並且
B1,B2
B1,B2
及
及
B3
B3
三個實體對應
三個實體對應
一個
一個
A3
A3
實體
實體
4.
4.
多對多的關係
多對多的關係
(M
(M
:
:
N)
N)
【
【
舉例
舉例
】
】
假設每一位教授可以申請國科會多項計畫,並且每一項計畫也
假設每一位教授可以申請國科會多項計畫,並且每一項計畫也
可以由多位教授來共同申請。
可以由多位教授來共同申請。
【
【
對應關係圖
對應關係圖
】
】
說明:
說明:
T3
T3
教授申請
教授申請
P1,P2
P1,P2
及
及
P3
P3
三項計畫,並且
三項計畫,並且
P1
P1
計畫被
計畫被
T1,T2
T1,T2
及
及
T3
T3
三位教授共
三位教授共
同申請。
同申請。
【
【
個案實例
個案實例
】
】
請依下列的述敘來畫出完整的實體
請依下列的述敘來畫出完整的實體
-
-
關係圖
關係圖
(ERD)
(ERD)
:
:
1.
1.
「
「
學生實體
學生實體
」和「
」和「
課程實體
課程實體
」之間有「
」之間有「
選修
選修
」的關係。
」的關係。
2.
2.
學生實體
學生實體
有
有
學號、姓名、生日、年齡、地址、電話及專長
學號、姓名、生日、年齡、地址、電話及專長
等屬性
等屬性
,
,
其中
其中
學號
學號
為鍵屬性、
為鍵屬性、
年齡
年齡
需要利用
需要利用
生日導出來
生日導出來
,
,
而學生有
而學生有
兩個以上的
兩個以上的
專長
專長
。
。
3.
3.
課程實體
課程實體
有
有
課程編號、課程名稱、學分數
課程編號、課程名稱、學分數
等屬性
等屬性
,
,
課程編號
課程編號
為鍵屬
為鍵屬
性。
性。
【
【
解答
解答
】
】
將
將
ER
ER
圖轉換成對應表格的法則
圖轉換成對應表格的法則
【
【
規則
規則
】
】
1.
1.
每一個
每一個
「實體」
「實體」
名稱轉換成
名稱轉換成
「表格」
「表格」
名稱。
名稱。
2.
2.
每一個實體的
每一個實體的
「屬性」
「屬性」
名稱轉換為該表格的
名稱轉換為該表格的
「欄位」
「欄位」
名稱。
名稱。
3.
3.
每一個實體的
每一個實體的
「鍵值屬性」
「鍵值屬性」
轉換為
轉換為
「主鍵欄位」
「主鍵欄位」
。
。
4.
4.
如果
如果
鍵值屬性
鍵值屬性
為
為
複合屬性
複合屬性
,則這
,則這
複合屬性
複合屬性
所有的欄位皆為
所有的欄位皆為
主索引欄位
主索引欄位
。
。
【
【
例如
例如
】
】
請將下列的
請將下列的
ER
ER
圖轉換成資料表。
圖轉換成資料表。
【
【
解答
解答
】
】
教師
教師
教師編號
教師編號
姓名
姓名
性別
性別
薪水
薪水
系所代碼
系所代碼
第一種情況:
第一種情況:
1
1
對
對
1(1:1)
1(1:1)
關係
關係
【
【
定義
定義
】
】
是指兩個實體之間的關係為一對一。
是指兩個實體之間的關係為一對一。
【
【
ER
ER
圖
圖
】
】
建立資料表間的關聯
建立資料表間的關聯
【
【
作法
作法
】
】
基本上有兩種不同的作法
基本上有兩種不同的作法
1.
1.
第一種作法:
第一種作法:
將
將
Entity2
Entity2
資料表的
資料表的
主鍵
主鍵
B
B
嵌入
嵌入
到
到
Entity1
Entity1
資料表中,當作
資料表中,當作
Entity1
Entity1
資料表的
資料表的
外來鍵
外來鍵
(F.K.)
(F.K.)
。因此,兩個資料表之間的關聯就是透過
。因此,兩個資料表之間的關聯就是透過
Entity1
Entity1
資料表的
資料表的
外
外
來鍵
來鍵
(F.K.)
(F.K.)
參考對應
參考對應
Entity2
Entity2
資料表的
資料表的
主鍵
主鍵
(P.K.)
(P.K.)
對應
外來鍵
外來鍵
(F.K.)
(F.K.)
嵌入
嵌入
主鍵
主鍵
(P.K.)
(P.K.)
【
【
作法
作法
】
】
基本上有兩種不同的作法
基本上有兩種不同的作法
2.
2.
第二種作法:
第二種作法:
將
將
Entity1
Entity1
資料表的
資料表的
主鍵
主鍵
A
A
嵌入
嵌入
到
到
Entity2
Entity2
資料表中,當作
資料表中,當作
Entity2
Entity2
資料表的
資料表的
外來鍵
外來鍵
(F.K.)
(F.K.)
。因此,兩個資料表之間的關聯就是透過
。因此,兩個資料表之間的關聯就是透過
Entity2
Entity2
資料表的
資料表的
外
外
來鍵
來鍵
(F.K.)
(F.K.)
參考對應
參考對應
Entity1
Entity1
資料表的
資料表的
主鍵
主鍵
(P.K.)
(P.K.)
對應
外來鍵
外來鍵
(F.K.)
(F.K.)
嵌入
嵌入
主鍵
主鍵
(P.K.)
(P.K.)
【
【
實例
實例
】
】
假設每一位「教師」只能分配一個「車位」,並且每一個「車位」僅能
假設每一位「教師」只能分配一個「車位」,並且每一個「車位」僅能
被分配給一位「教師」,其一對一的關係之
被分配給一位「教師」,其一對一的關係之
ER
ER
圖,如下所示:
圖,如下所示:
請將以上的
請將以上的
ER
ER
圖轉換成資料表。
圖轉換成資料表。
【
【
解答
解答
】
】
教師
教師
分
分
配
配
車位
車位
教師編號
教師編號
車位代碼
車位代碼
1
1
1
1
第一種情況
第一種情況
教師資料表
教師資料表
(
(
教師編號
教師編號
,
,
…
…
車位代碼
車位代碼
)
)
車位資料表
車位資料表
(
(
車位代碼
車位代碼
,
,
…
…
)
)
第二種情況
第二種情況
教師資料表
教師資料表
(
(
教師編號
教師編號
,
,
…
…
)
)
車位資料表
車位資料表
(
(
車位代碼
車位代碼
,
,
…
…
,教師編號
,教師編號
)
)
第二種情況:
第二種情況:
1
1
對多
對多
(1:M)
(1:M)
關係
關係
【
【
定義
定義
】
】
是指兩個實體之間的關係為一對多。
是指兩個實體之間的關係為一對多。
【
【
ER
ER
圖
圖
】
】
【
【
作法
作法
】
】
當兩個實體的關係為一對多時,則
當兩個實體的關係為一對多時,則
實體為多那方
實體為多那方
在
在
轉換成
轉換成
Table
Table
時
時
,要
,要
再增加
再增加
一個
一個
外來鍵
外來鍵
(F.K.)
(F.K.)
。
。
將
將
Entity1
Entity1
資料表的
資料表的
主鍵
主鍵
A
A
嵌入
嵌入
到
到
Entity2
Entity2
資料表
資料表
(
(
多那方
多那方
)
)
中,當作
中,當作
Entity2
Entity2
資
資
料表的
料表的
外來鍵
外來鍵
(F.K.)
(F.K.)
。因此,兩個資料表之間的關聯就是透過
。因此,兩個資料表之間的關聯就是透過
Entity2
Entity2
資料表的
資料表的
外
外
來鍵
來鍵
(F.K.)
(F.K.)
參考對應
參考對應
Entity1
Entity1
資料表的
資料表的
主鍵
主鍵
(P.K.)
(P.K.)
對應
外來鍵
外來鍵
(F.K.)
(F.K.)
嵌入
嵌入
主鍵
主鍵
(P.K.)
(P.K.)
【
【
實例
實例
】
】
假設每一位「教師」可以同時指導多位「學生」,但是,每一位「學
假設每一位「教師」可以同時指導多位「學生」,但是,每一位「學
生」僅能被一位「教師」指導,其一對多的關係之
生」僅能被一位「教師」指導,其一對多的關係之
ER
ER
圖,如下所示:
圖,如下所示:
請將以上的
請將以上的
ER
ER
圖轉換成資料表。
圖轉換成資料表。
【
【
解答
解答
】
】
教師
教師
指
指
導
導
學生
學生
教師編號
教師編號
學號
學號
1
1
M
M
教師資料表
教師資料表
(
(
教師編號
教師編號
,
,
…
…
)
)
學生資料表
學生資料表
(
(
學號
學號
,
,
…
…
,教師編號
,教師編號
)
)
第三種情況:多對多
第三種情況:多對多
(M:N)
(M:N)
關係
關係
【
【
定義
定義
】
】
是指兩個實體之間的關係為多對多。
是指兩個實體之間的關係為多對多。
【
【
ER
ER
圖
圖
】
】
【
【
作法
作法
】
】
當兩個實體的關係為多對多時。我們將
當兩個實體的關係為多對多時。我們將
增加
增加
一個
一個
R
R
資料表
資料表
,而
,而
R
R
資料表
資料表
的
的
主鍵欄位
主鍵欄位
是由
是由
Entity1
Entity1
資料表的主鍵
資料表的主鍵
A
A
與
與
Entity2
Entity2
資料表的主鍵
資料表的主鍵
B
B
所組成。
所組成。
在
在
R
R
資料表中
資料表中
A
A
欄位代表外來鍵
欄位代表外來鍵
(F.K.)
(F.K.)
與
與
Entity1
Entity1
資料表產生關聯,
資料表產生關聯,
而
而
R
R
資料表中
資料表中
B
B
欄位代表外來鍵
欄位代表外來鍵
(F.K.)
(F.K.)
與
與
Entity2
Entity2
資料表產生關聯。
資料表產生關聯。
對應
【
【
實例
實例
】
】
假設每一位「學生」可以同時選修多門「課程」,並且,每一門「課
假設每一位「學生」可以同時選修多門「課程」,並且,每一門「課
程」也可以被多位「學生」來選課,其多對多的關係之
程」也可以被多位「學生」來選課,其多對多的關係之
ER
ER
圖,如下所
圖,如下所
示:
示:
請將以上的
請將以上的
ER
ER
圖轉換成資料表。
圖轉換成資料表。
【
【
解答
解答
】
】
學生
學生
選
選
修
修
課程
課程
學號
學號
課號
課號
M
M
N
N
學生資料表
學生資料表
(
(
學號
學號
,
,
…
…
)
)
選課資料表
選課資料表
(
(
學號,課號
學號,課號
…
…
)
)
課程資料表
課程資料表
(
(
課號
課號
,
,
…
…
)
)
[
[
練習
練習
1]
1]
請將下列的
請將下列的
ER
ER
圖轉換成資料表。
圖轉換成資料表。
[
[
練習
練習
1]
1]
請將下列的
請將下列的
ER
ER
圖轉換成資料表。
圖轉換成資料表。
【
【
解答
解答
】
】
A(
A(
a1
a1
,a2)
,a2)
B(
B(
b1
b1
,b2)
,b2)
C(
C(
c1
c1
,c2,a1)
,c2,a1)
R1(
R1(
a1,b1
a1,b1
)
)
「侵權舉報」提交相關資料,我們將儘快核實並處理。