個體 — 關聯模式

46
2003/5/8 Hue-Ling Chen ERD-1 —個個個個 個個個個個個個個個個個 4.8

Upload: cyrus-harvey

Post on 01-Jan-2016

49 views

Category:

Documents


0 download

DESCRIPTION

個體 — 關聯模式. 資料庫系統之理論與實務 4.8. 專有名詞. 實體 (Entity) :代表真實世界中的一個事物或觀念。 屬性 (Attribute) :描述實體之個別特性。 實體集 (Entity Set) :一群擁有相同屬性的實體。 關係 (Relationship) :數個實體間的聯結 (Associate) 。 關係集 (Relationship Set) :同類型關係的集合。. Student. Study-in. Department. e1. r1. d1. e2. r2. d2. e3. r3. d3. e4. r4. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-1

個體—關聯模式

資料庫系統之理論與實務 4.8

Page 2: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-2

Page 3: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-3

Page 4: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-4

專有名詞

實體 (Entity) :代表真實世界中的一個事物或觀念。 屬性 (Attribute) :描述實體之個別特性。 實體集 (Entity Set) :一群擁有相同屬性的實體。 關係 (Relationship) :數個實體間的聯結 (Associat

e) 。 關係集 (Relationship Set) :同類型關係的集合。

Page 5: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-5

Student Study-in Department

e1

e2

e3

e4

r1

r2

r3

r4

d1

d2

d3

d4

Student, Department → 實體集 (entity set)Study-in → 關係集 (relationship set)e1, e2, e3, e4 為實體 (entity)d1, d2, d3, d4 為實體 (entity)r1, r2, r3, r4 為關係 (relationship)

Page 6: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-6

E-R 圖和自然語言的對應關係名詞:一個句子的主詞 / 受詞,對應到實體型態。

形容詞:修飾名詞的形容詞,對應到實體型態上的屬性。

動詞:聯繫主詞 / 受詞,對應到關係型態。副詞:修飾動詞,對應到關係型態上的屬性。

Page 7: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-7

主詞

形容詞形容詞

實體型態

屬性 屬性

張三

年齡 性別

Page 8: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-8

動詞

副詞

屬性

關係型態

年資

工作

Page 9: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-9

受詞

形容詞形容詞

實體型態

屬性 屬性

部門

名稱 代號

Page 10: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-10

個體—關聯模式中的概念 (1)

「語意資料模式」→資料的分析與規劃 「個體關聯圖」→系統分析與邏輯資料庫設計的

工具,系統分析師與使用者的溝通介面。1. 個體 ( 實體, Entities) :例子:員工與家屬的資

料 強個體型態:一實體型態決定另一實體的存在於

否。 弱個體型態:一實體型態是依賴另一實體型態而

存在,沒有充分的屬性構成主鍵。 存在相依 (existence-dependence) :一個實體的

存在與否,是由其它實體決定。

Page 11: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-11

Table name: EMPLOYEE

員工編號 姓名 生日1001 劉的華 3/12/61

1002 郭付錢 11/23/70

1003 張小有 8/15/68

Table name: DEPENDENT

員工編號 親屬編號 親屬姓名 生日1001 1 劉級 6/21/84

1001 2 劉口水 12/5/87

1001 3 劉滑梯 9/30/92

1003 1 張郎 11/17/83

1003 2 張魚 10/25/94

Page 12: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-12

個體—關聯模式中的概念 (2)

個體類型 同一類型的個體組成一個個體類型 (Entity Typ

e) 特性

單一特性或複合特性 鍵值 單一值、多重值或一個不確定的虛值 基本特性或導出的特性

Page 13: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-13

個體—關聯模式中的概念 (3)

個體與個體之間的關係 一對一、一對多、多對多 弱勢關係

子類型 (Subtypes) :演變成「物件導向模式」的基礎。 學生

大學部 研究生

碩士班 博士班

Page 14: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-14

個體—關聯模型 (Entity – Relationship)

Page 15: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-15

個體—關聯模型 (Entity – Relationship)

Page 16: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-16

屬性的型態 (1)

