第三章 系統與資料庫檔案設計
本章大綱 第一節 輸入與代碼設計 第二節 交易處理與輸出設計 第三節 個體關聯模型設計法 第四節 資料正規法 第一節 輸入與代碼設計 第二節 交易處理與輸出設計 第三節 個體關聯模型設計法 第四節 資料正規法 第五節 表達個體間關聯(Relationship)的方法 第六節 SQL:關聯式資料庫查詢語言
學習目標 如何作輸入與代碼設計,以避免資料輸入時垃圾進垃圾出的狀況發生。 交易處理與資料核驗如何設計,與輸出儲存、媒體方案之決定。 個體關係模型(E-R Model)設計。 如何設計符合正規化的資料檔案結構,以避免增刪或異動資料,產生不一致之現象。 SQL應用實例,Windows Access軟體之應用。
圖3.1 交易處理的基本工作
表單設計(Document Design)原則 輸入設計 表單設計(Document Design)原則 畫面設計(Screen Design) 選擇輸入裝置
代碼設計 代碼設計方法 依順序編號(Sequential Code) 區段編號(Block Code) 依類別編號(Classification Code) 代碼中各碼分別代表不同項目(Hierarchical) 記憶代碼(Mnemonic Code) 檢查碼設計方法 選定一個理想的模數(Modulus) 選定每位資料值之加權權數(Weight)
代碼設計(續) 將每位資料值與加權權數相乘,並累加各個乘積 以模數減去上項求得之餘數,即得之差即為檢查碼
交易處理設計 記錄交易事件 輸入資料核驗 更新主檔及編製報表或文件 查詢處理結果
圖3.2 電腦化交易事件記錄方法之舉例說明
圖3.3 常見的資料核驗方法
圖3.4 常見的電腦輸出文件
圖3.5 電腦化交易處理之 方式
圖3.6 三種交易處理方式 之比較
個體關聯模型設計法 決定個體 決定關係 決定屬性 決定鍵值欄位
圖3.7 銷貨發票
圖3.8 部分訂單系統 E-R 模式圖 業務人員 l 處理 接洽 M 下 訂單 顧客 N 欠 產生 收到 應收帳款 發票 包含 產品 提供 供應商 被採購 採購單 接受
圖3.9 個體屬性釋例 顧客 名稱 電話號碼 付款條件 顧客帳號 住址 信用額度 目前餘額 l 欠 M 應收帳款 發票號碼 顧客編號 日期 圖3.9 個體屬性釋例 顧客 名稱 電話號碼 付款條件 顧客帳號 住址 信用額度 目前餘額 l 欠 M 應收帳款 發票號碼 顧客編號 日期 交易金額 餘額
圖3.10 鍵值釋例 l M N 員工編號 業務員 處理 接洽 客戶帳號 訂單號碼 訂單 產生 銷貨發票號碼 銷貨發票 包含 下 收到 圖3.10 鍵值釋例 l M N 員工編號 業務員 處理 接洽 客戶帳號 訂單號碼 訂單 產生 銷貨發票號碼 銷貨發票 包含 下 收到 應收帳款 發票號碼 欠 顧客 產品編號 產品 提供 接受 被採購 採購單 採購單號碼 供應商 供應商編號
資料未正規化之問題 新增一筆記錄所產生的問題 刪除一筆記錄所產生的問題 異動一筆記錄所產生的問題
正規化法 第一正規化格式(First Normal Form) 若一筆紀錄沒有包括重覆的資料項目,則為第一次正規化格式。 第二正規化格式(Second Normal Form) 檔案若已經第一次正規化,而且記錄中的每筆資料可由主鍵值單一辨識,但若其中某些欄位可由主鍵值之一部份辨識則應改善。如符合此條件即為第二次正規化格式。 第三正規化格式(Third Normal Form) 檔案已經第二正規化而且所有和主鍵值無關的資料項目間彼此獨立即為第三次正規化格式。
圖3.11 正規化程序 A.未正規化格式 B.第一次正規化格式 1.發票檔 2.客戶檔 3.產品項目檔 發票號碼 客戶編號 客戶名稱 圖3.11 正規化程序 A.未正規化格式 1.發票檔 發票號碼 客戶編號 客戶名稱 客戶地址 付款條件 信用等級 賒銷額度 銷貨單號碼 發票日期 運貨日期 銷貨總額 營業稅 品號 品名/規格 單價 數量 B.第一次正規化格式 2.客戶檔 3.產品項目檔
圖3.11 正規化程序(續) C.第二次正規化格式 1.客戶檔 2.發票檔 3.銷貨細項檔 4.產品項目檔 客戶編號 客戶名稱 客戶地址 圖3.11 正規化程序(續) C.第二次正規化格式 1.客戶檔 客戶編號 客戶名稱 客戶地址 付款條件 信用等級 賒銷額度 發票號碼 銷貨單號碼 發票日期 運貨日期 銷貨總額 營業稅 2.發票檔 3.銷貨細項檔 品號 數量 4.產品項目檔 品名/規格 單價
圖3.11 正規化程序(續 1) D.第三次正規化格式 1.客戶檔 2.信用等級檔 3.發票檔 4.銷貨細項檔 5.產品項目檔 客戶編號 圖3.11 正規化程序(續 1) D.第三次正規化格式 1.客戶檔 客戶編號 客戶名稱 客戶地址 付款條件 信用等級 2.信用等級檔 賒銷額度 發票號碼 銷貨單號碼 發票日期 運貨日期 銷貨總額 營業稅 3.發票檔 4.銷貨細項檔 品號 數量 5.產品項目檔 品名/規格 單價
表達個體間關聯的方法 一對多的關係(1:M) 多對多的關係(M:M)
SQL:關聯式資料庫查詢 語言 建立關聯式資料庫之SQL指令 查詢資料庫SQL指令 建立檔案間之關聯