實體關係模型 (er model). 2 outline 資料庫的設計流程 實體關係模型 (entity...

17
實實實實 實實實實 (ER Model) (ER Model)

Post on 22-Dec-2015

245 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

實體關係模型實體關係模型(ER Model)(ER Model)

Page 2: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

22

OutlineOutline

資料庫的設計流程資料庫的設計流程實體關係模型實體關係模型 (Entity Relationship Model, (Entity Relationship Model, ER Model)ER Model)

關聯說明關聯說明範例:圖書管理系統範例:圖書管理系統

Page 3: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

33

資料庫的設計流程資料庫的設計流程

了解顧客需求

邏輯資料設計

實體資料設計

建立資料庫

使用 ER Model

進行正規化設計

使用結構化查詢語言( Structured Query Language, SQL )

Page 4: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

44

資料庫的設計流程資料庫的設計流程

結構化查詢語言結構化查詢語言 (Structured Query (Structured Query Language, SQL)Language, SQL) 包括包括 資料定義語言資料定義語言 (Data Definition Language, (Data Definition Language,

DDL)DDL) 資料操作語言資料操作語言 (Data Manipulation Language, (Data Manipulation Language,

DML)DML) 資料控制語言資料控制語言 (Data Control Language, DCL) (Data Control Language, DCL)

Page 5: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

55

實體關係模型實體關係模型(Entity Relationship Model, ER Model)(Entity Relationship Model, ER Model)

實體關係圖實體關係圖 (Entity Relationship Diagram, ERD)(Entity Relationship Diagram, ERD) 實體實體 (Entity)(Entity) :在真實世界中我們有興趣的人、事、物:在真實世界中我們有興趣的人、事、物。如學生、員工、公司、廠商等。。如學生、員工、公司、廠商等。

屬性屬性 (Attribute)(Attribute) :對於每的實體,使用者會有進一步想:對於每的實體,使用者會有進一步想紀錄或了解的資訊,而這些資料便成為該實體的屬性紀錄或了解的資訊,而這些資料便成為該實體的屬性。。

關係關係 (Relationship)(Relationship):存在於實體與實體間的關聯,可:存在於實體與實體間的關聯,可能是連接一個實體、兩個實體或多個實體。能是連接一個實體、兩個實體或多個實體。

Page 6: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

66

實體關係模型實體關係模型(Entity Relationship Model, ER Model)(Entity Relationship Model, ER Model)

鍵鍵 (Key)(Key) 候選鍵候選鍵 (Candidate Key)(Candidate Key) :所有可能被選為主鍵的鍵皆:所有可能被選為主鍵的鍵皆稱之。稱之。

主鍵主鍵 (Primary Key)(Primary Key) :可從眾多的候選鍵挑選一個為該:可從眾多的候選鍵挑選一個為該資料表的主鍵。資料表的主鍵。

替代鍵替代鍵 (Alternate Key)(Alternate Key) :候選鍵中未被選為主鍵者均:候選鍵中未被選為主鍵者均稱為替代鍵。稱為替代鍵。

組合鍵組合鍵 (Composite Key)(Composite Key) :由多個屬性所組合而成的鍵:由多個屬性所組合而成的鍵稱之。如薪水是由員工的年資與職位所組成。稱之。如薪水是由員工的年資與職位所組成。

外來鍵外來鍵 (Foreign Key)(Foreign Key) :另一個資料表上的「鍵」,它:另一個資料表上的「鍵」,它與本資料表之主鍵具有相同的意含,則該鍵稱為本資與本資料表之主鍵具有相同的意含,則該鍵稱為本資料表的「外來鍵」。料表的「外來鍵」。

Page 7: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

77

實體關係模型實體關係模型(Entity Relationship Model, ER Model)(Entity Relationship Model, ER Model)

關聯關聯 (Relationships)(Relationships) 一對一的關聯一對一的關聯 (1:1)(1:1) :指一個實體的記錄只能關聯到另:指一個實體的記錄只能關聯到另一個實體的一筆記錄。如學生與學號的關係。一個實體的一筆記錄。如學生與學號的關係。

一對多的關聯一對多的關聯 (1:M)(1:M) :指一個實體的記錄只能關聯到另:指一個實體的記錄只能關聯到另一個實體的多筆記錄。如員工與部門的關係。一個實體的多筆記錄。如員工與部門的關係。

多對多的關聯多對多的關聯 (M:N)(M:N) :指一個實體的多筆記錄只能關:指一個實體的多筆記錄只能關聯到另一個實體的多筆記錄。如客戶與商品的關係。聯到另一個實體的多筆記錄。如客戶與商品的關係。

Page 8: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

88

實體關係模型實體關係模型(Entity Relationship Model, ER Model)(Entity Relationship Model, ER Model)

資料完整性資料完整性 (Integrity Rules)(Integrity Rules) 實體完整性實體完整性 (Entity Integrity Rules)(Entity Integrity Rules) :資料表中設定主:資料表中設定主索引的欄位不能含有空值索引的欄位不能含有空值 (null) (null) 。。

參考完整性參考完整性 (Reference Integrity Rules)(Reference Integrity Rules) :建立關聯後:建立關聯後,其外部索引不能含有無法對應的欄位值。,其外部索引不能含有無法對應的欄位值。

區域完整性區域完整性 (Domain Integrity)(Domain Integrity) :為了確保資料在允許:為了確保資料在允許的範圍中,設定輸入的範圍。的範圍中,設定輸入的範圍。

使用者定義完整性使用者定義完整性 (Domain Integrity)(Domain Integrity) :由使用者自行:由使用者自行定義,如三次借書逾期則停止借書一次。定義,如三次借書逾期則停止借書一次。

Page 9: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

99

實體關係模型實體關係模型(Entity Relationship Model, ER Model)(Entity Relationship Model, ER Model)

符號 說明代表實體,我們建立的資料表代表資料表的欄位代表關係體

1:1 在關聯中是一對一的關係1:N 在關聯中是一對多的關係M:N 在關聯中是多對多的關係

Page 10: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

1010

關聯說明關聯說明

屬於系 教授

名稱分機 系辦

主任姓名 編號姓名 辦公室

分機

1 m

「系」與「教授」的關係

Page 11: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

1111

關聯說明關聯說明

系資料表名稱分機系辦主任姓名

教授資料表編號姓名辦公室分機系名稱

Page 12: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

1212

關聯說明關聯說明

授課開課班級 教授

編號名稱 教室

上課時間 編號姓名 辦公室

分機

1m

「開課班級」與「教授」的關係

Page 13: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

1313

關聯說明關聯說明

教授資料表編號姓名辦公室分機

開課資料表編號名稱教室上課時間教授編號

Page 14: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

1414

範例:圖書管理系統範例:圖書管理系統

實體與屬性實體與屬性 借書人:學號、身分證字號、姓名、性別、電話、地址、科系借書人:學號、身分證字號、姓名、性別、電話、地址、科系 圖書:書籍編號、書名、作者、出版社、價格、類別圖書:書籍編號、書名、作者、出版社、價格、類別 經手人:教職員編號、姓名、職位經手人:教職員編號、姓名、職位 借書單:借書證號碼、借書人、書籍名稱、借書日期、歸還日期借書單:借書證號碼、借書人、書籍名稱、借書日期、歸還日期、經手人、經手人

關聯關聯 「借書人」與「借書單」間為「借書人」與「借書單」間為 11 對多的對多的『『借書借書』』關係關係 「經手人」與「借書單」間為「經手人」與「借書單」間為 11 對多的對多的『『處理處理』』關係關係 「圖書」與「借書單」間為「圖書」與「借書單」間為 11 對多的對多的『『借閱借閱』』關係關係

Page 15: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

1515

關聯說明關聯說明

借書借書人借書單

學號

身分證字號姓名

借書證號碼

借書日期歸還日期

1

m

電話地址

科系

圖書

書籍編號

書名作者 出版社

1

價格類別

借閱

經手人

教職員編號

姓名職位

m

處理

m

1

Page 16: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

1616

關聯說明關聯說明

借書單資料表借書證號碼借書人書籍名稱借書日期歸還日期經手人

借書人資料表學號

身分證字號姓名性別電話地址科系

圖書資料表書籍編號書名作者出版社價格類別

經手人資料表教職員編號姓名職位

1 1

1

m

m

m

Page 17: 實體關係模型 (ER Model). 2 Outline 資料庫的設計流程 實體關係模型 (Entity Relationship Model, ER Model) 關聯說明範例:圖書管理系統

1717

關聯說明關聯說明:第三階正規化:第三階正規化