360 likes | 677 Views
資料庫系統概論 CH02 資料庫設計及 E-R 資料模型. 鄧姚文. 大綱. 設計的步驟 E-R Model 分析. 2-1 資料庫設計的步驟 由資料至資料庫. 1-4=> 系統分析 5-8=> 系統設計 本書重點 : 3至5. 2-1 資料庫設計的步驟 界定系統範圍. 愈大型的系統,愈需要在開發之初,界定系統範圍 通常是架構師或系統分析師的工作 什麼是系統範圍 既然是範圍,就必有一條 虛擬的 「線」,以區隔出系統內與外 它區隔出的「外」,表示由系統外的角度觀察或操作系統 對系統「內」而言,它關心也僅是自己,內部的運作由各個元素協助完成.
E N D
大綱 設計的步驟 E-RModel分析
2-1資料庫設計的步驟由資料至資料庫 1-4=>系統分析 5-8=>系統設計 本書重點:3至5
2-1資料庫設計的步驟界定系統範圍 • 愈大型的系統,愈需要在開發之初,界定系統範圍 • 通常是架構師或系統分析師的工作 • 什麼是系統範圍 • 既然是範圍,就必有一條虛擬的「線」,以區隔出系統內與外 • 它區隔出的「外」,表示由系統外的角度觀察或操作系統 • 對系統「內」而言,它關心也僅是自己,內部的運作由各個元素協助完成
2-1資料庫設計的步驟使用案例圖 • 使用案例圖(Use Case Diagram)是UML中最常用的圖 • 確認系統該做什麼(What),不是如何做(How) • 由宏觀或俯視的角度了解系統用途 • 由系統外了解系統內可以做什麼
2-1資料庫設計的步驟使用案例圖 • 使用案例圖的基本原則就是以參與者的角度進行繪製 • 儘量以「動詞」表示應有的作為 • 「處理客戶訂購單」較為籠統,可改為「產生客戶訂購單」、「更新客戶訂購單」
2-1資料庫設計的步驟收集需求 • 面對使用者 • 第一件事是爭取信任 • 人與人之間的互信,永遠是良性溝通、有效溝通的前提 • 面對基層使用者的溝通,難在雙方共同語言有限,應儘量避免使用術語 • 與基層使用者的溝通,才能了解系統的真正需求 • 最重要的資料庫基礎建設,與基層使用者的需求最息息相關
2-1資料庫設計的步驟收集需求 • 面對主管及MIS人員 • 主管關心的應該是統計分析及各式報表 • MIS人員關心的應該是備份、資料安全、架構是否穩定、執行效率等 • 網頁中如何防止SQL隱碼攻擊? • 有沒有自動備份的機制? • 還原時間點是否可以自由選擇? • 所有動作在區域網路及外部網路的反應時間,有沒有標準? • 完成的資料庫架構,會不會導致部份查詢的JOIN過多而較無效率?
2-1資料庫設計的步驟該收集那些資訊 • 收集資訊的方式不外訪談、問卷、實地觀察 • 現有軟硬體環境 • 報表及成果 • 現有系統架構及文件 • 對於未來的展望
2-1資料庫設計的步驟實例應用-達盛股份有限公司2-1資料庫設計的步驟實例應用-達盛股份有限公司 行業別:工具機製造業 年營業額:1-3億新台幣 員工人數:40人 總公司:台北 倉庫:台北、台中及高雄等三處 部門:總經理、行政部、工程部、業務部 產品及行銷:行銷中大型機械予國內客戶 上游合作廠商:包括國內外廠商
2-2E-R Model分析找出基底資料 • 「尋找」最基底的資料 • 人、事、物等基本資料 • 以達盛公司為例,其系統中必定有客戶、廠商、員工、產品、外幣幣別等資料 • 每一位客戶、每一位員工、每一項產品等,都是一個實體,也可稱為「記錄」,「實體」是概念設計階段的說法,「記錄」是實作的說法 • 訂單是由多個基底資料,因為業務需要,而「衍生」出來的資料
2-2E-R Model分析實體關係圖的符號 以各種不同的符號,代表具有特定意義的內容
2-2E-R Model分析實體的定義 • 實體(Entity)是指一個存在於應用環境中,具有意義、可以被描述的內容 • 如一位員工、一項產品或一位客戶 • 描述的方式是使用「屬性」 • 一個實體必定是由一或多個屬性所描述而成
2-2E-R Model分析屬性(Attribute) • 實體描述性的特性或特徵。 • 同義詞 • 元素(element) • 特性 (property) • 欄位 (field) • 複合屬性 (compound attribute) • 由其他屬性組合而成
2-2E-R Model分析鍵屬性 • 眾多屬性中,應有一個鍵(Key)屬性 • 可以在多個實體中,據以找到特定個體的屬性 • 如每位員工的身份證號 • 一般情況下的鍵屬性型態是簡單屬性 • 也會有以兩個或更多簡單屬性的組合,成為鍵屬性的情況 • 如果沒有辦法找到可以據以識別的簡單屬性作為鍵值:替代鍵(Surrogate Key)流水號
2-2E-R Model分析實體圖 一個員工實體圖
2-2E-R Model分析強實體及弱實體 • 一個有鍵屬性者的實體,又稱為強實體(Strong Entity) • 一個沒有鍵屬性的實體,就是弱實體(Weak Entity) • 弱實體不可且無法單獨存在,必須依賴於另一強實體 • 強實體「擁有」一個弱實體 • 若強實體被刪除或因各種原因而不存在,則弱實體也會被刪除
2-2E-R Model分析實體與關係 • 三種關係型 • 一對一 • 一對多 • 多對多
2-2E-R Model分析實體及關係的名稱 實體及關係都必須有名稱-關係的名稱是動詞,實體名稱是名詞
2-2E-R Model分析完全及部份參與 • 關係的雙方所有實體不會全部參與 • 如客戶與訂購單間,可能不是所有客戶都和訂購單有關係 • 訂購單一定會與客戶有關係,此時可稱為客戶「部份參與」訂購單,而訂購單「完全參與」客戶 • 完全參與以雙橫線表示,部份參與是單橫線
BOM (Bill-of-Material) • 產品組成
2-2E-R Model分析繪製實體關係圖 產品 及 BOM
2-2E-R Model分析繪製實體關係圖 員工及部門 員工及工時
2-2E-R Model分析繪製實體關係圖 客戶及連絡人
2-2E-R Model分析繪製實體關係圖 倉管處理入出庫
2-2E-R Model分析繪製實體關係圖 倉管處理庫存移動
2-2E-R Model分析繪製實體關係圖 應收及應付帳款
子類個體 Subtype 客戶分為法人及最終消費者兩種型態 員工分成男性與女性兩種型態 學生分成大學生與研究生兩種型態
子類個體 Subtype • There are many situations in which subtypes can be created but should not be. Only create subtypes • if the subtype is involved in relationships that the other subtypes are not or • if the subtype needs to have additional facts stored with it. • If one of these two requirements is not met, then do not create the subtype.