




已閱讀5頁,還剩123頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章 數(shù)據(jù)庫系統(tǒng)的設計方法,7.1 數(shù)據(jù)庫系統(tǒng)設計概述 7.2 系統(tǒng)需求分析 7.3 概念結構的設計 7.4 數(shù)據(jù)庫邏輯結構的設計 7.5 數(shù)據(jù)庫物理結構的設計 7.6 數(shù)據(jù)庫的實施和維護 7.7 數(shù)據(jù)庫應用系統(tǒng)的設計 習題7,7.1 數(shù)據(jù)庫系統(tǒng)設計概述,7.1.1 數(shù)據(jù)庫系統(tǒng)設計的內容 數(shù)據(jù)庫系統(tǒng)設計的內容主要包括數(shù)據(jù)庫的結構特性設計、數(shù)據(jù)庫的行為特性設計和數(shù)據(jù)庫的物理模式設計。,1. 數(shù)據(jù)庫的結構特性設計 數(shù)據(jù)庫的結構特性是指數(shù)據(jù)庫的邏輯結構特征。由于數(shù)據(jù)庫的結構特性是靜態(tài)的,一般情況下不會輕易變動,因此數(shù)據(jù)庫的結構特性設計又稱為數(shù)據(jù)庫的靜態(tài)結構設計。,數(shù)據(jù)庫的結構特性設計過程如下: 將現(xiàn)實世界中的事物、事物間的聯(lián)系用E-R圖表示。 將各個分E-R圖匯總,得出數(shù)據(jù)庫的概念結構模型。 將概念結構模型轉化為數(shù)據(jù)庫的邏輯結構模型。,2. 數(shù)據(jù)庫的行為特性設計 數(shù)據(jù)庫的行為特性設計是指確定數(shù)據(jù)庫用戶的行為和動作,并設計出數(shù)據(jù)庫應用系統(tǒng)的系統(tǒng)層次結構、功能結構和系統(tǒng)數(shù)據(jù)流圖,確定數(shù)據(jù)庫的子模式。,數(shù)據(jù)庫行為特性的設計步驟為: 將現(xiàn)實世界中的數(shù)據(jù)及應用情況用數(shù)據(jù)流程圖和數(shù)據(jù)字典表示,并詳細描述其中的數(shù)據(jù)操作要求(即操作對象、方法、頻度和實時性要求)。 確定系統(tǒng)層次結構。 確定系統(tǒng)的功能模塊結構。 確定數(shù)據(jù)庫的子模式。 確定系統(tǒng)數(shù)據(jù)流圖。,3. 數(shù)據(jù)庫的物理模式設計 數(shù)據(jù)庫的物理模式設計要求是:根據(jù)庫結構的動態(tài)特性(即數(shù)據(jù)庫應用處理要求),在選定的DBMS環(huán)境下,把數(shù)據(jù)庫的邏輯結構模型加以物理實現(xiàn),從而得出數(shù)據(jù)庫的存儲模式和存取方法。,7.1.2 數(shù)據(jù)庫系統(tǒng)設計應注意的問題 1. 應考慮到計算機硬件、軟件和干件的實際情況 在進行數(shù)據(jù)庫設計時,應當考慮三方面的內容: (1) 數(shù)據(jù)庫系統(tǒng)的硬件條件。 (2) 數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫應用系統(tǒng)開發(fā)軟件的特點。 (3) 數(shù)據(jù)庫用戶的技術水平和管理水平。,2. 應使結構特性設計和行為特性設計緊密結合 數(shù)據(jù)庫的設計過程是一種自上而下的、逐步逼近設計目標的過程。數(shù)據(jù)庫的設計過程是結構設計和行為設計分離設計、相互參照、反復探尋的過程。 圖7-1所示為數(shù)據(jù)庫設計的過程圖。,圖7-1 數(shù)據(jù)庫設計過程,7.1.3 數(shù)據(jù)庫設計的基本方法 現(xiàn)實世界的信息結構復雜且應用環(huán)境多種多樣,在很長一段時間內,數(shù)據(jù)庫設計是采用手工試湊法進行的。手工試湊法設計數(shù)據(jù)庫與設計人員的經(jīng)驗和水平有直接關系,它更像是一種技藝而不是工程技術。,7.1.4 數(shù)據(jù)庫系統(tǒng)設計的基本步驟 圖7-2所示為數(shù)據(jù)庫設計的步驟和各個階段應完成的基本任務,下面就具體內容進行介紹。,圖7-2 數(shù)據(jù)庫設計的步驟,1. 需求分析階段 需求分析是數(shù)據(jù)庫設計的第一步,也是最困難、最耗時間的一步。 2. 概念結構設計階段 概念結構設計是整個數(shù)據(jù)庫設計的關鍵。在概念結構的設計過程中,設計者要對用戶需求進行綜合、歸納和抽象,形成一個獨立于具體計算機和DBMS的概念模型。,3. 邏輯結構設計階段 數(shù)據(jù)邏輯結構設計的主要任務是將概念結構轉換為某個DBMS所支持的數(shù)據(jù)模型,并將其性能進行優(yōu)化。 4. 數(shù)據(jù)庫物理設計階段 數(shù)據(jù)庫物理設計的主要任務是為邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結構,包括數(shù)據(jù)存儲位置、數(shù)據(jù)存儲結構和存取方法。,5. 數(shù)據(jù)庫實施階段 在數(shù)據(jù)庫實施階段中,系統(tǒng)設計人員要運用DBMS提供的數(shù)據(jù)操作語言和宿主語言,根據(jù)數(shù)據(jù)庫的邏輯設計和物理設計的結果建立數(shù)據(jù)庫、編制與調試應用程序、組織數(shù)據(jù)入庫并進行系統(tǒng)試運行。 6. 數(shù)據(jù)庫運行和維護階段 數(shù)據(jù)庫應用系統(tǒng)經(jīng)過試運行后即可投入正式運行。在數(shù)據(jù)庫系統(tǒng)運行過程中,必須不斷地對其結構性能進行評價、調整和修改。,表7-1 數(shù)據(jù)庫結構設計過程的各個階段及描述,表7-1中有關處理特性的設計描述、設計原理、設計方法、工具等具體內容,在軟件工程和信息系統(tǒng)設計等其他相關課程中有詳細介紹。這里主要討論有關數(shù)據(jù)特性的問題,包括數(shù)據(jù)特性的描述、如何參照處理特性、完善數(shù)據(jù)模型設計等問題。 在圖7-3中描述了數(shù)據(jù)庫結構設計不同階段要完成的不同級別的數(shù)據(jù)模式。,圖7-3 數(shù)據(jù)庫的各級模式,7.2 系統(tǒng)需求分析,7.2.1 需求分析的任務和方法 1. 系統(tǒng)需求調查的內容 調查是系統(tǒng)需求分析的重要手段,只有通過對用戶的調查研究,才能得出需要的信息。調查的目的是獲得數(shù)據(jù)庫所需數(shù)據(jù)情況和數(shù)據(jù)處理要求。,調查的具體內容有以下三方面: (1) 數(shù)據(jù)庫中的信息內容。 (2) 數(shù)據(jù)處理內容。 (3) 數(shù)據(jù)安全性和完整性要求。,2. 系統(tǒng)需求的調查步驟 調查用戶需求的具體步驟是: 了解現(xiàn)實世界的組織機構情況。 了解相關部門的業(yè)務活動情況。 (3) 確定新系統(tǒng)的邊界。,3. 系統(tǒng)需求調查的方法 計算機工作人員應當在熟悉了現(xiàn)實世界的業(yè)務后,協(xié)助用戶提出對新系統(tǒng)的各種要求。在系統(tǒng)需求調查過程中,可以根據(jù)不同的問題和條件,使用不同的調查方法。 4. 系統(tǒng)需求分析方法 調查了解了用戶的需求以后,需要進一步分析和表達用戶的需求。,SA方法從最上層的系統(tǒng)組織機構入手,采用自頂向下、逐層分解的方式分析系統(tǒng)。SA方法把任何一個系統(tǒng)都抽象為圖7-4的形式。,圖7-4 系統(tǒng)高層抽象圖,7.2.2 數(shù)據(jù)字典及其表示 1. 數(shù)據(jù)項 數(shù)據(jù)項是不可再分的數(shù)據(jù)單位,它的描述為 數(shù)據(jù)項 = 數(shù)據(jù)項名,數(shù)據(jù)項含義說明,別名,類型,長度,取值范圍,與其他數(shù)據(jù)項的邏輯關系,2. 數(shù)據(jù)結構 數(shù)據(jù)結構的描述為 數(shù)據(jù)結構 = 數(shù)據(jù)結構名,含義說明,組成,數(shù)據(jù)項或數(shù)據(jù)結構 3. 數(shù)據(jù)流 數(shù)據(jù)流是數(shù)據(jù)結構在系統(tǒng)內傳輸?shù)穆窂健?shù)據(jù)流的描述通常為 數(shù)據(jù)流 = 數(shù)據(jù)流名,說明,流出過程,流入過程,組成:數(shù)據(jù)結構,平均流量,高峰期流量,4. 數(shù)據(jù)存儲 數(shù)據(jù)存儲是數(shù)據(jù)及其結構停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。數(shù)據(jù)存儲可以是手工文檔、手工憑單或計算機文檔。數(shù)據(jù)存儲的描述通常為 數(shù)據(jù)存儲 = 數(shù)據(jù)存儲名,說明,編號,輸入的數(shù)據(jù)流,輸出的數(shù)據(jù)流,組成:數(shù)據(jù)結構,數(shù)據(jù)量,存取頻度,存取方式,5. 處理過程 處理過程的具體處理邏輯一般用判定表或判定樹來描述。數(shù)據(jù)字典中只需要描述處理過程的說明性信息,通常包括以下內容: 處理過程 = 處理過程名,說明,輸入:數(shù)據(jù)流,輸出:數(shù)據(jù)流,處理:簡要說明 圖7-5所示是一個數(shù)據(jù)流程圖的實例。圖中包括外部項、存儲框和處理框以及數(shù)據(jù)流,它們需要數(shù)據(jù)字典對其內容進行詳細說明。,圖7-5 一個數(shù)據(jù)流程圖的實例,7.3 概念結構的設計,7.3.1 概念結構的特點及設計方法 1. 概念結構設計的方法 概念結構設計的方法有四種: (1) 自頂向下:首先定義全局概念結構的框架,然后逐步細化為完整的全局概念結構。 (2) 自底向上:首先定義各局部應用的概念結構,然后將它們集成起來,得到全局概念結構的設計方法。,(3) 逐步擴張:先定義最重要的核心概念結構,然后向外擴充,生成其他概念結構,直至完成總體概念結構。 (4) 混合策略:用自頂向下策略設計一個全局概念結構的框架,然后以它為骨架,集成由自底向上策略中設計的各局部概念結構。,2. 概念結構的設計步驟 按照圖7-6所示的自頂向下分析需求與自底向上設計概念結構方法,概念結構的設計可分為兩步:第一步是抽象數(shù)據(jù)并設計局部視圖;第二步是集成局部視圖,得到全局的概念結構。其設計步驟如圖7-7所示。,圖7-6 自頂向下分析需求與自底向上概念結構設計,圖7-7 概念結構的設計步驟,7.3.2 數(shù)據(jù)抽象與局部視圖設計 1. 數(shù)據(jù)抽象的三種基本方法 數(shù)據(jù)抽象的三種基本方法是分類、聚集和概括。 (1) 分類。 (2) 聚集。 (3) 概括。,圖7-8 職工分類示意圖,圖7-9 職工屬性聚集實例,圖7-10 更復雜的聚集,圖7-11 概括表示示意圖,2. 設計分E-R圖 設計分E-R圖的具體做法是: (1) 選擇局部應用。 (2) 設計分E-R圖。 圖7-12所示的是一個由屬性上升為用實體集表示的實例。,圖7-12 “職稱”由屬性上升為實體的示意圖,圖7-13 病房作為一個屬性或實體的例子,7.3.3 視圖的集成 視圖集成就是把設計好的各子系統(tǒng)的分E-R圖綜合成一個系統(tǒng)的總E-R圖。視圖的集成可以有兩種方法: (1) 一種方法是多個分E-R圖一次集成,如圖7-14(a)所示; (2) 另一種方法是逐步集成,用累加的方法一次集成兩個分E-R圖,如圖7-14(b)所示。 (1) 合并E-R圖。 (2) 修改和重構初步E-R圖。,圖7-14 視圖集成的兩種方法,1. 合并分E-R圖,生成初步E-R圖 由于各個局部應用所面向的問題是不同的,而且通常是由不同的設計人員進行不同局部的視圖設計,這樣就會導致各個分E-R圖之間必定會存在許多不一致的地方,即產生沖突問題。 分E-R圖之間的沖突主要有三類:屬性沖突、命名沖突和結構沖突。 (1) 屬性沖突。它主要有以下兩種情況: 屬性域沖突,即屬性值的類型、取值范圍或取值集合不同。 屬性取值單位沖突。,(2) 命名沖突。它主要有以下兩種情況: 同名異義沖突,即不同意義的對象在不同的局部應用中具有相同的名字。 異名同義沖突,即意義相同的對象在不同的局部應用中有不同的名字。 (3) 結構沖突。它有以下三種情況情況: 同一對象在不同的應用中具有不同的抽象。 同一實體在不同分E-R圖中的屬性組成不一致。 實體之間的聯(lián)系在不同的分E-R圖中呈現(xiàn)不同的類型。,圖7-15 合并兩個分E-R圖時的綜合,2. 消除不必要的冗余,設計基本E-R圖 (1) 用分析方法消除冗余。 (2) 用規(guī)范化理論消除冗余。,圖7-16 消除冗余的實例,7.4 數(shù)據(jù)庫邏輯結構的設計,E-R圖表示的概念模型是用戶數(shù)據(jù)要求的形式化。邏輯結構設計的任務就是把概念模型結構轉換成某個具體的DBMS所支持的數(shù)據(jù)模型。 通常,把概念模型向邏輯模型的轉換過程分為三步進行:, 把概念模型轉換成一般的數(shù)據(jù)模型。 將一般的數(shù)據(jù)模型轉換成特定的DBMS所支持的數(shù)據(jù)模型。 通過優(yōu)化方法將特定的DBMS所支持的數(shù)據(jù)模型轉化為優(yōu)化的數(shù)據(jù)模型。 概念模型向邏輯模型的轉換步驟如圖7-17所示。,圖7-17 邏輯結構設計的步驟,7.4.1 概念模型向網(wǎng)狀模型轉換 1. 不同型實體集及其聯(lián)系的轉換規(guī)則 概念模型中的實體集和不同型實體集間的聯(lián)系可按下列規(guī)則轉換為網(wǎng)狀模型中的記錄和系: (1) 每個實體集轉換成一個記錄。 (2) 每個1:n的二元聯(lián)系轉換成一個系,系的方向由1方實體記錄指向n方實體記錄。 (3) 每個m:n的二元聯(lián)系,在轉換時要引入一個連結記錄,并形成兩個系,系的方向由實體記錄方指向連結記錄方。,(4) K(3)個實體型之間的多元聯(lián)系,在轉換時也引入一個連結記錄,并將聯(lián)系轉換成K個實體記錄型和連結記錄型之間的K個系,系的方向均為實體型指向連結記錄,如圖7-19所示。,圖7-18 二元聯(lián)系的概念模型向網(wǎng)狀模型的轉換實例 (a) 1:n聯(lián)系的轉換實例;(b) m:n聯(lián)系的轉換實例,圖7-19 多元聯(lián)系的概念模型向網(wǎng)狀模型的轉換實例,2. 同型實體之間聯(lián)系的模型轉換規(guī)則 (1) 對于同一實體集的一對多聯(lián)系,在向網(wǎng)狀模型轉換時要引入一個連結記錄,并轉換為兩個系,系的方向不同。圖7-20(a)為職工中領導聯(lián)系的轉換實例。 (2) 對于同一實體集之間的m:n聯(lián)系,轉換時也要引入一個連結記錄,所轉換的兩個系均由實體記錄方指向連結記錄方。圖7-20(b)為部件中構成聯(lián)系的轉換實例。,圖7-20 同一實體集間聯(lián)系的概念模型向網(wǎng)狀模型的轉換實例 (a) 1:n聯(lián)系的轉換實例;(b) m:n聯(lián)系的轉換實例,7.4.2 概念模型向關系模型的轉換 將E-R圖轉換成關系模型要解決兩個問題: (1) 如何將實體集和實體間的聯(lián)系轉換為關系模型。 (2) 如何確定這些關系模型的屬性和碼。,1. 實體集的轉換規(guī)則 概念模型中的一個實體集轉換為關系模型中的一個關系,實體的屬性就是關系的屬性,實體的碼就是關系的碼,關系的結構是關系模式。 2. 實體集間聯(lián)系的轉換規(guī)則 在向關系模型的轉換時,實體集間的聯(lián)系可按以下規(guī)則轉換: (1) 1:1聯(lián)系的轉換方法。,【例7-1】將圖7-21中含有1:1聯(lián)系的E-R圖轉換為關系模型。 該例有三種方案可供選擇(注:關系模型中標有下劃線的屬性為碼): 方案1:聯(lián)系形成的關系獨立存在,轉換后的關系模型為 職工(職工號,姓名,年齡) 產品(產品號,產品名,價格) 負責(職工號,產品號),圖7-21 二元11聯(lián)系轉換為關系模型的實例,方案2:“負責”與“職工”兩關系合并,轉換后的關系模型為 職工(職工號,姓名,年齡,產品號) 產品(產品號,產品名,價格) 方案3:“負責”與“產品”兩關系合并,轉換后的關系模型為 職工(職工號,姓名,年齡) 產品(產品號,產品名,價格,職工號),(2) 1:n聯(lián)系的轉換方法。 在向關系模型轉換時,實體間的1:n聯(lián)系可以有兩種轉換方法:一種方法是將聯(lián)系轉換為一個獨立的關系,其關系的屬性由與該聯(lián)系相連的各實體集的碼以及聯(lián)系本身的屬性組成,而該關系的碼為n端實體集的碼;另一種方法是在n端實體集中增加新屬性,新屬性由聯(lián)系對應的1端實體集的碼和聯(lián)系自身的屬性構成,新增屬性后原關系的碼不變。,【例7-2】將圖7-22中含有1:n聯(lián)系的E-R圖轉換為關系模型。 該轉換有兩種轉換方案可供選擇: 方案1:1:n聯(lián)系形成的關系獨立存在。 倉庫(倉庫號,地點,面積) 產品(產品號,產品名,價格) 倉儲(倉庫號,產品號,數(shù)量) 方案2:聯(lián)系形成的關系與n端對象合并。 倉庫(倉庫號,地點,面積) 產品(產品號,產品名,價格,倉庫號,數(shù)量),圖7-22 二元1:n聯(lián)系轉換為關系模型的實例,【例7-3】圖7-23中含有同實體集的1:n聯(lián)系,將它轉換為關系模型。 該例題轉換的方案如下: 方案1:轉換為兩個關系模型。 職工(職工號,姓名,年齡) 領導(領導工號,職工號) 方案2:轉換為一個關系模型。 職工(職工號,姓名,年齡,領導工號),圖7-23 實體集內部1:n聯(lián)系轉換為關系模型的實例,(3) m:n聯(lián)系的轉換方法。 在向關系模型轉換時,一個m:n聯(lián)系轉換為一個關系。 【例7-4】將圖7-24中含有m:n二元聯(lián)系的E-R圖轉換為關系模型。 該例題轉換的關系模型如下(注:關系中標有下劃線的屬性為碼): 學生(學號,姓名,年齡,性別) 課程(課程號,課程名,學時數(shù)) 選修(學號,課程號,成績),圖7-24 m:n二元聯(lián)系轉換為關系模型的實例,【例7-5】將圖7-25中含有同實體集間m:n聯(lián)系的E-R圖轉換為關系模型。 轉換的關系模型如下(注:關系中標有下劃線的屬性為碼): 零件(零件號,名稱,價格) 組裝(組裝件號,零件號,數(shù)量),圖7-25 同一實體集內m:n聯(lián)系轉換為關系模型的實例,(4) 三個或三個以上實體集間的多元聯(lián)系的轉換方法。 要將三個或三個以上實體集間的多元聯(lián)系轉換為關系模型,可根據(jù)以下兩種情況采用不同的方法處理: 對于一對多的多元聯(lián)系,轉換為關系模型的方法是修改n端實體集對應的關系,即將與聯(lián)系相關的1端實體集的碼和聯(lián)系自身的屬性作為新屬性加入到n端實體集中。, 對于多對多的多元聯(lián)系,轉換為關系模型的方法是新建一個獨立的關系,該關系的屬性為多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性,碼為各實體碼的組合。,【例7-6】將圖7-26中含有多實體集間的多對多聯(lián)系的E-R圖轉換為關系模型。 轉換后的關系模型如下: 供應商(供應商號,供應商名,地址) 零件(零件號,零件名,單價) 產品(產品號,產品名,型號) 供應(供應商號,零件號,產品號,數(shù)量) 其中,關系中標有下劃線的屬性為碼。,圖7-26 多實體集間聯(lián)系轉換為關系模型的實例,3. 關系合并規(guī)則 在關系模型中,具有相同碼的關系,可根據(jù)情況合并為一個關系。,7.4.3 用戶子模式的設計 1. 使用更符合用戶習慣的別名 前面提到,在合并各分E-R圖時應消除命名的沖突,這在設計數(shù)據(jù)庫整體結構時是非常必要的。 2. 對不同級別的用戶可以定義不同的子模式 由于視圖能夠對表中的行和列進行限制,所以它還具有保證系統(tǒng)安全性的作用。,3. 簡化用戶對系統(tǒng)的使用 利用子模式可以簡化使用,方便查詢。實際工作中經(jīng)常要使用某些很復雜的查詢,這些查詢包括多表連接、限制、分組、統(tǒng)計等。,7.4.4 數(shù)據(jù)庫邏輯結構設計的實例 假如要為某基層單位建立一個“基層單位”數(shù)據(jù)庫。通過調查得出,用戶要求數(shù)據(jù)庫中存儲下列基本信息: 部門:部門號,名稱,領導人編號。 職工:職工號,姓名,性別,工資,職稱,照片,簡歷。 工程:工程號,工程名,參加人數(shù),預算,負責人。 辦公室:地點,編號,電話。,這些信息的關聯(lián)的語義為 每個部門有多個職工,每個職工只能在一個部門工作。 每個部門只有一個領導人,領導人不能兼職。 每個部門可以同時承擔若干工程項目,數(shù)據(jù)庫中應記錄每個職工參加項目的日期。 一個部門可有多個辦公室。 每個辦公室只有一部電話。 數(shù)據(jù)庫中還應存放每個職工在所參加的工程項目中承擔的具體職務。,1. 概念模型的設計 調查得到數(shù)據(jù)庫的信息要求和語義后,還要進行數(shù)據(jù)抽象,才能得到數(shù)據(jù)庫的概念模型。 設基層單位數(shù)據(jù)庫的概念模型如圖7-27所示。,圖7-27 基層單位數(shù)據(jù)庫的概念模型,2. 關系模型的設計 圖7-26的E-R圖可按規(guī)則轉換一組關系模型。表7-2中列出了這組關系模型及相關信息。表中的一行為一個關系模型,關系的屬性根據(jù)數(shù)據(jù)字典得出。,表7-2 基層單位數(shù)據(jù)庫的關系模型信息,7.5 數(shù)據(jù)庫物理結構的設計,數(shù)據(jù)庫的物理設計可以分為兩步進行: 確定數(shù)據(jù)的物理結構,即確定數(shù)據(jù)庫的存取方法和存儲結構。 對物理結構進行評價。,7.5.1 數(shù)據(jù)庫物理結構設計的內容和方法 由于不同的數(shù)據(jù)庫產品所提供的物理環(huán)境、存取方法和存儲結構各不相同,供設計人員使用的設計變量、參數(shù)范圍也各不相同,所以數(shù)據(jù)庫的物理設計沒有通用的設計方法可以遵循,僅有一般的設計內容和設計原則供數(shù)據(jù)庫設計者參考。,數(shù)據(jù)庫設計者在確定數(shù)據(jù)存取方法時,必須清楚三種相關信息: (1) 數(shù)據(jù)庫查詢事務的信息,它包括查詢所需要的關系、查詢條件所涉及的屬性、連接條件所涉及的屬性、查詢的投影屬性等信息。 (2) 數(shù)據(jù)庫更新事務的信息,它包括更新操作所需要的關系、每個關系上的更新操作所涉及的屬性、修改操作要改變的屬性值等信息。 (3) 每個事務在各關系上運行的頻率和性能要求。,7.5.2 關系模式存取方法的選擇 1. 索引存取方法的選擇 選擇索引存取方法實際上就是根據(jù)應用要求確定對關系的哪些屬性列建立索引,哪些屬性列建立組合索引,哪些索引建立惟一索引等。,選擇索引方法的基本原則是: (1) 如果一個屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個屬性上建立索引;如果一組屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這組屬性上建立組合索引。 (2) 如果一個屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個屬性上建立索引。,(3) 如果一個屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個屬性上建立索引;同理,如果一組屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這組屬性上建立索引。 (4) 關系上定義的索引數(shù)要適當,并不是越多越好,因為系統(tǒng)為維護索引要付出代價,查找索引也要付出代價。,2. 聚簇存取方法的選擇 為了提高某個屬性或屬性組的查詢速度,把這個屬性或屬性組上具有相同值的元組集中存放在連續(xù)的物理塊上的處理稱為聚簇,這個屬性或屬性組稱為聚簇碼。,聚簇設計時可分兩步進行:先根據(jù)規(guī)則確定候選聚簇,再從候選聚簇中去除不必要的關系。 設計候選聚簇的原則是: (1) 對經(jīng)常在一起進行連接操作的關系可以建立聚簇。 (2) 如果一個關系的一組屬性經(jīng)常出現(xiàn)在相等、比較條件中,則該單個關系可建立聚簇。 (3) 如果一個關系的一個(或一組)屬性上的值重復率很高,則此單個關系可建立聚簇。 (4) 如果關系的主要應用是通過聚簇碼進行訪問或連接,而其他屬性訪問關系的操作很少時,可以使用聚簇。,7.5.3 確定數(shù)據(jù)庫的存儲結構 1. 確定數(shù)據(jù)的存放位置 為了提高系統(tǒng)性能,應根據(jù)應用情況將數(shù)據(jù)的易變部分與穩(wěn)定部分、經(jīng)常存取部分和存取頻率較低部分分開存放。有多個磁盤的計算機,可以采用下面幾種存取位置的分配方案:,(1) 將表和索引放在不同的磁盤上,這樣在查詢時由于兩個磁盤驅動器并行工作,可以提高物理I/O讀寫的效率。 (2) 將比較大的表分別放在兩個磁盤上,以加快存取速度,這在多用戶環(huán)境下特別有效。 (3) 將日志文件、備份文件與數(shù)據(jù)庫對象(表,索引等)放在不同的磁盤上,以改進系統(tǒng)的性能。,(4) 對于經(jīng)常存取或存取時間要求高的對象(如表、索引)應放在高速存儲器(如硬盤)上,對于存取頻率小或存取時間要求低的對象(如數(shù)據(jù)庫的數(shù)據(jù)備份和日志文件備份等只在故障恢復時才使用)。,2. 確定系統(tǒng)配置 DBMS產品一般都提供了一些系統(tǒng)配置變量和存儲分配參數(shù)供設計人員和DBA對數(shù)據(jù)庫進行物理優(yōu)化。 3. 評價物理結構 物理設計過程中需要對時間效率、空間效率、維護代價和各種用戶要求進行權衡,其結果可能會產生多種設計方案。,7.6 數(shù)據(jù)庫的實施和維護,7.6.1 數(shù)據(jù)的載入 組織數(shù)據(jù)入庫是數(shù)據(jù)庫實施階段最主要的工作。目前的DBMS產品沒有提供通用的轉換工具,其主要原因在于應用環(huán)境千差萬別,源數(shù)據(jù)也各不相同,因而不存在通用的轉換規(guī)則。,7.6.2 數(shù)據(jù)庫的試運行 在部分數(shù)據(jù)輸入到數(shù)據(jù)庫后,就可以開始對數(shù)據(jù)庫系統(tǒng)進行聯(lián)合調試的工作了,從而進入到數(shù)據(jù)庫的試運行階段。 數(shù)據(jù)庫試運行階段的主要工作包括以下兩個方面: (1) 實際運行數(shù)據(jù)庫應用程序,執(zhí)行對數(shù)據(jù)庫的各種操作,測試應用程序的功能是否滿足設計要求。 (2) 測試系統(tǒng)的性能指標,分析其是否符合設計目標。,2. 數(shù)據(jù)庫的安全性、完整性控制 在數(shù)據(jù)庫運行過程中,由于應用環(huán)境的變化,對安全性的要求也會發(fā)生變化。 3. 數(shù)據(jù)庫性能的監(jiān)督、分析和改造 在數(shù)據(jù)庫運行過程中,監(jiān)督系統(tǒng)運行、對監(jiān)測數(shù)據(jù)進行分析并找出改進系統(tǒng)性能的方法是數(shù)據(jù)庫管理員的又一重要任務。,4. 數(shù)據(jù)庫的重組織與重構造 數(shù)據(jù)庫運行一段時間后,由于記錄不斷增、刪、改,會使數(shù)據(jù)庫的物理存儲情況變壞,降低了數(shù)據(jù)的存取效率,數(shù)據(jù)庫的性能下降。,7.7 數(shù)據(jù)庫應用系統(tǒng)的設計,7.7.1 數(shù)據(jù)庫系統(tǒng)的層次結構 根據(jù)數(shù)據(jù)庫系統(tǒng)的構造方式,可以把數(shù)據(jù)庫系統(tǒng)分為三類:桌面型數(shù)據(jù)庫系統(tǒng)、兩層結構的數(shù)據(jù)庫系統(tǒng)和多層結構的數(shù)據(jù)庫系統(tǒng)。,1. 桌面型數(shù)據(jù)庫系統(tǒng) 當我們把DBMS、數(shù)據(jù)庫和數(shù)據(jù)庫應用系統(tǒng)安排在同一臺計算機中時,數(shù)據(jù)庫中的數(shù)據(jù)只讓本機的應用程序獨自使用,這種結構為桌面型數(shù)據(jù)庫系統(tǒng)。,2. 兩層結構的數(shù)據(jù)庫系統(tǒng) 兩層結構的數(shù)據(jù)庫系統(tǒng)有兩種構造方式:客戶機/服務器(Client/Server,簡稱C/S)結構和瀏覽器/服務器(Browser/Server,簡稱B/S)結構。 兩層結構的數(shù)據(jù)庫系統(tǒng)是數(shù)據(jù)庫與網(wǎng)絡技術相結合的產物,其結構如圖7-28所示。,圖7-28 兩層數(shù)據(jù)庫系統(tǒng)結構示意圖,當系統(tǒng)規(guī)模增大到一定程度時,兩層結構的數(shù)據(jù)庫系統(tǒng)就會暴露出以下缺陷: (1) 啟動的客戶機端程序或打開的瀏覽器越多,同數(shù)據(jù)庫服務器建立的連接就會越多,服務器端的負擔就會越重。,(2) 由于客戶機端在分發(fā)程序時不僅要分發(fā)EXE文件,還要分發(fā)與數(shù)據(jù)訪問及數(shù)據(jù)管理相關的動態(tài)鏈接庫,所以如果客戶機的地理位置比較分散,則客戶端程序就難以分發(fā)。 (3) 一旦數(shù)據(jù)庫服務器的軟、硬件出現(xiàn)問題,所有前端的應用將都會終止。,3. 多層數(shù)據(jù)庫系統(tǒng)結構 為了解決兩層數(shù)據(jù)庫系統(tǒng)出現(xiàn)的問題,人們提出了多層數(shù)據(jù)庫系統(tǒng)結構。多層數(shù)據(jù)庫系統(tǒng)結構中最有代表性的是三層數(shù)據(jù)庫系統(tǒng)結構,其結構如圖7-29所示。,圖7-29 三層數(shù)據(jù)庫系統(tǒng)結構示意圖,7.7.2 數(shù)據(jù)庫應用系統(tǒng)的設計方法及實例 1. 系統(tǒng)功能分析 系統(tǒng)功能分析的主要工作是:確定系統(tǒng)要完成的各種數(shù)據(jù)管理及其他功能,將確定的系統(tǒng)功能分類,并確定每類功能中所包括的細節(jié)功能。,經(jīng)過實際分析和考察,高校圖書管理系統(tǒng)應具有如下功能: (1) 圖書征訂管理:包括圖書征訂數(shù)據(jù)的錄入、修改、刪除等功能。 (2) 圖書編目管理:包括圖書數(shù)目信息的錄入、修改等功能。 (3) 圖書典藏管理:包括新書分配、庫室調配等功能。,(4) 圖書流通管理:包括圖書借閱、續(xù)借、圖書返還、圖書查詢等功能。 (5) 系統(tǒng)用戶管理:包括系統(tǒng)用戶數(shù)據(jù)的錄入、修改與刪除等功能。 (6) 讀者數(shù)據(jù)管理:包括讀者類別管理,讀者個人數(shù)據(jù)的錄入、修改和刪除等功能。,2. 系統(tǒng)模塊設計 系統(tǒng)模塊設計的任務是:根據(jù)系統(tǒng)功能分析對系統(tǒng)功能進行模塊化處理,得出系統(tǒng)功能模塊及其結構圖。 系統(tǒng)功能模塊結構一般為樹形結構。對于高校圖書管理系統(tǒng)來說,經(jīng)過模塊化分析得到的系統(tǒng)功能模塊結構圖如圖7-30所示。,3. 開發(fā)與運行環(huán)境的選擇 數(shù)據(jù)庫系統(tǒng)的開發(fā)與運行環(huán)境包括系統(tǒng)運行所使用的操作系統(tǒng)、應用系統(tǒng)開發(fā)工具及數(shù)據(jù)庫管理系統(tǒng)。,4. 系統(tǒng)實現(xiàn)過程分析 在實現(xiàn)過程中,首先需要根據(jù)系統(tǒng)功能分析設計出需要的數(shù)據(jù)庫,包括各個基本表和相互聯(lián)系的詳細結構。 在實現(xiàn)各功能模塊時,也采用先模塊后集成的方式,即各個系統(tǒng)功能模塊分別進行獨立設計和調試,在設計系統(tǒng)主窗體時才將各個功能模塊通過主窗體的菜單系統(tǒng)集成到一起,最后進行設計和調試。,圖7-30 高校圖書管理系統(tǒng)功能模塊結構圖,習 題 7,7.1 數(shù)據(jù)庫設計過程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年云存儲市場發(fā)展趨勢及大數(shù)據(jù)存儲解決方案研究報告
- 2025年智能零售解決方案報告:提升購物體驗的關鍵技術
- 部編版語文四年級上冊親子閱讀推廣計劃
- 四年級音樂課堂互動教學計劃
- 2025年高精度帶材軋機項目合作計劃書
- 區(qū)塊鏈藝術傳統(tǒng)藝術的數(shù)字化轉型
- 三年級美術課堂教學計劃
- 花卉數(shù)字化營銷策略-全面剖析
- 互聯(lián)網(wǎng)醫(yī)療與醫(yī)患關系管理
- 區(qū)塊鏈技術助力提升知識產權的商業(yè)價值
- 車輛租賃合同(無中介-非租車公司)(標準版)
- 物業(yè)業(yè)主見面會方案
- 油氣集輸管線工程施工組織設計方案
- 勞動保障協(xié)理員試題
- 北京市初中學業(yè)水平考試體育與健康知識模擬練習題(含答案)
- 安徽中等專業(yè)學校畢業(yè)生登記表
- 管式加熱爐煙氣低溫露點腐蝕
- 2023學生食堂管理制度
- 2023年和田地區(qū)體育教師招聘筆試題庫及答案
- GB/T 7134-2008澆鑄型工業(yè)有機玻璃板材
- GB/T 25150-2010工業(yè)設備化學清洗中奧氏體不銹鋼鈍化膜質量的測試方法藍點法
評論
0/150
提交評論