lecture3信息模型與數(shù)據庫設計_第1頁
lecture3信息模型與數(shù)據庫設計_第2頁
lecture3信息模型與數(shù)據庫設計_第3頁
lecture3信息模型與數(shù)據庫設計_第4頁
lecture3信息模型與數(shù)據庫設計_第5頁
已閱讀5頁,還剩158頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1,Tsinghua University,應用軟件系統(tǒng) 分析與設計,柴躍廷 清華大學自動化系,2,第三章 信息模型與數(shù)據庫設計,深入分析各類應用軟件可知:各種應用軟件都是圍繞數(shù)據展開的,數(shù)據的規(guī)劃與管理是系統(tǒng)的核心。同時,對于特定的應用領域,由數(shù)據反映出來的各類信息及其相互關系是相對穩(wěn)定的,而解決各種問題所進行的處理是多變的,因此,信息模型與數(shù)據庫設計技術,是開發(fā)大型應用軟件系統(tǒng),特別是各類信息系統(tǒng)的核心與關鍵,3,第三章 信息模型與數(shù)據庫設計,問題的提出 信息模型的概念 建立信息模型的方法 基于信息模型的數(shù)據庫的設計方法,4,背景:某企業(yè)的客戶訂貨系統(tǒng),涉及的主要信息有: 客戶信息:編號(

2、CNO)、名稱(CNAME)、地址(CADDR); 產品信息:編號(PNO) 、名稱(PNAME) 、單價(PCOST) 訂單信息:編號(ONO) 、客戶編號(CNO) 、訂購數(shù)量(OQTY) 。 該系統(tǒng)的目的是能夠方便地對客戶、訂單及產品信息進行增、刪、查、改等管理。,信息模型與數(shù)據庫設計:問題的提出,問題:如何設計系統(tǒng)的數(shù)據庫?,5,信息模型與數(shù)據庫設計:問題的提出,方案一:設計一張表記錄客戶、訂單及產品信息: CNO、CNAME、CADDR、 ONO、 PNO、 PNAME、 PCOST 、OQTY C1 CN1 CADR1 O1 P1 PN1 PC1 OQ1 C1 CN1 CADR1

3、O1 P2 PN2 PC2 OQ2 C1 CN1 CADR1 O2 P3 PN3 PC3 OQ3 C2 CN2 CADR2 O3 P1 PN1 PC1 OQ4,6,信息模型與數(shù)據庫設計:問題的提出,方案一:設計一張表記錄客戶、訂單及產品信息: CNO、CNAME、CADDR、 ONO、 PNO、 PNAME、 PCOST 、OQTY C1 CN1 CADR1 O1 P1 PN1 PC1 OQ1 C1 CN1 CADR1 O1 P2 PN2 PC2 OQ2 C1 CN1 CADR1 O2 P3 PN3 PC3 OQ3 C2 CN2 CADR2 O3 P1 PN1 PC1 OQ4 存在問題: (1

4、)如果刪除訂單信息,則產品信息也將刪除,稱為刪除異常; (2)如果沒有訂單,則無法增加產品信息,稱為插入異常; (3)客戶、訂單、產品信息冗余,會引起數(shù)據不一致,7,信息模型與數(shù)據庫設計:問題的提出,方案一:設計一張表記錄客戶、訂單及產品信息: ONO、 PNO、 CNO、CNAME、CADDR、 PNAME、 PCOST 、OQTY O1 P1 C1 CN1 CADR1 PN1 PC1 OQ1 O2 P2 C1 CN1 CADR1 PN2 PC2 OQ2 O3 P3 C1 CN1 CADR1 PN3 PC3 OQ3 O4 P1 C2 CN2 CADR2 PN1 PC1 OQ4 存在問題的原因

5、: 區(qū)別每一條記錄的關鍵字是(ONO、PNO),而產品信息(PNAME、 PCOST)本來可以由PNO唯一確定,也就是說,產品信息并不完全依賴于訂單編號,這是引起插入及刪除異常的原因。,8,信息模型與數(shù)據庫設計:問題的提出,方案一:設計一張表記錄客戶、訂單及產品信息: ONO、 PNO、 CNO、CNAME、CADDR、 PNAME、 PCOST 、OQTY O1 P1 C1 CN1 CADR1 PN1 PC1 OQ1 O2 P2 C1 CN1 CADR1 PN2 PC2 OQ2 O3 P3 C1 CN1 CADR1 PN3 PC3 OQ3 O4 P1 C2 CN2 CADR2 PN1 PC1