簡單 vs. 複合屬性 簡單屬性:一屬性不能再被分割。 複合屬性:一屬性可被分割成數個具有含意的屬性。

Address

StreetAddress City State Zip

Number Street AreaNumber

Page 17: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-17

屬性的型態 (2)

單值屬性 vs.多值屬性 單值屬性:對一個實體而言,若其某一屬性僅有一個內含值,則該屬性稱之為單值屬性。

例子 : 年紀為單值屬性

多值屬性:若屬性的內含值有多種可能值,則稱該屬性為多值屬性。

例子 : 聯絡電話為多值屬性

Page 18: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-18

Books

id 書名

價錢

出版商

作者

Page 19: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-19

屬性的型態 (3)

衍生屬性:屬性的內含值可由其它的屬性得知。

Stored attribute :可推演出衍生屬性的屬性。 例子 : 年紀可由出生日期推算而來。

衍生屬性 Stored attribute

Page 20: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-20

Employee_ID

Employee_Name

Address

EMPLOYEE

Date_Employed

Years_Employed Skill

Multiple-valueAttribute

Derived Attribute

例子:

Page 21: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-21

弱實體型態與辨認關係型態 辨認擁有者 (Identifying Owner) :

弱實體型態依附強實體型態而存在,強實體型態為弱實體型態之辨認擁有者。

辨認關係型態 (Identifying Relationship) : 弱實體型態與其擁有者之間的關係型態。

Page 22: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-22

Employee Dependents_of Dependent

Name Sex

Birth Relationship

1 N

Page 23: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-23

映射大小 (Mapping Cardinality 、 Cardinality Ratio)透過關係型態,描述一個實體型態中的實體與其它實體型態中有多少實體連結。 1:1( 一對一 ) 1:N( 一對多 ) N:M( 多對多 )

Page 24: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-24

1:1( 一對一 )

Man Marriage Woman

一個男人只能有一個太太。一個女人只能有一個先生。

Page 25: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-25

1:N ( 一對多 )

Department Work Employee

一個部門能有多個員工。一個員工只屬於一個部門。

Page 26: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-26

M:N (多對多)

Student Major Course

每個學生可修多門課。一門課可讓多個學生選修。

Page 27: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-27

關係型態上的屬性關係型態上也可如實體型態一般擁有屬性。

例 1

Employee Manages Department

StartDate

1 1

StartDate: 記錄著一個經理何時開始管理一個部門。

Page 28: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-28

關係型態上的屬性 (2)

例 2

Employee Work_on Project

Hours

M N

Hours: 每一個員工花在一個專案上的時間。

Page 29: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-29

例子 每一個學生 (Student) 記錄,含有 SNO 、 SNAME 、 SC

ORE 三個欄位。 每個課程 (Course) 記錄,含有 CNO 、 CNAME 、 CRE

DIT 三欄位。 每個教授 (Faculty) 記錄,含有 FNO 、 FNAME 、 OFFIC

E 三欄位。 每個學生必須選修 (Enroll) 課程,每門課程需有學生選才

開。 每個學生都有一個指導教授,而每個教授可以指導 (Advis

e) 許多學生,亦可不收。 每個教授必須開課 (Teach) ,且相同的課程可以由不同的

教授講授。

Page 30: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-30

基本名詞超級鍵 (superkey) :由一個或多個屬性組合而成的集合,可用來識別實體型態中唯一的實體。

候選鍵 (Candidate) :最小的 superkey ,換言之其子集合中不會形成 superkey 。

主鍵 (Primary key) :為一候選鍵作為識別唯一實體的依據。

Page 31: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-31

開發資料庫系統的規劃事項 (1)

1. 先確定應用系統所需要的「個體類型」 (Entity Type) 有哪些?

選課系統 學生 (Student) 課程 (Course) 老師 (Teacher)

Page 32: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-32

開發資料庫系統的規劃事項 (2)

2. 接下來找出個體與個體間會存在資料庫中靜態「關係類型」 (Relationship Type) ,並探討其關係是「一對一」、「一對多」或「多對多」。

每個學生必須選修 (Enroll) 課程,每門課程需有學生選才開。→「多對多」

