Mapping - 1 Mapping From ER Model to Relational DB.

31
Mapping - 1 Mapping From ER Model to Relational DB
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    236
  • download

    9

Transcript of Mapping - 1 Mapping From ER Model to Relational DB.

Page 1: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 1

Mapping From ER Model to Relational DB

Page 2: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 2

Mapping From ER Model to Relational DB

一個 E-R Model 中的實體 E( 非弱實體 ) ,產生一個關連 S ,其中 S 包含 E 中所有的簡單屬性。( 一 ) 正規的實體轉換(a) 客戶實體型態

Page 3: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 3

( 二 )混合屬性的轉換(a) 客戶實體型態 (包含混合屬性 )

Page 4: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 4

(b) 客戶資料 ( 包含地址細項 )

客戶代號 客戶名稱 路 郵遞區號縣市鄉鎮

客戶資料

Page 5: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 5

– 對每一個多值屬性 A ,形成一個新的關連 S 。 S包含所有的 A 並以擁有 A 的實體所產生的關連 T之主鍵 K 為外鍵。 S 的主鍵為 K+A 。

( 一 ) 多數值屬性的實體轉換 (a) 員工實體型態 ( 包含多數值的屬性 )

員工編號 員工名稱 員工住址

員工 技能

Page 6: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 6

(b) 多數值屬性的轉換

員工編號 員工名稱 員工住址

員工編號 技能

員工資料

Page 7: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 7

– 每一個弱實體 w , 若其擁有者為 E , 產生依各關連 T , 其中 T 包含 W 中所有的簡單屬性 , 並將 E 所產生的關連 S 之主鍵 , 作為 T 的外鍵 , T 的主鍵為 S 的主鍵 + 弱實體的部分鍵 .

Page 8: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 8

( 一 )弱實體的轉換(a) 弱實體 (部門 )

First_Name

員工編號

排行

出生日期眷屬名稱

Last_Name

員工名稱

Has 眷屬員工1 N

Middle_Initial

Page 9: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 9

(b) 弱實體的關連結果

Page 10: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 10

–對每一個 E-R Model 的 1-N 關係型態 R( 非弱實體 ) ,若關連 S 由 N 的一方產生

(1) 將另一實體所產生的關連 T 的主鍵作為 S 的外鍵。

(2) 將關係型態 R 所擁有的簡單屬性加入 S

( 一 )一對多的關係轉換(a) 訂單和客戶間的關係

Page 11: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 11

客戶編號

訂單日期訂單編號

客戶地址客戶名稱

客戶

確認

訂單

1

N

A

Page 12: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 12

(b) 關係的轉換

客戶編號

客戶編號訂單日期訂單編號

客戶地址客戶名稱

客戶資料

訂單資料

A

Page 13: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 13

– 對每一個 E-R Model 的 M-N 關係型態 R ,產生新的關連 S

(1) 每一個參與 R 的實體所產生的關連其主鍵構成S 的外鍵。

(2) 將關係型態 R 所擁有的簡單屬性加入 S 。

Page 14: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 14

訂單編號 訂單日期 數量 單價 產品編號

訂單 產品產品需求N M

( 一 ) 多對多關係的轉換

(a) 產品需求的關係

Page 15: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 15

(b) 關連的結果

訂單編號

其他單價產品編號

數量訂單編號 產品編號

訂單日期

訂單

產品需求

產品

Page 16: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 16

– 對每一個 E-R Model 的 1-1 關係型態 R,參與此關係的實體分別產生關連 S,T ,從 S,T 選擇其一,將關係型態 R所擁有的簡單屬性加入 S,並將 T的主鍵作為 S的外鍵。

(一 ) 兩個元素的一對一關係的轉換(a) 兩個元素的一對一關係

Page 17: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 17

護士編號

看護中心位址看護中心名稱

轉進日期

生日姓名

護士

看護中心

IN_Charge

Page 18: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 18

(b) 關連的結果

護士編號

轉進日期護士編號看護中心位址看護中心名稱

生日姓名

護士資料

看護中心

Page 19: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 19

( 二 ) 單一元素的一對多關係的轉換 (a) 員工實體包含管理的關係型態

員工編號 姓名 生日

員工

管理

1

N

Page 20: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 20

(b) 員工的關連包含一個遞迴的外來鍵

員工編號 管理者編號生日姓名

員工資料

Page 21: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 21

( 三 ) 單一元素的多對多關係的轉換(a) 原料發票的關係

種類編號 單價種類名稱

種類

Contains數量

N

M

Page 22: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 22

(b) 種類和成分的關連

–對 N 為關係型態 R(N>2) ,產生新的關連 S 來表示 R , S 以所有參與 R 的實體產生的關連之主鍵為外鍵並加上 R 的簡單屬性。

種類編號

數量Component_No種類編號

種類名稱 單價

種類資料

Component

Page 23: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 23

( 一 )Ternary 關係轉換(a) Ternary 關係包含聯合的實體

患者編號

結果

說明

時間

日期

醫生姓名醫生編號患者姓名

領藥號碼

患者 醫生

藥單

看診

Page 24: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 24

(b) Ternary 關係的轉換

患者編號 患者姓名

日期 時間領藥號碼 結果醫生編號患者編號

說明領藥號碼

醫生姓名醫生編號

患者

醫生

看診

藥單

Page 25: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 25

( 二 )選擇性的實體

員工編號

Billing_Rate契約數目股票年俸時薪

僱用日期

員工型態地址

員工姓名

員工

計時員工 月薪員工 顧問

Employee_Type= ?

is a

Page 26: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 26

員工編號 員工型態地址員工姓名 僱用日期

計時員工編號 時薪

契約數目顧問編號

股票年俸月薪員工編號

Billing_Rate

員工資料

計時員工資料

月薪員工資料

顧問資料

Page 27: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 27

* Mapping From ER Model to Relational DB 的例子 :

例子 ( 一 ) :(a) ER Model

Page 28: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 28

(b) Relational DB Model

Page 29: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 29

例子 ( 二 ) :(a) ER Model

Page 30: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 30

(b)Relational DB Model

Page 31: Mapping - 1 Mapping From ER Model to Relational DB.

Mapping - 31

* Correspondence between ER and Relational Models

Correspondence between ER and Relational Models