6、 OQ4 方案一的改進措施: 將原來的一張表分解為三張表,分別為訂單信息、產品信息、訂單細節(jié)(用于聯(lián)系產品與訂單。,9,信息模型與數(shù)據庫設計:問題的提出,方案二:用訂單信息、產品信息及訂單細節(jié)三張表存儲客戶訂貨系統(tǒng)信息:,10,信息模型與數(shù)據庫設計:問題的提出,方案二:用訂單信息、產品信息及訂單細節(jié)三張表存儲客戶訂貨系統(tǒng)信息:,存在問題: (1)如果刪除訂單信息,則客戶信息也將刪除,稱為刪除異常; (2)如果沒有訂單,則無法增加客戶信息,稱為插入異常; (3)客戶信息冗余,會引起數(shù)據不一致,11,信息模型與數(shù)據庫設計:問題的提出,方案二:用訂單信息、產品信息及訂單細節(jié)三張表存儲客戶訂貨系統(tǒng)信息

7、:,存在問題原因: 區(qū)別每一條訂單記錄的關鍵字是ONO,而客戶信息(CNAME、CNAME)本來可以由CNO唯一確定,也就是說,客戶信息并不完全依賴于訂單編號,這是引起插入及刪除異常的原因。,12,信息模型與數(shù)據庫設計:問題的提出,方案二:用訂單信息、產品信息及訂單細節(jié)三張表存儲客戶訂貨系統(tǒng)信息:,方案二改進措施: 將原來的訂單信息表分解為訂單信息和客戶信息表。,13,信息模型與數(shù)據庫設計:問題的提出,方案三:用訂單信息、產品信息、客戶信息及訂單細節(jié)四張表存儲客戶訂貨系統(tǒng)信息:,14,信息模型與數(shù)據庫設計:問題的提出,方案三解決問題的原因: (1)在訂單信息、產品信息、客戶信息及訂單細節(jié)四張表

8、中,其中的訂單信息、產品信息、客戶信息分別反映了客觀存在的實體,而訂單細節(jié)反映了訂單與產品之間的聯(lián)系(實體之間的聯(lián)系) (2)描述現(xiàn)實世界中實體及其關聯(lián)是建立信息模型的核心思想,15,信息模型與數(shù)據庫設計:信息模型的概念,數(shù)據與信息 信息的三模式 信息模型,16,信息模型的概念:數(shù)據與信息,例如,北京市的區(qū)號為“010”,字符串“010”只有賦予“區(qū)號”這個含義時才稱其為是一種數(shù)據 數(shù)據可以有多種類型,例如數(shù)字、符號、文本、圖像、聲音等。數(shù)字又可以是整數(shù)、實數(shù)等,任何有含義的或可以賦予含義的表達形式都可稱其為數(shù)據。數(shù)據是指事實、概念或指令的某種規(guī)格化方式的表示,適于人或自動裝置進行通信、解釋或

9、處理,17,信息模型的概念:數(shù)據與信息,信息是對數(shù)據進行加工處理而得到的知識。,例如,如果“010”表示區(qū)號,我們會從“010”這個數(shù)據中得知,北京市的區(qū)號為“010”這個知識。,18,信息模型的概念:數(shù)據和信息的區(qū)別與聯(lián)系,不同的信息可能產生于同一數(shù)據(集),不同的數(shù)據可能會產生某個有用的信息。,例如,在某企業(yè)中,如果描述職工的屬性有:編號、姓名、工資、所在部門;描述部門的屬性有:編號、名稱;描述項目的屬性有:項目號、名稱、開工日期、完工日期、部門號。那么“該企業(yè)每月工資總額”這個信息來源于每個職工“工資”這個數(shù)據集的總和。“該企業(yè)中月工資高于1000元的人數(shù)”這個信息同樣來源于“工資”這個

10、數(shù)據集。而“某個人所承擔的所有項目中完工日期最早的項目”這個信息則來源于與職工、項目有關的不同數(shù)據的綜合。,19,信息模型的概念:數(shù)據和信息的區(qū)別與聯(lián)系,數(shù)據所表示的含義可以被理解為是最原始的信息,由多種數(shù)據或數(shù)據集及其相互關系反映出來的知識可以認為是復合信息。 由此可見,信息是一種知識的表示與體現(xiàn),或者說是現(xiàn)實世界中事物、概念的一種語義上或邏輯上的表達。它是具體數(shù)據的一種概括與抽象,與具體的數(shù)據值或量及其類型無關。,20,信息模型的概念:信息的三模式,在應用軟件的開發(fā)實踐中,通常從兩種不同的角度或采用兩種不同的觀點來規(guī)劃系統(tǒng)內部的數(shù)據,這就是用戶觀點(用戶模式)和計算機觀點(內部模式)。,2

11、1,信息的三模式:用戶模式,基于用戶觀點來規(guī)劃系統(tǒng)內部數(shù)據時,往往針對用戶所要解決的問題,以其希望的輸入/輸出信息(例如,各種屏幕和報表的內容與格式)對數(shù)據資源進行定義,通常稱其為用戶模式或外部模式。,22,信息的三模式:用戶模式的特點,(1)可以準確地解決用戶所關心的問題; (2)數(shù)據規(guī)劃就事論事,沒有完整、全面地描述問題空間中實體的屬性及實體之間的相互關系; (3)很難或不可能在原來的基礎上進行擴充或適應需求的變化。如果擴充或適應需求的變化,需要設計專門的數(shù)據結構,可能會造成系統(tǒng)內部的數(shù)據冗余、不一致,以致于混亂。,23,信息的三模式:內部模式,基于計算機觀點來規(guī)劃系統(tǒng)內部數(shù)據時,通常在特

12、定的計算機環(huán)境下(例如,特定的數(shù)據庫管理系統(tǒng)和編程環(huán)境)對數(shù)據資源進行定義,這時主要考慮的是數(shù)據的存貯與檢索的方便、迅速,以及外存空間的分配與使用的效益,通常稱之為數(shù)據模型或內部模式,24,信息的三模式:內部模式的特點,(1)內部模式是問題空間中的事物、概念的抽象化表示,不一定具有一一對應的關系,它通常是以計算機語言描述的,不利于與用戶進行充分的交流; (2)當特定的計算機環(huán)境發(fā)生變化時,相應的數(shù)據結構及其組織方式必須隨著進行變化; (3)當需求變化時,會產生與基于用戶觀點規(guī)劃系統(tǒng)內部數(shù)據時類似問題,即不利于系統(tǒng)需求的變化,25,信息的三模式:概念模式,既然用戶模式和內部模式都不能很好地解決應

13、用系統(tǒng)數(shù)據規(guī)劃的問題,那么就必須尋找一種新的解決方案,既能夠充分反映問題空間中的各種事物、概念,滿足所要解決的問題,被用戶充分地理解與接受,又能比較方便地轉化為特定計算機環(huán)境下的數(shù)據模型。同時又能靈活地適應需求的變化,便于系統(tǒng)的擴充和解決新的問題。這就是所謂的概念模式,也是建立信息模型的需求所在。,26,信息模型與數(shù)據庫設計:信息模型,信息模型是問題空間中相關事物、概念及其相互聯(lián)系的抽象實體及其相互關系的一種規(guī)范化描述,反映系統(tǒng)中各類信息及其相互關系。,27,信息模型與數(shù)據庫設計:信息模型,信息模型要解決的主要問題是:,表達問題空間中各種相關事物、概念及其相互關系,易于為用戶所理解與接受; 易

14、于轉化為特定計算機環(huán)境下系統(tǒng)所需的數(shù)據模型; 能夠充分反映問題空間中各類信息及其相互關系。,28,信息模型與數(shù)據庫設計:信息模型,信息模型的顯著特點在于:,(1)提供信息及其相互關系的一致定義,從而用來集成、共享、管理問題空間中的數(shù)據,保持系統(tǒng)數(shù)據的完整性和一致性; (2)可以方便地轉化成用戶模型和數(shù)據模型。 (3)易于擴充與修改。,29,信息模型與數(shù)據庫設計:信息模型,由信息模型的概念可知,信息模型位于現(xiàn)實世界(問題空間)與數(shù)據世界之間,起著承上啟下的作用。我們將表征信息及其相互關系的思維空間稱為信息世界。 現(xiàn)實世界、信息世界、數(shù)據世界表達了應用軟件開發(fā)過程中的不同的思維空間和抽象層次。體現(xiàn)

15、了自然語言向計算機語言的轉化過程。各自都有不同的內涵與作用。三者之間又相互關聯(lián)、相互轉化,互為一體。,30,信息模型與數(shù)據庫設計:信息模型,31,信息模型與數(shù)據庫設計:建立信息模型的方法,ER方法 IDEF1X方法,32,建立信息模型的方法:ER方法,ER方法的概念 ER方法的基本要素 ER方法的建模過程,33,ER方法:概念,ER(Entity Relationship)方法就是實體聯(lián)系方法,用于描述和定義系統(tǒng)中的信息及其內在聯(lián)系,建立系統(tǒng)的信息模型 ER方法使用ER圖描述信息模型,該方法簡便、有效,是目前進行數(shù)據庫設計的普遍方法,34,ER方法:基本要素,實體 屬性 聯(lián)系,35,ER方法的

16、基本要素:實體,實體是現(xiàn)實世界中具有相同屬性和特征的事物或概念的集合,集合中的每個元素稱為該實體的一個實例。,例如,用戶、車輛、貨物等均可視為是實體。其中,某個用戶“A”是用戶實體的一個實例。,36,ER方法的基本要素:實體,實體用長方形表示,并在框內注明實體名稱。,用 戶,37,ER方法的基本要素:屬性,屬性用來描述實體的某種性質和特征。屬性與具體的實體相聯(lián)系。,例如,“用戶”實體具有屬性“編號”和“名稱”等。,38,ER方法的基本要素:屬性,屬性用橢圓形表示,并標出實體與屬性之間的聯(lián)系。,39,ER方法的基本要素:聯(lián)系,實體之間的聯(lián)系可以是: 一對一(1:1) 一對多(1:m) 多對多(m

17、:n),用菱形表示實體間的聯(lián)系,在菱形框內注明聯(lián)系名,并用無向邊將菱形分別與有關的實體相聯(lián)系,40,實體之間的聯(lián)系:1:1,1:1的聯(lián)系存在于兩個實體A、B之間,實體A中的一個實例與實體B中的一個實例相對應,實體B中的一個實例與實體A中的一個實例相對應 例如,司機與車輛之間的聯(lián)系,41,實體之間的聯(lián)系:1:M,1:M的聯(lián)系存在于兩個實體A、B之間,實體A中的一個實例與實體B中的M個實例相對應,實體B中的一個實例與實體A中的一個實例相對應 例如,用戶與存/提貨訂單之間的聯(lián)系,42,實體之間的聯(lián)系:M:N,M:N的聯(lián)系存在于兩個實體A、B之間,實體A中的一個實例與實體B中的N個實例相對應,實體B中

18、的一個實例與實體A中的M個實例相對應 例如,貨物與貨位之間的聯(lián)系,43,實體之間的聯(lián)系:聯(lián)系的屬性,實體之間的聯(lián)系可以有屬性 例如,貨物與貨位之間的聯(lián)系,可以有屬性“存放數(shù)量”,44,ER方法:建模過程,(1)準備階段 (2)設計初步ER圖 (3)設計基本ER圖,45,ER方法的建模過程:準備階段,(1)確定建模目標 (2)確定建模范圍和上下文 (3)制定源材料收集計劃并著手收集原材料,46,ER方法建模過程的準備階段:確定目標,無論是什么樣的應用系統(tǒng),建立信息模型的主要目標是用規(guī)范化的方法,從系統(tǒng)的角度出發(fā),抽取和規(guī)劃應用領域中相對穩(wěn)定的數(shù)據資源,使其獨立于特定的數(shù)據管理系統(tǒng)環(huán)境和應用領域的

19、事務處理環(huán)境,作為建立應用系統(tǒng)的基礎和依據,47,ER方法建模過程的準備階段:確定范圍,建立系統(tǒng)信息模型時,一般以系統(tǒng)功能模型或確定的問題研究范圍作為建模的上下文和范圍,48,ER方法建模過程的準備階段:收集源材料,一般情況下,源材料可以呈現(xiàn)各種形式,并廣泛地分布在應用領域中。主要有:,調研的結果 觀察的結果 應用領域的業(yè)務過程 原系統(tǒng)的主要輸出(例如主要報表、表格、文件等) 原系統(tǒng)的主要輸入(例如口頭傳述內容、記錄等),49,ER方法的建模過程:設計初步ER圖,主要問題 基本步驟 設計舉例 初步ER圖的特點,50,設計初步ER圖:主要問題,設計初步ER 圖的關鍵是識別實體及其聯(lián)系。涉及的主要

20、問題是如何對所收集到的有關信息劃分實體和屬性。實體和屬性在形式上沒有明顯的界限,它隨應用環(huán)境的不同而不同。區(qū)分實體和屬性一般可依據兩個原則:,屬性與其所描述的實體之間只能是m:1的關系 屬性本身不能再被描述,不能與其它實體有聯(lián)系,51,設計初步ER圖:基本步驟,設計各個局部的ER圖 綜合各部分ER圖,形成初步ER圖,52,設計初步ER圖:設計舉例,53,設計初步ER圖:設計舉例,貨 物,用 戶,局部ER圖(2),54,設計初步ER圖:設計舉例,初步ER圖,N,貨 位,M,1,M,55,設計初步ER圖:初步ER圖的特點,在初步ER圖中,可能存在冗余的屬性和聯(lián)系 須進行進一步細化與完善 基本ER圖

21、,56,ER方法的建模過程:設計基本ER圖,屬性綜合 聯(lián)系綜合 發(fā)現(xiàn)和解決不一致,57,設計基本ER圖:屬性綜合,考察每一個實體,綜合各局部ER圖中的屬性,消除冗余屬性 例如,“存放數(shù)量”和“存放總數(shù)”、“訂單數(shù)量”和“貨物總數(shù)”,58,設計基本ER圖:聯(lián)系綜合,綜合各局部ER圖中的聯(lián)系,考察每一個聯(lián)系,消除冗余聯(lián)系 例如,“用戶”與“貨物”的聯(lián)系,59,設計基本ER圖:發(fā)現(xiàn)和解決不一致,綜合各局部ER圖中的屬性和聯(lián)系,考察每一個屬性和聯(lián)系,是否存在同名異義;同義異名;實體和聯(lián)系的定義在不同的局部有否沖突; 例如,用戶“名稱”和貨物“名稱”,60,初步ER圖,N,貨 位,M,1,M,設計基本E

22、R圖:設計例子,61,設計基本ER圖:設計例子,基本ER圖,N,貨 位,M,62,基于ER模型的數(shù)據庫設計:基本步驟,(1)將實體及其屬性轉化為關系及其屬性 (2)將不同實體之間的聯(lián)系轉化為關系 (3)檢查并去掉多余的關系 、合并可歸并的關系 (4)規(guī)范化關系模式 (5)確定并設計導出表 (6)根據系統(tǒng)的體系結構和數(shù)據分布原則,進行數(shù)據分布設計,63,基于ER模型的數(shù)據庫設計:將實體轉化為關系,將基本ER圖中的每個實體都轉化為一個關系,實體名作為關系名,實體的屬性轉化為關系的屬性,64,基于ER模型的數(shù)據庫設計:將實體轉化為關系,65,基于ER模型的數(shù)據庫設計:將實體轉化為關系,66,基于ER

23、模型的數(shù)據庫設計:將實體轉化為關系,67,基于ER模型的數(shù)據庫設計:將聯(lián)系轉化為關系,(1)對于1:1的聯(lián)系,可以根據具體情況,將一個實體的主關鍵字遷移到另一個實體對應的關系中,68,基于ER模型的數(shù)據庫設計:將聯(lián)系轉化為關系,(2)對于m:1的聯(lián)系,可以將對應于1的實體的主關鍵字遷移到對應于m的實體對應的關系中,可以與該實體的主關鍵字聯(lián)合成為該實體對應關系的主關鍵字,69,基于ER模型的數(shù)據庫設計:將聯(lián)系轉化為關系,70,基于ER模型的數(shù)據庫設計:將聯(lián)系轉化為關系,71,基于ER模型的數(shù)據庫設計:將聯(lián)系轉化為關系,(3)對于m:n的聯(lián)系,可以將該聯(lián)系轉化為一個關系,其中,聯(lián)系名作為關系名,聯(lián)

24、系的屬性和各有關實體的主關鍵字作為關系的屬性。,72,基于ER模型的數(shù)據庫設計:將聯(lián)系轉化為關系,73,基于ER模型的數(shù)據庫設計:消除冗余,在基本ER圖中若存在冗余關系,則應予以消除,74,基于ER模型的數(shù)據庫設計:規(guī)范化關系模式,為什么要規(guī)范化? 數(shù)據依賴的概念 規(guī)范化方法,75,規(guī)范化關系模式:原因,消除數(shù)據冗余 消除數(shù)據的插入、刪除、更新異常 保證數(shù)據的完整性與一致性,76,規(guī)范化關系模式:數(shù)據依賴,所謂數(shù)據依賴是指數(shù)據間值的相等與否體現(xiàn)出來的數(shù)據間的相互關系,是現(xiàn)實世界屬性間相互關系的抽象,是數(shù)據內在的性質 數(shù)據依賴中最重要的是函數(shù)依賴,77,規(guī)范化關系模式:函數(shù)依賴,設有一關系模式R

25、(A1,A2,An),X和Y均為(A1,A2,An)的子集,當任意兩個元組u,v中對應于X的那些屬性分量的值均相等時,則u,v中對應于Y的那些屬性分量的值也相等,稱X函數(shù)決定Y,或稱Y函數(shù)依賴于X,記為XY。,78,規(guī)范化關系模式:函數(shù)依賴,例如,學生(學號S#、姓名SN、系名SD) 存在的函數(shù)依賴: S#SN S#SD,79,規(guī)范化關系模式:函數(shù)依賴,完全函數(shù)依賴 部分函數(shù)依賴 傳遞函數(shù)依賴,80,規(guī)范化關系模式:完全函數(shù)依賴,設有關系R,如果XY,對于X任意一個真子集X,都有X不能決定Y,則稱Y對X完全函數(shù)依賴,記為X Y,例如,若學生與課程的關系: SC=(學號S# ,課程CN,成績SG

26、) (S# ,CN) SG X的真子集S# 或CN,都不能決定SG,只有(S# ,CN)才能決定SG,SG完全函數(shù)依賴于(S# ,CN),81,規(guī)范化關系模式:部分函數(shù)依賴,對于關系R,若X Y,但Y不完全函數(shù)依賴于X,則稱Y對X部分函數(shù)依賴,記為X Y,例如,學生(學號S# 、課程CN,系名SD,系地址SL,成績SG)存在依賴: (S# ,CN) SG,SD, SL S# SD S# SL,82,規(guī)范化關系模式:傳遞函數(shù)依賴,對于關系R,當且僅當X Y,Y Z時,稱Z對X傳遞函數(shù)依賴,例如,學生(學號S# 、班級SB、輔導員TN),一個班有若干個學生,一個學生只屬于一個班,一個班只有一名輔導

27、員,但一個輔導員負責幾個班。由此可得到一組函數(shù)依賴: S# SB SB TN 輔導員TN傳遞函數(shù)依賴于學號S#,83,規(guī)范化關系模式:規(guī)范化方法,84,舉例:某企業(yè)的客戶訂貨系統(tǒng),涉及的主要信息有: 客戶信息:編號(CNO)、名稱(CNAME)、地址(CADDR); 產品信息:編號(PNO) 、名稱(PNAME) 、單價(PCOST) 訂單信息:編號(ONO) 、客戶編號(CNO) 、訂購數(shù)量(OQTY),規(guī)范化關系模式:規(guī)范化方法,85,設計方案一:設計一張表記錄客戶、訂單及產品信息: CNO、CNAME、CADDR、 ONO、 PNO、 PNAME、 PCOST 、OQTY C1 CN1

28、CADR1 O1 P1 PN1 PC1 OQ1 P2 PN2 PC2 OQ2 P3 PN3 PC3 OQ3 C2 CN2 CADR2 O2 P1 PN1 PC1 OQ4,存在問題: 出現(xiàn)重復組,使訂單信息難于管理,屬于非規(guī)范化關系。,解決方案: 消除重復組,使關系規(guī)范化,規(guī)范化關系模式:規(guī)范化方法,86,解決方案二:第一范式沒有重復組 CNO、CNAME、CADDR、 ONO、 PNO、 PNAME、 PCOST 、OQTY C1 CN1 CADR1 O1 P1 PN1 PC1 OQ1 C1 CN1 CADR1 O1 P2 PN2 PC2 OQ2 C1 CN1 CADR1 O2 P3 PN3

29、PC3 OQ3 C2 CN2 CADR2 O3 P1 PN1 PC1 OQ4,存在問題: (1)如果刪除訂單信息,則產品信息也將刪除,稱為刪除異常; (2)如果沒有訂單,則無法增加產品信息,稱為插入異常; (3)客戶、訂單、產品信息冗余,會引起數(shù)據不一致,規(guī)范化關系模式:規(guī)范化方法,87,解決方案二:第一范式沒有重復組 ONO、 PNO、 CNO、CNAME、CADDR、 PNAME、 PCOST 、OQTY O1 P1 C1 CN1 CADR1 PN1 PC1 OQ1 O2 P2 C1 CN1 CADR1 PN2 PC2 OQ2 O3 P3 C1 CN1 CADR1 PN3 PC3 OQ3

30、O4 P1 C2 CN2 CADR2 PN1 PC1 OQ4 存在問題的原因:存在部分函數(shù)依賴 PNO PNAME、 PCOST,規(guī)范化關系模式:規(guī)范化方法,88,解決方案二:第一范式沒有重復組 ONO、 PNO、 CNO、CNAME、CADDR、 PNAME、 PCOST 、OQTY O1 P1 C1 CN1 CADR1 PN1 PC1 OQ1 O2 P2 C1 CN1 CADR1 PN2 PC2 OQ2 O3 P3 C1 CN1 CADR1 PN3 PC3 OQ3 O4 P1 C2 CN2 CADR2 PN1 PC1 OQ4 方案二的改進措施: 將原來的一張表分解為三張表,分別為訂單信息、

31、產品信息、訂單細節(jié)(用于聯(lián)系產品與訂單),消除部分函數(shù)依賴,規(guī)范化關系模式:規(guī)范化方法,89,存在問題: (1)如果刪除訂單信息,則客戶信息也將刪除,稱為刪除異常; (2)如果沒有訂單,則無法增加客戶信息,稱為插入異常; (3)客戶信息冗余,會引起數(shù)據不一致,解決方案三:第二范式每個非鍵屬性完全函數(shù)依賴主關鍵字,規(guī)范化關系模式:規(guī)范化方法,90,存在問題原因:存在傳遞函數(shù)依賴 ONO CNO CNO CNAME、CNAME,解決方案三:第二范式每個非鍵屬性完全函數(shù)依賴主關鍵字,規(guī)范化關系模式:規(guī)范化方法,91,方案三改進措施: 將訂單信息表分解為訂單信息和客戶信息表。消除傳遞函數(shù)依賴,解決方案

32、三:第二范式每個非鍵屬性完全函數(shù)依賴主關鍵字,規(guī)范化關系模式:規(guī)范化方法,92,解決方案四:第三范式,規(guī)范化關系模式:規(guī)范化方法,93,基于ER模型的數(shù)據庫設計:設計導出表,如果為了滿足快速查詢或統(tǒng)計的需求,可設計必要的導出表,94,基于ER模型的數(shù)據庫設計:數(shù)據分布設計,如果需要將數(shù)據進行分布式管理時,可根據系統(tǒng)的體系結構和數(shù)據分布原則,將密切相關的關系表構成一個數(shù)據庫,并將各數(shù)據庫分布在整個系統(tǒng)的有關節(jié)點上,95,基于ER模型的數(shù)據庫設計:設計結果,96,建立信息模型的方法: IDEF1X方法,IDEF1X方法的概念 IDEF1X方法的基本要素 IDEF1X方法的建模過程,97,IDEF1

33、X方法: 概念,IDEF1X方法是IDEF方法的組成部分之一,由美國空軍一體化信息支持系統(tǒng)(Integrated Information Support System IISS)項目研究組于1985年正式推出,它是一種語義數(shù)據模型化技術,用來支持信息模型的開發(fā),用IDEF1X方法建立的信息模型可以作為數(shù)據庫設計的主要依據,98,IDEF1X方法: 基本要素及其語法定義,實體 實體的屬性 實體間的聯(lián)系 實體的關鍵字,99,IDEF1X方法中的實體: 定義,實體是客觀世界中具有相同屬性和特征的客體或抽象事物的集合。集合中的一個元素是該實體的一個“實例”,例如“職工”是一個實體,“張三”是“職工”實

34、體的一個實例。,100,IDEF1X方法中的實體: 分類,實體分為“獨立實體”和“從屬實體”,獨立實體如果一個實體的每個實例都能被唯一地標識而不決定于它與其它實體的聯(lián)系,那么該實體被稱為獨立實體; 從屬實體如果實體的一個實例的唯一標識依賴于該實體與其它實體的聯(lián)系,那么該實體被稱為“從屬實體”,101,IDEF1X方法中的實體: 描述,實體用矩形框來表示。其中,方角矩形框表示獨立實體,圓角矩形框表示從屬實體 每一個實體必須有一個名字和編號,名字和號碼之間用斜杠()隔開,標注在矩形框的上方 實體的名字必須是一個名詞短語,可以用縮寫詞。實體名必須是有意義的且在整個模型中保持一致。,102,IDEF1

35、X方法中的實體: 描述,103,IDEF1X方法中的實體: 使用規(guī)則,(1)每一個實體必須使用唯一的實體名和單一的含義,相同的含義必須用于同一實體名而不能用于不同的實體名,別名除外 (2)一個實體可以有一個或多個屬性,這些屬性可以是自身擁有的,也可以是通過聯(lián)系而繼承得到的,104,IDEF1X方法中的實體: 使用規(guī)則,105,IDEF1X方法中的實體: 使用規(guī)則,(3)一個實體應有一個或多個能唯一標識實體中每個實例的屬性,(該屬性或屬性組合稱為該實體的主關鍵字)。 (4)任何實體都可以與模型中的其它實體有任意聯(lián)系,106,IDEF1X方法中的屬性: 定義,屬性是用來描述實體的某種性質和特征的。

36、屬性與具體的實體相聯(lián)系,實體的每個屬性都必須具有一個單一且確定的值,例如,“職工”實體具有屬性“職工姓名”和“職工生日”,而 “張三”和 “”是職工實體的一個實例。,107,IDEF1X方法中的屬性: 描述,實體的屬性被列在表示實體的矩形框內,每行列一個屬性,主關鍵字列在最上面,并且用水平線將其與其它屬性隔開 每個屬性均用一個名字唯一地標記。該名字可以用名詞短語,也可以用縮寫詞 屬性名在整個模型中必須有意義而且是一致的,108,IDEF1X方法中的屬性: 描述,109,IDEF1X方法中的屬性: 使用規(guī)則,(1)每一個屬性必須具有一個唯一的名稱,且相同的名稱描述相同的含義 (除別名外) (2)

37、每個實體可以具有任意多個屬性,一個屬性只能歸屬于一個實體,該規(guī)則稱為“單主規(guī)則” (3)一個實體可以有任意多個繼承屬性,而每個繼承屬性都必須是某個相關實體主關鍵字的一部分或全部,110,IDEF1X方法中的屬性: 使用規(guī)則,(4)實體的每一個實例,其每一個屬性都必須具有一個值,該規(guī)則稱“非空規(guī)則” (5)對于同某個實體相關的屬性而言,不能具有一個以上的值,該規(guī)則稱為“非重復規(guī)則”,111,IDEF1X方法中的聯(lián)系: 分類,連接聯(lián)系 分類聯(lián)系 非確定性聯(lián)系,112,IDEF1X方法中的連接聯(lián)系: 定義,連接聯(lián)系存在于兩個實體之間,一個稱為父實體,另一個稱為子實體。父實體中的每一個實例與子實體的0

38、個、1個或多個實例相聯(lián)系,子實體中的每一個實例必須同父實體的1個實例相系。即,只有與之相聯(lián)系的父實體的實例存在時,子實體的這個實例才存在。,例如,“用戶”和“存/提貨訂單”之間的聯(lián)系,,113,IDEF1X方法中的連接聯(lián)系: 分類,連接聯(lián)系分為標定型聯(lián)系和非標定型聯(lián)系,標定型聯(lián)系聯(lián)系中的父、子實體之間,子實體的每個實例都是由與它相聯(lián)系的父實體的某個實例確定的 非標定型聯(lián)系聯(lián)系中的父、子實體之間,子實體的每個實例都能唯一地被確認而無須了解與之相聯(lián)系的父實體的實例,114,IDEF1X方法中的連接聯(lián)系:描述,在IDEF1X中,用父子實體之間的連線表示連接關系,并在子實體一端加注小園點。其中,用實線

39、表示標定型聯(lián)系,用虛線表示非標定聯(lián)系。一個聯(lián)系應用動詞短語來命名,并標注在聯(lián)系連線的旁邊。命名的方向是從父實體到子實體,115,IDEF1X方法中的連接聯(lián)系:描述,一個聯(lián)系應用動詞短語來命名,并標注在聯(lián)系連線的旁邊。命名的方向是從父實體到子實體,116,IDEF1X方法中的連接聯(lián)系:使用規(guī)則,(1)一個連接聯(lián)系總是存在于兩個實體之間,一個作為父實體,另一個作為子實體 (2)父實體的一個實例可與子實體的0個、1個或多個實例相聯(lián)系,具體情況由特定的基數(shù)而定 (3)子實體的一個實例必須且總是與父實體的一個實例相聯(lián)系,117,IDEF1X方法中的連接聯(lián)系:使用規(guī)則,(4)在標定型聯(lián)系中,子實體總是從屬

40、實體 (5)一個實體可以與任意多個其它實體相聯(lián)系,可以在不同的聯(lián)系中充當不同的角色。例如,在一些聯(lián)系中當父實體,而在另一些聯(lián)系中當子實體,118,IDEF1X方法中的分類聯(lián)系:定義,在現(xiàn)實世界中,某些實體可能是另一些實體的分類中的子類實體,稱這種聯(lián)系為分類聯(lián)系。其中的一個實體稱為一般實體,另一個或幾個實體稱子類實體 一般實體所擁有的各分類子實體通常是互不包含的,即,一般實體的每一個實例只與其中的一個分類子實體的一個實例相對應,119,IDEF1X方法中的分類聯(lián)系:定義,一般實體擁有一種屬性,可以根據該屬性的值來判別一般實體的實例與哪一個分類實體的實例相對應,這個屬性被稱為分類的“鑒別器”,例如

41、, 實體“職工”、“行政類職工”、“業(yè)務類職工”。,120,IDEF1X方法中的分類聯(lián)系:分類,完全分類聯(lián)系一般實體的每一個實例都恰好與一個且僅與一個分類實體的一個實例相聯(lián)系 例如:“職工”、“男職工”、“女職工” 不完全分類聯(lián)系一般實體的一個實例可能不與任何分類實體的任一實例相聯(lián)系 例如: “職工”、“青年職工”、“中年職工”、“老年職工”,分類聯(lián)系進一步分為完全分類聯(lián)系和不完全分類聯(lián)系,121,IDEF1X方法中的分類聯(lián)系:描述,122,IDEF1X方法中的分類聯(lián)系:使用規(guī)則,(1)一個分類實體只能有一個與之對應的一般實體 (2)一個分類實體可以是另外一個分類聯(lián)系中的一般實體 (3)一個分

42、類實體不能是標定型連接聯(lián)系中的子實體 (4)一個實體可具有任意個分類聯(lián)系,在這些分類聯(lián)系中,這個實體作為一般實體,123,IDEF1X方法中的分類聯(lián)系:使用規(guī)則,(5)分類實體的主關鍵字屬性必須和一般實體的主關鍵字屬性相同 (6)一個分類實體的全部實例都具有相同的鑒別器值,并且不同分類實體的所有實例都具有不同的鑒別器值,124,IDEF1X方法中的非確定型聯(lián)系:定義,對于兩個實體而言,如果任一實體的一個實例都與另一個實體的0個,1個或多個實例相聯(lián)系,那么,這種聯(lián)系稱為非確定型聯(lián)系 在完善的IDEF1X模型中,實體間的所有聯(lián)系都必須用確定型聯(lián)系來描述。因此,在對模型不斷完善的過程中,應將非確定型

43、聯(lián)系轉化成確定型聯(lián)系, 例如,實體“職工”與“項目”,125,IDEF1X方法中的非確定型聯(lián)系:描述,非確定型聯(lián)系用一個兩端帶園點的連線來描述,在園點旁可標記聯(lián)系的基數(shù) 非確定型聯(lián)系采用動詞短語雙向命名,聯(lián)系名用斜杠(/)分開,標記在連線的旁邊。聯(lián)系名的次序由實體之間的相對位置確定,126,IDEF1X方法中的非確定型聯(lián)系:描述,127,IDEF1X方法中的非確定型聯(lián)系:使用規(guī)則,(1)一個非確定型聯(lián)系總是存在于兩個實體之間,而不是三個或更多個實體之間 (2)兩個實體中,任意一個實體的實例可以與另一個實體的0個,1個或多個實例相關聯(lián),具體情況要視聯(lián)系的基數(shù)而定,128,IDEF1X方法中的關鍵

44、字:定義,在實體的屬性中,用來唯一地標識實體的每個實例的一個或多個屬性的組合稱為該實體的關鍵字。 實體可以有一個或多個關鍵字。如果實體存在多個關鍵字,那么必須指定其中一個為“主關鍵字”,而其它關鍵字被稱為“次關鍵字”。 如果兩個實體之間存在連接聯(lián)系或分類聯(lián)系,那么構成父實體或一般實體主關鍵字的屬性將被繼承為子實體或分類實體的屬性,這些繼承屬性被稱為“外來關鍵字”,129,IDEF1X方法中的主、次關鍵字:描述,主關鍵字屬性標記在表示實體矩形框內的頂部并用水平線同其它屬性分開。 每一個次關鍵字被分配一個唯一的整數(shù)號,并放在字母“AK”(Alternate Key)后面,然后用圓括號括起來放在次關

45、鍵字屬性的后面,130,IDEF1X方法中的主、次關鍵字:描述,職工號 身份證號(AK1) 姓名(AK2) 生日(AK2),主關鍵字,1#次關鍵字,2#次關鍵字,131,IDEF1X方法中的主、次關鍵字:使用規(guī)則,(1)一個實體必須有一個主關鍵字 (2)一個實體可以有任意個次關鍵字 (3)主、次關鍵字可以由單個或多個屬性組成 (4)個別屬性可以是多個關鍵字的一部分 (5)構成主或次關鍵字的屬性可以是實體自身所具有的或由某些聯(lián)系繼承得到的屬性,132,IDEF1X方法中的主、次關鍵字:使用規(guī)則,(6)主、次關鍵字必須只包含有助于唯一標識實體的實例的那些屬性,即,如果主、次關鍵字中去掉任一部分屬性

46、,那么就無法唯一確定實體的實例。這一規(guī)則稱為“最小關鍵字規(guī)則” (7)如果主關鍵字由多個屬性組成,那么每個非鍵屬性的值必須完全函數(shù)依賴于主關鍵字。也就是說,如果主關鍵字的一部分屬性被確定了,那么非鍵屬性的值無法唯一確定。這一規(guī)則稱為“完全函數(shù)依賴規(guī)則”,133,IDEF1X方法中的主、次關鍵字:使用規(guī)則,(8)每個非鍵屬性必須是僅僅函數(shù)依賴于主、次關鍵字。也就是說,沒有一個非鍵屬性的值能夠由其它非鍵屬性值確定。這一規(guī)則被稱為“非傳遞依賴規(guī)則”,134,IDEF1X方法中的外來關鍵字:描述,外來關鍵字可以作為一個實體的部分或全部主關鍵字次關鍵字或非鍵屬性 例如,在分類聯(lián)系中,所有分類實體的主關鍵

47、字都是從一般實體的主關鍵字繼承得到的,135,IDEF1X方法中的外來關鍵字:使用規(guī)則,(1)在連接聯(lián)系或分類聯(lián)系中的子實體或分類實體中,必須包含一個外來關鍵字 (2)一般實體的主關鍵字必須遺傳為每個分類實體的主關鍵字 (3)父實體或一般實體的每一個主關鍵字屬性都必須是相關子實體或分類實體中的繼承屬性,136,IDEF1X方法:建模過程,準備階段 定義實體 定義聯(lián)系 定義鍵 定義屬性,137,IDEF1X方法的建模過程:準備階段,同ER方法建模過程的準備階段,138,IDEF1X方法的建模過程:定義實體,由于實體是現(xiàn)實世界中某種具體事物或概念的一種抽象,因此,一個物體、一個事件、一種狀態(tài)、一種

48、行為、一種思想均可作為實體,識別實體時,應對候選實體盡量考慮以下幾個問題:,139,IDEF1X方法的建模過程:定義實體,(1)它能被描述嗎?或它有哪些性質或屬性? (2)存在多個該類事物嗎 ? (3)每一個該類事物能被區(qū)分或標識嗎 ? (4)它是否屬于或描述某事物?如果是,則是屬性,而不是實體,140,IDEF1X方法的建模過程:定義實體,經過上述考慮后,可以得到初步的實體,并給每一實體編號和命名。以實體表的形式記錄下來 例如:在XMIS中,141,IDEF1X方法的建模過程:定義聯(lián)系,定義聯(lián)系是指識別實體之間可能的聯(lián)系,并對識別出來的聯(lián)系命名,最后以實體級圖的形式表示出來。在該圖中,允許出現(xiàn)非確定型聯(lián)系,待以后的階段逐步消除。如果系統(tǒng)規(guī)模大,存在多張實體級圖,則應注意各圖之間的一致性 例如:在XMIS中,IDEF1X方法的建模過程:定義聯(lián)系,司機/10,用戶/1,車輛/11,倉庫/5,貨位/4,存/提貨訂單

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論