資料庫系統概論:第 十二章 多表格資料庫設計 下一頁 |
第十 二章 多表格資料庫設計
12-1 範例研討 – 客戶回應系統
12-1-1 需求分析與資料收集 『神氣飛昂網路行銷公司』期望在銷售網站上加入『客戶回應系統』,利用此它建立與客戶之間的溝統管道,也藉此探討客戶對公司的評價如何?期望系統的功能如下:
另外,系統分析師也到該公司收集了下列資料:
12-1-2 資料庫邏輯設計 我們由外往內拆解方法,來分析此系統的邏輯架構。 (A) 系統需求 此系統僅提供客戶登陸回應訊息的功能,如下圖所示。
圖 11-1 客戶回應系統概況 (B) 系統 E-R 關係圖 此系統只要兩個實體,一者為客戶實體,另一者為訊息實體,我們將收集的資料依其屬性分別歸類於這兩實體上,如下圖所示:
圖 11-2 歸類兩實體 建立 E-R 圖重點如下:
得到該系統的 E-R 關係圖如圖 11-3 所示。
圖 11-3 系統E-R 關係圖 12-1-3 E-R 圖轉換資料表 (A) 客戶實體轉換 客戶實體包含了 6 個屬性(Attribute),且客戶編碼是唯一識別碼,並將它指定為主鍵(Primary key)。
圖 11-3 客戶實體 並且將客戶實體定名為 Customers 資料表,各屬性之欄規劃如下:
正規化分析:
(B) 訊息實體轉換 客戶實體包含了 7 個屬性(Attribute),且客戶編碼是唯一識別碼,並將它指定為主鍵(Primary key)。
圖 11-4 訊息實體 並且將訊息實體定名為 Messages 資料表,各屬性之欄規劃如下: 如下:
正規化分析:
12-1-4 資料庫關聯圖 設計完成各個資料表之後,再依照 E-R 關聯圖繪出資料庫內所有資料表之間的關聯圖,如下:
圖 11-5 資料庫關聯圖 12-1-5 實體建置 我們將此資料庫定名為『Response_db』,並利用 AppServ – MySQL 建立,步驟如下: (備註:僅介紹用 SQL 命令產生,選單方式建立請自行參考) (A) 建立資料庫 吾人將此資料庫定名為:Response_db,則下列兩種方法產生,如下:
執行結果:
(B) 建立 Customers 資料表 建立 Customers 命令如下:(選擇 response_db 資料庫)
如果設定完成之後,可觀察 Customers 資料表的結構如下:
其特性說明如下:
(B) 建立 Messages 資料表 建立 Messages 命令如下如下:(選擇 response_db 資料庫)
如果設定完成之後,可觀察 Messages 資料表結構,如下:
其特性說明如下:
(C) Response_db 系統關聯圖
12-1-6 建立測試資料 資料庫與資料表建立完成之後,需產生相關資料來驗證其運作是否能滿足需求。建立測試資料的步驟如下:
(A) 建立 Customers 資料並匯出 CSV 檔 首先開啟 Excel 並輸入相關資料(取名 Customers,第一行為欄位名稱),另外需注意的是:『欄位順序要與資料表欄位順序相同』。如下圖所示:(可到教學網站下載)
轉換成 CSV 格式如下:
(B) 建立 Messages 資料並匯出 CSV 檔 利用 Excel 並輸入相關資料(取名 Messages,第一行為欄位名稱),另外需注意的是:『欄位順序要與資料表欄位順序相同』。如下圖所示:(可到教學網站下載)
轉換成 CSV 格式如下:
12-1-7 匯入測試資料 匯入資料時必須考慮到資料表的外來鍵是否存在,不然會產生錯誤。由圖 11-7 Response_db 資料庫關聯看出來,匯入資料的順序是『Customers -> Messages』。 (A) 匯入 Customers 的 CSV 檔 由 Response_db 資料庫選擇 Customers 資料表並匯入 Customers CSV 檔,結果如下:
(B) 匯入 Messages 的 CSV 檔 由 Response_db 資料庫選擇 Messages 資料表並匯入 Messages CSV 檔,結果如下:
12-1-8 測試資料庫功能 資料庫建構完成後,我們依照幾個系統需求,來驗證其功能是否滿足 ,還是需要參考資料庫的 E-R 關係圖如下:
(A) 驗證 1:查詢客戶回應訊息 查詢郭大豪先生的回應訊息如何,SQL 命令如下:
執行結果:
(B) 驗證 2:查詢某家製造商的回應訊息 查詢有關真美公司的回應訊息如何,SQL 命令如下:
執行結果:
(C) 驗證 3:查詢滿意度的回應訊息 查詢滿意度低於 3 的相關回應訊息如何,SQL 命令如下:
執行結果:
(D) 驗證 4:依客戶年紀查詢 查詢年紀在 20 ~ 30 歲之間客戶的相關回應訊息如何,SQL 命令如下:
執行結果:
(E) 驗證 5:依產品類別查詢 查詢客戶對本公司銷售『衣服』的滿意度低於 4 的相關回應訊息,SQL 命令如下:
執行結果:
|
翻轉工作室:粘添壽
資料庫系統概論(含邏輯設計)
翻轉電子書系列:
|