每個學生都有一個指導教授,而每個教授可以指導 (Advise) 許多學生,亦可不收。→「一對多」

每個教授必須開課 (Teach) ,且相同的課程可以由不同的教授講授。 →「一對多」

Page 33: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-33

開發資料庫系統的規劃事項 (3)

3. 繪出「個體—關係圖」 (Entity-Relationship Diagram, ERD) 。

Student Course

Teacher

Enroll

Advise Teach

m n

n m

1 1

Page 34: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-34

開發資料庫系統的規劃事項 (4)

4. 檢討「個體—關係圖」中的每個「個體」所需的特性。

每一個學生 (Student) ,含有學號、姓名、級別等特性。

每個課程 (Course) 記錄,含有課號、課程名稱、開課時間等特性。

每個教授 (Faculty) 記錄,含有教師編號、姓名、辦公室等特性。

Page 35: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-35

開發資料庫系統的規劃事項 (5)

5. 檢討「個體—關係圖」中的每個「關係類型」所需的特性。

學生選課 「學分數」 (credits)

Page 36: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-36

開發資料庫系統的規劃事項 (6)

6. 在「個體—關係圖」上補上橢圓行代表各種特性。

Teacher

Enroll

Teach

m n

n m

1 1

學號

姓名

級別

時間課號

課名

CourseStudent

Advise

代號 姓名 辦公室

學分

Page 37: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-37

開發資料庫系統的規劃事項 (7)

7.針對每一個「個體—關聯圖」中的「個體類型」產生一個關聯表,其中關聯表的屬性即為個體的特性。

Student 學號 姓名 級別

Course 課號 課名 時間

Teacher 代號 姓名 辦公室

Page 38: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-38

開發資料庫系統的規劃事項 (8)

8. 針對每一個「個體—關係圖」中的「關聯類型」也產生一個關聯表。

Page 39: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-39

Case 1:1 Ⅰ 移入任何一個

Employee Manages Department

StartDate

1 1

Employee Manages Department

StartDate

1 1

Page 40: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-40

Case 1:N Ⅱ 移入 N 的一方

Employee Work_For Department

StartDate

N 1

Employee Work_For Department

StartDate

N 1

Page 41: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-41

Student 學號 姓名 級別 代號

Course 課號 課名 時間 代號

Teacher 代號 姓名 辦公室

Teacher 代號 姓名 辦公室

Advise

Teach

Page 42: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-42

Case M:N Ⅲ 不可移入任何一方

Enroll 學號 課號 學分

Student 學號 姓名 級別

Course 課號 課名 時間

Page 43: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-43

開發資料庫系統的規劃事項 (9)

針對每一個表格的所有屬性,一一檢討下列幾項有關於欄位的內容 意義 類型:整數,字元,日期或圖片。 所佔的位元長度 內容是否要唯一:候選鍵與主鍵的確定。 是否有預設值 是否有範圍限制 是否有格式規範 是否為外來鍵?參考的表格與欄位?外來鍵的使用規格?

Page 44: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-44

開發資料庫系統的規劃事項 (10)10.繪出整體資料庫的外來鍵參考圖

Page 45: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-45

開發資料庫系統的規劃事項 (11,12)11.規劃各個功能的使用者介面與系統架構圖12.對於各個系統的功能,說明要完成該功能的

資料庫運算為何 預儲程序 (Stored Procedure) 觸發程序 (Trigger)

Page 46: 個體 — 關聯模式

2003/5/8 Hue-Ling Chen ERD-46

Bookstores

no name

1 巨蟹書局

2 射手書局

3 水瓶書店

4 天秤書局

5 獅子書局

Books

id bookname publisher

1 道德經 大唐出版社2 三國演義 古文出版社3 水滸傳 中庸出版社4 紅樓夢 春秋出版社5 西遊記 聊齋出版社6 水經注 易經出版社

Orders

no id quantity

1 1 30

2 1 30

1 2 20

2 2 40

3 2 20

4 2 20

1 3 40

1 4 20

4 4 30

1 5 10

4 5 40

1 6 10