• 沒有找到結果。

第一次的資料轉換服務

第三章 彰化花市資料倉儲系統實作

3.2 網路型三階正規化資料庫

3.3.2 第一次的資料轉換服務

本小節主要說明第一次資料轉換服務的系統架構及工作內容,分為兩個部分,第一部分

說明第一次資料轉換服務的系統架構,第二個部分以一個範例說明其工作內容。

3.3.2.1 第一次資料轉換服務的系統架構

當資料傳到設定好的目標資料夾之後,接下來的工作即為將圖 3.2 轉成圖 3.3,而其內容 可分為基本資料表及含外鍵交易資料表兩種轉換如圖 3.6、3.7 示。由於資料轉換服務執行時 受制於資料庫主鍵與外鍵的限制,因此必須將資料庫的更新轉換分為兩個階段依序執行,其 執行程序如圖 3.8 所示。圖 3.7 中的綠色連線是當上一步驟成功才執行下一步驟,藍色連線是 當上一步驟完成不論成功與否都會執行下一步驟,當資料轉換服務啟動時透過圖 3.8 的工作 流程去執行。

為使切花交易表的外鍵能夠對應到相關的基本資料表(供應人資料表、承銷人資料表以及 花卉資料表),因此將以上的資料表匯入的動作設定在切花交易資料表進行匯入動作前。當基 本資料表完成更新動作後,再進行切花交易資料表的更新動作,此先後順序是利用資料轉換 服務中的功能加以設定如圖 3.8 標示處。

以切花供應人資料表的更新為例,更新步驟是先偵測 SU.TXT 原始資料檔是否已上傳到 指定的資料夾中。當 SU.TXT 檔案存在,則執行原始檔案備份到另外的資料夾,然後檢查 SU.TXT 中資料格式。若發現錯誤格式則將該筆資料送至 SU_Exception 資料表進行例外處 理。同時將 SU 暫存資料表內的資料清除,將正確格式的資料存入 SU 暫存資料表中,接著開 始執行更新切花承銷人資料表。

圖 3.6 基本資料表的更新轉換

圖 3.7 含外鍵交易資料表

圖 3.8 切花資料庫更新轉換程序

在切花資料表、切花供應人資料表、切花承銷人資料表等基本資料表皆更新後,切花交 易資料也開始執行更新的動作。其差異是在將交易資料轉入三階正規化交易資料表前,必須 處理為了使切花交易資料表的主鍵沒有 NULL 值以及外鍵能夠參考到基本資料表的更新動 作。對於不符合正規化的交易紀錄系統會給予挑除並送進例外的資料庫中的 A_Exception 資 料表進行例外處理,以確保三階正規化資料庫的完整性。

3.3.2.2 第一次資料轉換服務的工作內容範例

由於資料轉換服務系統工作內容相當的龐大且複雜,接下來就以原始資料的拍賣資料表 為例,說明第一次資料轉換服務(簡稱 T1)的工作內容。對於 T1 而言,在本例子中,其工作順 序在其他關連式資料庫資料表輸入完成之後,而其輸入為原始拍賣資料,經過 T1 處理後,輸 出為符合已架構好的三階正規化拍賣資料表。本階段的工作內容可分為主要工作及進階工 作,如圖 3.9 所示。

三階正規化資料庫

原始資料

T1

主要工作(對應資料欄位及修正格式)以黑色箭頭表示:

1. 匯入對應的相關資料欄位,如拍賣序號對應拍賣序號、成交價格對應成交價格。

2. 修正資料格式,如拍賣日期格式。

3. 依規格修正原始資料的空白值。

進階工作(資料欄位的整合)以灰色箭頭表示:

1. 原始資料多個欄位合併成一個新增的欄位並當成主鍵,如日期、序號、子序號

合併成新資料表的主鍵。

2. 原始資料承銷人欄位與拍賣類別欄位合併成新資料表的拍賣類別欄位。

3. 原始資料的供應人資料表匯入兩個欄位,其中一個欄位加上一位數以避免供應

人代碼不足的問題。

圖 3.9 第一次資料轉換服務的部分工作內容

相關文件