370 likes | 533 Views
資料需求分析與模型建立. Data Requirement Analysis and Model Development. 大綱. 結構化分析設計簡介 資料分析與模型建立 (Data Modeling) 簡介 實體關係模型 (E-R Model) 介紹 基本結構 關係 (Relationships) 的分類 特殊的實體型態 模型建立的步驟與 策略. 結構化分析與設計. 將所面對問題分流程與資料個別處理,但交互比照,兩部分作法稱為 流程塑模 資料塑模 資料需求分析 : 實體關聯圖 資料庫設計 : 關聯圖轉關聯資料表、再予以正規化.
E N D
資料需求分析與模型建立 Data Requirement Analysis and Model Development
大綱 • 結構化分析設計簡介 • 資料分析與模型建立(Data Modeling)簡介 • 實體關係模型(E-R Model)介紹 • 基本結構 • 關係(Relationships)的分類 • 特殊的實體型態 • 模型建立的步驟與策略 系統分析與設計─資料塑模
結構化分析與設計 • 將所面對問題分流程與資料個別處理,但交互比照,兩部分作法稱為 • 流程塑模 • 資料塑模 • 資料需求分析: 實體關聯圖 • 資料庫設計:關聯圖轉關聯資料表、再予以正規化 系統分析與設計─資料塑模
資料塑模之概念Data Modeling Concepts 資料屬性(attribute) 資料實(案)例(instance) 系統分析與設計─資料塑模
資料分析與資料模型(Data Model) • 資料分析 • 好的資料結構設計會使得資訊系統的程式設計、報表設計、介面設計、資料的統計分析甚至於後續的維護工作變得較為簡單。 • 主要目的就是要設計出良好的資料結構。 • 資料模型 • 資料模型主要的用途就是在描述資訊系統的資料結構。一般而言,會以圖形方式表示,描述資訊系統的資料結構及資料檔案的內容與彼此間之關係。 • 資料塑模:(Data Modeling) 「將資訊系統的資料予以組織與文件化的一項活動」 系統分析與設計─資料塑模
系統需求 概念資料模型 邏輯資料模型 實體資料模型 資料庫 資料模型(Data Model) 三個層次 ◆概念(Conceptual)資料模型 • 將系統的資訊需求以圖形方式作概念的表達。 ◆邏輯(Logical)資料模型 • 以某一種型態的資料庫模型為基礎描述資料,例如常用的關聯式資料庫模型。 ◆實體(Physical)資料模型 • 應用某種資料庫管理系統產品(如MS SQL、Oracle等)實際將資料庫發展出來。 系統分析與設計─資料塑模
系統發展各階段之資料模型 系統分析與設計─資料塑模
概念性資料塑模(Conceptual Data Modeling) • 掌握組織資料整體結構的模型。 • 開發現有系統的模型。 • 開發新系統需求的模型。 • 新舊系統所有的資料庫來源(外包於目前開發系統之更大的資料庫模型) • 分析階段發展出的資料模型,需在設計階段轉換成實體資料儲存的格式。 • 在SDLC的每個資料塑模和設計階段都必須和專案儲存庫作連結。 系統分析與設計─資料塑模
實體關係模型Entity Relational (E-R) Model • 概念資料模型中最常被使用的工具。 • 於1976年由陳品山(Peter Chen)教授所提出, • 就是以實體以及實體間的關聯來看整個系統的資料需求。 • 實體關聯圖(E-R Diagram):為實體關聯模式的圖形化表示方式。 系統分析與設計─資料塑模
模型的基本結構(傳統表達方式) • 矩形:表實體。 • 菱形:表實體間之關係。 • 橢圓形:表實體或關係之屬性。 • 基數:表實體間之關係程度,可以是一對一、一對多或者多對多等情況。 • 直線:把屬性連結到實體或把實體連結到關係 。 系統分析與設計─資料塑模
ERD主要名詞概念與圖例 • Data Entity資料實體 • Entity instance案例 • Data attribute資料屬性 • Key鍵 • Data type資料型態 • Data domain值域 • Relationship關係 • Cardinality關係基數 • Degree元數(度) 系統分析與設計─資料塑模
資料實體(Entity) • 一些具有共同屬性(即性質或特徵)之實體案例的集合。 • 主要包括人、地方、物件、事件或使用者環境中之概念等。 • 每個實體常以矩形表示,並將其名稱標示內以作辨別。命名方式: • 單數名詞,英文大寫 • 具有描述性且專屬於某組織 • 簡單明瞭 • 不重覆 學生(STUDENT) 員工 (EMPLOYEE) 產品(PRODUCT) 系統分析與設計─資料塑模
資料屬性 (Attribute) • 描述實體的一些性質或特徵。 • 表示方式: • 傳統上,常以橢圓形表示,並將屬性名稱標示於橢圓形中,且以線條與其實體類型連接。 • 或者,把屬性放在實體的方形內 • 通常為名詞且獨一無二 • 以學生實體為例,其屬性可包括學生之學號、姓名、地址、電話等 系統分析與設計─資料塑模
候選鍵與主鍵 • 候選鍵 (Candidate Keys又譯為”準鍵”) • 一個或多個屬性的集合,可以區別實體的每個案例,又稱為識別子(identifier) 。 • 主鍵(Primary Key) • 候選鍵中擇一作為主鍵;其選用準則: • 實體之案例值應不會改變者。例如,地址可能會改變,故並不恰當。 • 必須具有有效值且不可以是空值。 • 避免使用所謂的智慧鍵,也就是以該鍵之結構表示分類或位置等。 • 盡可能以單一屬性主鍵代替多屬性的組合鍵 • 常以底線標示 系統分析與設計─資料塑模
E-R模型 (新的表達方式) 系統分析與設計─資料塑模
E-R模型 (新的表達方式) 系統分析與設計─資料塑模
多值屬性 • 當一實體案例之某一屬性有一個以上的值。例如,眷屬是員工(實體)的屬性之一,因員工可能有多個眷屬,故是多值屬性,其眷屬資料為眷屬姓名、年齡與關係(配偶、孩子、父母等)。 • 常用表示法 • 雙線的橢圖形。 • 以另一實體類型表示,並以線條與原實體類型相連,此稱弱實體或屬性實體。 系統分析與設計─資料塑模
多值屬性與弱實體範例 系統分析與設計─資料塑模
其他屬性類型 • 必要(required)屬性:每個實體實例必定要有的值的屬性。 • 非必要(optional)屬性:每個實體實例不一定要有的值的屬性。 • 複合(Composite)屬性:包含特殊意義的複合子屬性。 • 衍生(derided)屬性:屬性值可經由其他屬性值算出。 系統分析與設計─資料塑模
關係(Relationship或譯為”關聯”) • 指實體間經常存在一些案例的自然連結。 • 參與某個關係中之實體數量稱關係元或度(Degree)。常見有三種: • 單一關係(Unary Relationship) • 二元關係(Binary Relationship) • 三元關係(Ternary Relationship) • 實體之案例間之關聯數目則稱為基數(cardinality)。該數目可能會有最小、最大或沒有限制。例如,一部電影可被存成多捲錄影帶 • 最小基數為0之關係則是一個選擇性的參與關係。 • 若最小基數為1,則稱強制性的參與關係。 系統分析與設計─資料塑模
單一關係(Unary Relationship) • 此關係是建立在一實體案例間。例如:人是一實體,但其中之某一個人與另一個人可以有婚姻關係,且是一對一的關係。 • 另如員工是一實體,許多員工向某一特定管理者報告或管理者可管理許多員工,這是一對多的關係。 • 又如組件有許多不同數量之零件,這是多對多的關係。 • 又稱為遞迴(recursive)關係, 系統分析與設計─資料塑模
單一關係 系統分析與設計─資料塑模
二元(Binary)關係 表示兩個實體案例間之關係,此種情況最常見。 系統分析與設計─資料塑模
三元(Ternary)關係 • 表三個實體之案例間之共同關係,此關係中每個實體可能有一或多個案例參與。例如零件、供應商與批發商均是實體,三者間有「輪船運送」之關係,且數量為輪船運送之屬性。 系統分析與設計─資料塑模
關係基數之標記及意義 系統分析與設計─資料塑模
關係基數之標記及意義(cont’d) 拷貝編號 系統分析與設計─資料塑模
關聯(Associate)實體 • 通常為多對多之關係或三元關係,可選擇以一種實體取代之,轉換成與其他實體之一對多的關係。 • 例如,某組織想記錄某員工在何時完成那一門課,其部分資料如下: 系統分析與設計─資料塑模
關聯實體(續) • 「完成」關係可被表示二元關係。其中,完成日期並非員工之屬性,亦非課程之屬性,而是員工與課程關係之屬性。從完成到員工與完成到課程之線,並非兩個分離的二元關係,而是一個二元關係的兩個端點。 • 若將完成視為關聯實體,則其主鍵是員工與課程之主鍵(分別是員工代號與課程名稱)的組合,此關聯實體可表示如圖。 系統分析與設計─資料塑模
關聯實體(續) 系統分析與設計─資料塑模
零 件 供應 供應商 倉 庫 供應商 零 件 倉 庫 供應商、 零件庫存 三元或多元(n-ary)之修正 三元關係 修正後 系統分析與設計─資料塑模
超型態/子型態(Supertype/Subtype)實體 • 同屬一個實體內的事例未必包含完全相同的屬性。例如某公司有本國籍員工與外籍勞工,因為外籍勞工的基本資料中,有一些特殊的資料項目是本國及員工所沒有的,所以該公司的員工實體就會產生一部份屬性一樣、另一部份屬性不一樣的情形。超型別/子型別(Supertype/Subtype)就是專門用來表達上述這種情形的實體型別 。 系統分析與設計─資料塑模
超型態/子型態(Supertype/Subtype)實體(續) ◆超型別(Supertype) 紀錄實體中所有事例必須共同擁有的屬性。超型別和一或多個子型別有關聯。 ◆子型別(Subtype) 實體中屬性的子集合,此子集合擁有與其他子集合不一樣的屬性。 系統分析與設計─資料塑模
姓 名 員工編號 到職日 員 工 本國籍員工 外籍勞工 最高學歷 地 址 國 籍 傳染病紀錄 電 話 超型別/子型別(Supertype/Subtype)實體(續) 系統分析與設計─資料塑模
實體關係圖建構 • 找出實體及其屬性(特性) • 找出實體間之關係(一元、二元、三元) • 找出關係之基數與屬性 系統分析與設計─資料塑模
確認實體間的關係─行銷資訊系統 系統分析與設計─資料塑模
資料塑模所需蒐集的資訊 • 綜合上下兩個觀點: • 由上而下(top-down) :可清楚了解企業本質。 • 由下而上(bottom-up):檢視特定商業文件、電腦畫面、報表和表格。 • 需求訂定問題: • 整個企業中有哪些物件?資料實體(data entities) • 有何特徵可以區分相同型態的物件?主鍵(primary key) • 哪些描述物件特徵?屬性(attributes)和次要鍵(secondary keys)。 • 如何使用這些資料?安全控制和誰真正了解資料的意義。 • 需要在什麼時間使用這些資料?基數和資料的時間維度。 系統分析與設計─資料塑模
資料塑模所需蒐集的資訊(cont’d) • 每一個物件的實例都是相同的嗎? • 超型態(supertypes)、子型態(subtypes)和聚集(aggregations)。 • 什麼樣的事件會使多個物件間產生關聯? • 關係(relationships)和基數(cardinality)及關係度(degree)。 • 每一個活動或事件永遠以同一種方式處理嗎? • 整合性規則(integrity rules)、最大和最小基數(minimum and maximum cardinality)和資料的時間維度(time dimensions)。 系統分析與設計─資料塑模