1 / 36

資料庫系統概論 CH02 資料庫設計及 E-R 資料模型

資料庫系統概論 CH02 資料庫設計及 E-R 資料模型. 鄧姚文. 大綱. 設計的步驟 E-R Model 分析. 2-1 資料庫設計的步驟 由資料至資料庫. 1-4=> 系統分析 5-8=> 系統設計 本書重點 : 3至5. 2-1 資料庫設計的步驟 界定系統範圍. 愈大型的系統,愈需要在開發之初,界定系統範圍 通常是架構師或系統分析師的工作 什麼是系統範圍 既然是範圍,就必有一條 虛擬的 「線」,以區隔出系統內與外 它區隔出的「外」,表示由系統外的角度觀察或操作系統 對系統「內」而言,它關心也僅是自己,內部的運作由各個元素協助完成.

Télécharger la présentation

資料庫系統概論 CH02 資料庫設計及 E-R 資料模型

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 資料庫系統概論CH02資料庫設計及E-R資料模型 鄧姚文

  2. 大綱 設計的步驟 E-RModel分析

  3. 2-1資料庫設計的步驟由資料至資料庫 1-4=>系統分析 5-8=>系統設計 本書重點:3至5

  4. 2-1資料庫設計的步驟界定系統範圍 • 愈大型的系統,愈需要在開發之初,界定系統範圍 • 通常是架構師或系統分析師的工作 • 什麼是系統範圍 • 既然是範圍,就必有一條虛擬的「線」,以區隔出系統內與外 • 它區隔出的「外」,表示由系統外的角度觀察或操作系統 • 對系統「內」而言,它關心也僅是自己,內部的運作由各個元素協助完成

  5. 2-1資料庫設計的步驟使用案例圖 • 使用案例圖(Use Case Diagram)是UML中最常用的圖 • 確認系統該做什麼(What),不是如何做(How) • 由宏觀或俯視的角度了解系統用途 • 由系統外了解系統內可以做什麼

  6. 2-1資料庫設計的步驟使用案例圖

  7. 2-1資料庫設計的步驟使用案例圖 • 使用案例圖的基本原則就是以參與者的角度進行繪製 • 儘量以「動詞」表示應有的作為 • 「處理客戶訂購單」較為籠統,可改為「產生客戶訂購單」、「更新客戶訂購單」

  8. 2-1資料庫設計的步驟使用案例圖

  9. 2-1資料庫設計的步驟收集需求 • 面對使用者 • 第一件事是爭取信任 • 人與人之間的互信,永遠是良性溝通、有效溝通的前提 • 面對基層使用者的溝通,難在雙方共同語言有限,應儘量避免使用術語 • 與基層使用者的溝通,才能了解系統的真正需求 • 最重要的資料庫基礎建設,與基層使用者的需求最息息相關

  10. 2-1資料庫設計的步驟收集需求 • 面對主管及MIS人員 • 主管關心的應該是統計分析及各式報表 • MIS人員關心的應該是備份、資料安全、架構是否穩定、執行效率等 • 網頁中如何防止SQL隱碼攻擊? • 有沒有自動備份的機制? • 還原時間點是否可以自由選擇? • 所有動作在區域網路及外部網路的反應時間,有沒有標準? • 完成的資料庫架構,會不會導致部份查詢的JOIN過多而較無效率?

  11. 2-1資料庫設計的步驟該收集那些資訊 • 收集資訊的方式不外訪談、問卷、實地觀察 • 現有軟硬體環境 • 報表及成果 • 現有系統架構及文件 • 對於未來的展望

  12. 2-1資料庫設計的步驟實例應用-達盛股份有限公司2-1資料庫設計的步驟實例應用-達盛股份有限公司 行業別:工具機製造業 年營業額:1-3億新台幣 員工人數:40人 總公司:台北 倉庫:台北、台中及高雄等三處 部門:總經理、行政部、工程部、業務部 產品及行銷:行銷中大型機械予國內客戶 上游合作廠商:包括國內外廠商

  13. 2-2E-R Model分析找出基底資料 • 「尋找」最基底的資料 • 人、事、物等基本資料 • 以達盛公司為例,其系統中必定有客戶、廠商、員工、產品、外幣幣別等資料 • 每一位客戶、每一位員工、每一項產品等,都是一個實體,也可稱為「記錄」,「實體」是概念設計階段的說法,「記錄」是實作的說法 • 訂單是由多個基底資料,因為業務需要,而「衍生」出來的資料

  14. 2-2E-R Model分析實體關係圖的符號 以各種不同的符號,代表具有特定意義的內容

  15. 2-2E-R Model分析實體的定義 • 實體(Entity)是指一個存在於應用環境中,具有意義、可以被描述的內容 • 如一位員工、一項產品或一位客戶 • 描述的方式是使用「屬性」 • 一個實體必定是由一或多個屬性所描述而成

  16. 實體(Entity)與屬性(Attribute)

  17. 2-2E-R Model分析屬性(Attribute) • 實體描述性的特性或特徵。 • 同義詞 • 元素(element) • 特性 (property) • 欄位 (field) • 複合屬性 (compound attribute) • 由其他屬性組合而成

  18. 2-2E-R Model分析四種屬性類型

  19. 2-2E-R Model分析鍵屬性 • 眾多屬性中,應有一個鍵(Key)屬性 • 可以在多個實體中,據以找到特定個體的屬性 • 如每位員工的身份證號 • 一般情況下的鍵屬性型態是簡單屬性 • 也會有以兩個或更多簡單屬性的組合,成為鍵屬性的情況 • 如果沒有辦法找到可以據以識別的簡單屬性作為鍵值:替代鍵(Surrogate Key)流水號

  20. 2-2E-R Model分析實體圖 一個員工實體圖

  21. 2-2E-R Model分析強實體及弱實體 • 一個有鍵屬性者的實體,又稱為強實體(Strong Entity) • 一個沒有鍵屬性的實體,就是弱實體(Weak Entity) • 弱實體不可且無法單獨存在,必須依賴於另一強實體 • 強實體「擁有」一個弱實體 • 若強實體被刪除或因各種原因而不存在,則弱實體也會被刪除

  22. 2-2E-R Model分析實體與關係 • 三種關係型 • 一對一 • 一對多 • 多對多

  23. 2-2E-R Model分析實體及關係的名稱 實體及關係都必須有名稱-關係的名稱是動詞,實體名稱是名詞

  24. 2-2E-R Model分析完全及部份參與 • 關係的雙方所有實體不會全部參與 • 如客戶與訂購單間,可能不是所有客戶都和訂購單有關係 • 訂購單一定會與客戶有關係,此時可稱為客戶「部份參與」訂購單,而訂購單「完全參與」客戶 • 完全參與以雙橫線表示,部份參與是單橫線

  25. BOM (Bill-of-Material) • 產品組成

  26. 2-2E-R Model分析繪製實體關係圖 產品 及 BOM

  27. 2-2E-R Model分析繪製實體關係圖 員工及部門 員工及工時

  28. 2-2E-R Model分析繪製實體關係圖 客戶及連絡人

  29. 2-2E-R Model分析繪製實體關係圖 銷貨處理

  30. 2-2E-R Model分析繪製實體關係圖 銷貨處理

  31. 2-2E-R Model分析繪製實體關係圖 採購處理

  32. 2-2E-R Model分析繪製實體關係圖 倉管處理入出庫

  33. 2-2E-R Model分析繪製實體關係圖 倉管處理庫存移動

  34. 2-2E-R Model分析繪製實體關係圖 應收及應付帳款

  35. 子類個體 Subtype 客戶分為法人及最終消費者兩種型態 員工分成男性與女性兩種型態 學生分成大學生與研究生兩種型態

  36. 子類個體 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.

More Related