第六章 : 資料模型之繪製 1. 前言 資料流程圖 ( DFD ) 及 處理邏輯工具 ( Logic Modeling ) 等分析工具 無法表達 資料之定義、結構及相互間之關聯 ===> 繪製 資料模型圖 ( Data Model )
需要繪製資料模型之四個理由 1) 設計資料庫系統、程式、畫面、表單之前端作業 2) 很多決策導向之系統常須搭配複雜之資料結構 3) DFD 強調資料欄位之變化 , 卻未能描述檔案之內容與特定結構 4) 一個好的資料模型可制式化地自動產生資訊與報表
系統發展各階段均可使用此一工具
2. 實體資料關聯圖 ( E-R Diagram ) 一種資料模型繪圖 , 可經由轉換成各種不同結構之資料庫系統或檔案 系統分析階段之主要工作 : DFD ===> 描述資料之流動情形 Logical Model => 作業處理描述、決策判斷 E-R Diagram ===> 相關資料項目之描述
某 產品製造公司 之 E-R Diagram 範例
企業資料模型 ( Conceptual Data Model )主要內容 1) 瞭解一個資訊系統內所需要的資料內涵 2) 探討舊系統內所使用之相關資料 3) 新系統之資料庫關連架構 (強調資料共用) 4) 舊系統之資料庫關連架構 (強調差異比較)
DFD 與 E-R Diagram 間之關連 在 DFD 中必須出現在 E-R Diagram 中呈現的元件 : 資料流 ( Data Flow ) 資料儲存 ( Data Store )
如何取得企業內部相關之資料內涵 利用訪談、問卷、開會等方式取得 二種方法論之對照 : 由上而下 ( Top-Down ) : 經由業務需求著手 由下而上 ( Bottom-Up ) : 收集各種文件、報表、電腦螢幕畫面
由上而下 : 業務需求面之問題探索
由下而上 : PVF 公司之客戶採購訂單
3. 工具內涵介紹 1976 年 華裔學者 Chen 最先發表論文使用 派別甚多 , 教科書強調以 “ 烏鴉腳( Crow’s Foot ” 表達實體資料 ( Entity ) 之多寡
三類圖形符號 1) 資料實體 ( Data Entity ) : 長方形 2) 關聯 ( Relationship ) : 方塊 線段 3) 屬性 ( Attributes ) : 橢圓
3.1. 資料實體 ( Entities ) 資訊系統內部或其環境中相關之 人、地、事、物 或 抽象概念等 , 其資料有必要長期保存者 資料實體集合 ( Entity Type , Entity Class, Entity ) : 同性質之 人 、地、事、物 等個體之集合 ( 例如 : 某公司所有員工 ) 單一資料實體 ( Entity Instance ) : 某一個特定之個體 ( 例如 : 張三 為 XX 公司之員工 )
當 資料實體集合 中僅包含一個 單一資料實體 時 , 可不必將其保存於系統中 ( 會計系統不須保留會計長的資料 )
有些資料實體( ie. 開支報表 ) 若可自其他實體中取得相關資料細項 ( ie. 科目, 支付金額.. ) ; 可不必將其呈現在資料模型中
3.2. 實體資料之屬性 ( Attributes ) 實體資料所具有之特質 , 且其對資訊系統之運轉有影響者 具區隔特質之屬性 ( Candidate Keys ) ( 範例 : 學生之 學號 , 身分證統一編號 , 姓名 + 地址 … )
識別用屬性 ( Identifier ) ( 範例 : 學生之 學號 )
挑選 識別用屬性 之四項原則 1) 屬性值在系統運轉期間不會改變 ( “ 姓名 + 住址 ” 不適合 … ) 2)屬性值必須為有效值且不得為空白 3) 不宜採用 小聰明 的組合屬性 ( 以 地域別, 廠房, 倉庫代號, … 等組合的屬性 ) 4) 宜採用單一代表值取代複雜的組合屬性
多值之屬性 ( Multivalued Attribute ) 當 單一資料實體 之某一屬性其對應值超過一個時 ( 範例 : 員工之技能 ( Skill ) , 扶養親屬 Dependent ), ... )
3.3. 關聯 ( Relationships ) 用以表達一個或多個資料實體間之關聯性 公司員工與訓練課程間有多對多之關聯 ( 一位員工可完成多種課程 ; 一種課程可讓多位員工研習 )
4. 建構企業之資料模型 對企業業務處理內涵 ( Business rule ) 愈瞭解 , 將可更加精確繪製 E-R Diagram 有些 CASE 工具可經由 E-R Diagram , 自動地產生程式及程式內之資料定義 ( 此一處理方法可減輕系統維護時之負擔 )
4.1. 三種常見之實體關聯
4.2. 實體關聯間之數量個數 關聯圖尚可揭示資料實體之數量(Cardinality) 、最高或最低值 (Minimum & Maximum)、數量之範圍 ( Range )
範例 : 電影 vs. 影帶
4.3.結合型之資料實體 ( Associate Entity ) 將一個多對多之關聯轉換成資料實體
5. 個案系統探討 5.1. 漢堡速食店之庫存管理系統 DFD ( 圖形中有一庫存資料 (Inventory Data))
根據 業務處理內涵及流程 繪製資料模型 銷售資料 Sale 發票 Invoice 庫存資料 Inventory Item 產品 Product
強化資料模型的內涵
界定每一個資料實體之屬性與識別用屬性
5.2. PVF 公司的網路商店系統 三類客戶 及 庫存資料項目
網路零售購物 範例 博客來網路書店 主要交易 : 購物 ( 瀏覽、選購、檢視、結帳 ) 資料變更 採購貨品查詢
網路商店之主要作業流程 ( 0-level DFD )
主要資料實體之屬性內涵描述 ( Data Dictionary )
資料屬性與 DFD 之關連描述
網路商店之 E-R Diagram