資料庫系統概論第 十章 資料庫邏輯設計   上一頁   

10-7 邏輯設計演練

內容:

  • 10-7-1 範例研討:商品管理系統

  • 10-7-2 自我挑戰:改善 Trader_db 系統

  • 10-7-3 自我挑戰:人事管理系統

10-7-1 範例研討商品管理系統

(A) 情境與資料彙集

『廣招進出口貿易公司』對於辦理進出口商品種類非常繁複,期望建立一套系統來管理,目前對商品資料如下:

  • 商品名稱

  • 單價:美金

  • 單位:個、批、套、

  • 產地:中國、台灣、馬來西亞、越南、、、。

  • 分類:電器、廚具、寢物、工具、、、、。

  • 製造商

  • 製造商地址

  • 製造商電話

  • 製造商負責人

(B) 資料分類

我們將此資料庫定名為:Trader_db。由上面資料可以看出,包含產品、製造商等兩個實體,我們先將兩實體分類如下:(請利用 draw.io 繪製)

 

9-16 Trade_db 資料庫資料分類

(C) 實體間建立關聯 – E-R 關係圖

商品實體內缺少唯一識別值,我們增加了一個『商品編碼』屬性,每一個產品都有一個獨立編碼。同樣的,也許會有相同名稱的製造商,因此,在製造商實體中,也增加了一個『製造商編碼』的屬性。如此兩實體之間並沒有關聯性,吾人在商品實體內再增加一個『製造商編碼』,並將其設定為『外來鍵』參考到製造商實體的『製造商編碼』的屬性上,如下圖所示:

 

9-17 貿易商 E-R 實體關聯圖

(C) 商品實體轉換資料表

依照圖 9-17 所設計的 E-R實體關聯圖,商品實體定名為 Product 表。

 

轉換成Product 資料表如下:(主鍵:商品編碼(Product_ID)、外來鍵: Manu_ID)

商品編號

製造商編碼

單價

單位

 產地

分類

Product_ID

Manu_ID

price

unit

origin

classify

CHAR(20)

CHAR(20)

int

CHAR(20)

CHAR(20)

CHAR(20)

正規化分析:

  • 1NF:所有欄位都是最小單元(Atomic value) 符合

  • 2NF:除了主鍵外,所有欄位都與主鍵相依:符合

  • 3NF:除了主鍵外,所有欄位之間都沒有功能性相依:不符合

       (原因:產地欄位與製造商編碼相依。產地與製造商地址有功能性相依。)

(D) 製造商實體轉換資料表

依照圖 9-17 所設計的 E-R Model 圖,商品實體定名為 Manufacturer 表。

 

轉換成 Manufacturer 資料表如下:主鍵是:商品編碼(Product_ID)

製造商編號

製造商名稱

負責人

 電話

地址

Manu_ID

Manu_name

contact

tel

address

CHAR(20)

CHAR(20)

CHAR(20)

CHAR(20)

CHAR(50)

正規化分析:

  • 1NF:所有欄位都是最小單元(Atomic value)符合。

  • 2NF:除了主鍵外,所有欄位都與主鍵相依:符合

  • 3NF:除了主鍵外,所有欄位之間都沒有功能性相依:符合

10-7-2 自我挑戰改善 Trader_db系統

『廣招進出口公司』 Trader_db 資料庫的 E-R 實體關聯圖如下:

 

經過分析後,發現商品資料表(Product)並不滿足第三正規化,請您重新設計 E-R 實體關聯圖,使其所有資料表都能滿足第三正規化,請依下列順序完成:

(A) 資料分類

(B) 建立 E-R 關聯圖

(C) 轉換資料表與正規化分析

10-7-3 自我挑戰人事管理系統

(A) 情境與資料彙集

『鴻達精密公司』希望建立一套人事資料管理系統,張系統分析師到該公司去收集相關資料,如下:

  • 員工姓名

  • 員工性別

  • 員工地址

  • 員工聯絡電話

  • 服務單位名稱

  • 服務單位負責人

  • 薪資等級

  • 薪資金額

  • 加級等級

  • 加級金額

請依照下列次序完成:

(1) 資料分類。

(2) 建立 E-R 關聯圖。

(3) 轉換成資料表,並正規化分析。

(B) 提示:

E-R 圖方案之一:四個資料表達成。

翻轉工作室:粘添壽

 

資料庫系統概論(含邏輯設計)

 

 

翻轉電子書系列: