數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用課件第7章數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)方法.ppt_第1頁(yè)
數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用課件第7章數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)方法.ppt_第2頁(yè)
數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用課件第7章數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)方法.ppt_第3頁(yè)
數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用課件第7章數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)方法.ppt_第4頁(yè)
數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用課件第7章數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)方法.ppt_第5頁(yè)
已閱讀5頁(yè),還剩123頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第7章 數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)方法,7.1 數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)概述 7.2 系統(tǒng)需求分析 7.3 概念結(jié)構(gòu)的設(shè)計(jì) 7.4 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的設(shè)計(jì) 7.5 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)的設(shè)計(jì) 7.6 數(shù)據(jù)庫(kù)的實(shí)施和維護(hù) 7.7 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì) 習(xí)題7,7.1 數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)概述,7.1.1 數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的內(nèi)容 數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的內(nèi)容主要包括數(shù)據(jù)庫(kù)的結(jié)構(gòu)特性設(shè)計(jì)、數(shù)據(jù)庫(kù)的行為特性設(shè)計(jì)和數(shù)據(jù)庫(kù)的物理模式設(shè)計(jì)。,1. 數(shù)據(jù)庫(kù)的結(jié)構(gòu)特性設(shè)計(jì) 數(shù)據(jù)庫(kù)的結(jié)構(gòu)特性是指數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)特征。由于數(shù)據(jù)庫(kù)的結(jié)構(gòu)特性是靜態(tài)的,一般情況下不會(huì)輕易變動(dòng),因此數(shù)據(jù)庫(kù)的結(jié)構(gòu)特性設(shè)計(jì)又稱為數(shù)據(jù)庫(kù)的靜態(tài)結(jié)構(gòu)設(shè)計(jì)。,數(shù)據(jù)庫(kù)的結(jié)構(gòu)特性設(shè)計(jì)過(guò)程如下: 將現(xiàn)實(shí)世界中的事物、事物間的聯(lián)系用E-R圖表示。 將各個(gè)分E-R圖匯總,得出數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)模型。 將概念結(jié)構(gòu)模型轉(zhuǎn)化為數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)模型。,2. 數(shù)據(jù)庫(kù)的行為特性設(shè)計(jì) 數(shù)據(jù)庫(kù)的行為特性設(shè)計(jì)是指確定數(shù)據(jù)庫(kù)用戶的行為和動(dòng)作,并設(shè)計(jì)出數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的系統(tǒng)層次結(jié)構(gòu)、功能結(jié)構(gòu)和系統(tǒng)數(shù)據(jù)流圖,確定數(shù)據(jù)庫(kù)的子模式。,數(shù)據(jù)庫(kù)行為特性的設(shè)計(jì)步驟為: 將現(xiàn)實(shí)世界中的數(shù)據(jù)及應(yīng)用情況用數(shù)據(jù)流程圖和數(shù)據(jù)字典表示,并詳細(xì)描述其中的數(shù)據(jù)操作要求(即操作對(duì)象、方法、頻度和實(shí)時(shí)性要求)。 確定系統(tǒng)層次結(jié)構(gòu)。 確定系統(tǒng)的功能模塊結(jié)構(gòu)。 確定數(shù)據(jù)庫(kù)的子模式。 確定系統(tǒng)數(shù)據(jù)流圖。,3. 數(shù)據(jù)庫(kù)的物理模式設(shè)計(jì) 數(shù)據(jù)庫(kù)的物理模式設(shè)計(jì)要求是:根據(jù)庫(kù)結(jié)構(gòu)的動(dòng)態(tài)特性(即數(shù)據(jù)庫(kù)應(yīng)用處理要求),在選定的DBMS環(huán)境下,把數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)模型加以物理實(shí)現(xiàn),從而得出數(shù)據(jù)庫(kù)的存儲(chǔ)模式和存取方法。,7.1.2 數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)應(yīng)注意的問(wèn)題 1. 應(yīng)考慮到計(jì)算機(jī)硬件、軟件和干件的實(shí)際情況 在進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),應(yīng)當(dāng)考慮三方面的內(nèi)容: (1) 數(shù)據(jù)庫(kù)系統(tǒng)的硬件條件。 (2) 數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)軟件的特點(diǎn)。 (3) 數(shù)據(jù)庫(kù)用戶的技術(shù)水平和管理水平。,2. 應(yīng)使結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)緊密結(jié)合 數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程是一種自上而下的、逐步逼近設(shè)計(jì)目標(biāo)的過(guò)程。數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程是結(jié)構(gòu)設(shè)計(jì)和行為設(shè)計(jì)分離設(shè)計(jì)、相互參照、反復(fù)探尋的過(guò)程。 圖7-1所示為數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程圖。,圖7-1 數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程,7.1.3 數(shù)據(jù)庫(kù)設(shè)計(jì)的基本方法 現(xiàn)實(shí)世界的信息結(jié)構(gòu)復(fù)雜且應(yīng)用環(huán)境多種多樣,在很長(zhǎng)一段時(shí)間內(nèi),數(shù)據(jù)庫(kù)設(shè)計(jì)是采用手工試湊法進(jìn)行的。手工試湊法設(shè)計(jì)數(shù)據(jù)庫(kù)與設(shè)計(jì)人員的經(jīng)驗(yàn)和水平有直接關(guān)系,它更像是一種技藝而不是工程技術(shù)。,7.1.4 數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的基本步驟 圖7-2所示為數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟和各個(gè)階段應(yīng)完成的基本任務(wù),下面就具體內(nèi)容進(jìn)行介紹。,圖7-2 數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟,1. 需求分析階段 需求分析是數(shù)據(jù)庫(kù)設(shè)計(jì)的第一步,也是最困難、最耗時(shí)間的一步。 2. 概念結(jié)構(gòu)設(shè)計(jì)階段 概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵。在概念結(jié)構(gòu)的設(shè)計(jì)過(guò)程中,設(shè)計(jì)者要對(duì)用戶需求進(jìn)行綜合、歸納和抽象,形成一個(gè)獨(dú)立于具體計(jì)算機(jī)和DBMS的概念模型。,3. 邏輯結(jié)構(gòu)設(shè)計(jì)階段 數(shù)據(jù)邏輯結(jié)構(gòu)設(shè)計(jì)的主要任務(wù)是將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型,并將其性能進(jìn)行優(yōu)化。 4. 數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段 數(shù)據(jù)庫(kù)物理設(shè)計(jì)的主要任務(wù)是為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu),包括數(shù)據(jù)存儲(chǔ)位置、數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)和存取方法。,5. 數(shù)據(jù)庫(kù)實(shí)施階段 在數(shù)據(jù)庫(kù)實(shí)施階段中,系統(tǒng)設(shè)計(jì)人員要運(yùn)用DBMS提供的數(shù)據(jù)操作語(yǔ)言和宿主語(yǔ)言,根據(jù)數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù)、編制與調(diào)試應(yīng)用程序、組織數(shù)據(jù)入庫(kù)并進(jìn)行系統(tǒng)試運(yùn)行。 6. 數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)經(jīng)過(guò)試運(yùn)行后即可投入正式運(yùn)行。在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程中,必須不斷地對(duì)其結(jié)構(gòu)性能進(jìn)行評(píng)價(jià)、調(diào)整和修改。,表7-1 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)過(guò)程的各個(gè)階段及描述,表7-1中有關(guān)處理特性的設(shè)計(jì)描述、設(shè)計(jì)原理、設(shè)計(jì)方法、工具等具體內(nèi)容,在軟件工程和信息系統(tǒng)設(shè)計(jì)等其他相關(guān)課程中有詳細(xì)介紹。這里主要討論有關(guān)數(shù)據(jù)特性的問(wèn)題,包括數(shù)據(jù)特性的描述、如何參照處理特性、完善數(shù)據(jù)模型設(shè)計(jì)等問(wèn)題。 在圖7-3中描述了數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)不同階段要完成的不同級(jí)別的數(shù)據(jù)模式。,圖7-3 數(shù)據(jù)庫(kù)的各級(jí)模式,7.2 系統(tǒng)需求分析,7.2.1 需求分析的任務(wù)和方法 1. 系統(tǒng)需求調(diào)查的內(nèi)容 調(diào)查是系統(tǒng)需求分析的重要手段,只有通過(guò)對(duì)用戶的調(diào)查研究,才能得出需要的信息。調(diào)查的目的是獲得數(shù)據(jù)庫(kù)所需數(shù)據(jù)情況和數(shù)據(jù)處理要求。,調(diào)查的具體內(nèi)容有以下三方面: (1) 數(shù)據(jù)庫(kù)中的信息內(nèi)容。 (2) 數(shù)據(jù)處理內(nèi)容。 (3) 數(shù)據(jù)安全性和完整性要求。,2. 系統(tǒng)需求的調(diào)查步驟 調(diào)查用戶需求的具體步驟是: 了解現(xiàn)實(shí)世界的組織機(jī)構(gòu)情況。 了解相關(guān)部門(mén)的業(yè)務(wù)活動(dòng)情況。 (3) 確定新系統(tǒng)的邊界。,3. 系統(tǒng)需求調(diào)查的方法 計(jì)算機(jī)工作人員應(yīng)當(dāng)在熟悉了現(xiàn)實(shí)世界的業(yè)務(wù)后,協(xié)助用戶提出對(duì)新系統(tǒng)的各種要求。在系統(tǒng)需求調(diào)查過(guò)程中,可以根據(jù)不同的問(wèn)題和條件,使用不同的調(diào)查方法。 4. 系統(tǒng)需求分析方法 調(diào)查了解了用戶的需求以后,需要進(jìn)一步分析和表達(dá)用戶的需求。,SA方法從最上層的系統(tǒng)組織機(jī)構(gòu)入手,采用自頂向下、逐層分解的方式分析系統(tǒng)。SA方法把任何一個(gè)系統(tǒng)都抽象為圖7-4的形式。,圖7-4 系統(tǒng)高層抽象圖,7.2.2 數(shù)據(jù)字典及其表示 1. 數(shù)據(jù)項(xiàng) 數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位,它的描述為 數(shù)據(jù)項(xiàng) = 數(shù)據(jù)項(xiàng)名,數(shù)據(jù)項(xiàng)含義說(shuō)明,別名,類型,長(zhǎng)度,取值范圍,與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系,2. 數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)的描述為 數(shù)據(jù)結(jié)構(gòu) = 數(shù)據(jù)結(jié)構(gòu)名,含義說(shuō)明,組成,數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu) 3. 數(shù)據(jù)流 數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂?。?shù)據(jù)流的描述通常為 數(shù)據(jù)流 = 數(shù)據(jù)流名,說(shuō)明,流出過(guò)程,流入過(guò)程,組成:數(shù)據(jù)結(jié)構(gòu),平均流量,高峰期流量,4. 數(shù)據(jù)存儲(chǔ) 數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)及其結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來(lái)源和去向之一。數(shù)據(jù)存儲(chǔ)可以是手工文檔、手工憑單或計(jì)算機(jī)文檔。數(shù)據(jù)存儲(chǔ)的描述通常為 數(shù)據(jù)存儲(chǔ) = 數(shù)據(jù)存儲(chǔ)名,說(shuō)明,編號(hào),輸入的數(shù)據(jù)流,輸出的數(shù)據(jù)流,組成:數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)量,存取頻度,存取方式,5. 處理過(guò)程 處理過(guò)程的具體處理邏輯一般用判定表或判定樹(shù)來(lái)描述。數(shù)據(jù)字典中只需要描述處理過(guò)程的說(shuō)明性信息,通常包括以下內(nèi)容: 處理過(guò)程 = 處理過(guò)程名,說(shuō)明,輸入:數(shù)據(jù)流,輸出:數(shù)據(jù)流,處理:簡(jiǎn)要說(shuō)明 圖7-5所示是一個(gè)數(shù)據(jù)流程圖的實(shí)例。圖中包括外部項(xiàng)、存儲(chǔ)框和處理框以及數(shù)據(jù)流,它們需要數(shù)據(jù)字典對(duì)其內(nèi)容進(jìn)行詳細(xì)說(shuō)明。,圖7-5 一個(gè)數(shù)據(jù)流程圖的實(shí)例,7.3 概念結(jié)構(gòu)的設(shè)計(jì),7.3.1 概念結(jié)構(gòu)的特點(diǎn)及設(shè)計(jì)方法 1. 概念結(jié)構(gòu)設(shè)計(jì)的方法 概念結(jié)構(gòu)設(shè)計(jì)的方法有四種: (1) 自頂向下:首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化為完整的全局概念結(jié)構(gòu)。 (2) 自底向上:首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來(lái),得到全局概念結(jié)構(gòu)的設(shè)計(jì)方法。,(3) 逐步擴(kuò)張:先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,生成其他概念結(jié)構(gòu),直至完成總體概念結(jié)構(gòu)。 (4) 混合策略:用自頂向下策略設(shè)計(jì)一個(gè)全局概念結(jié)構(gòu)的框架,然后以它為骨架,集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)。,2. 概念結(jié)構(gòu)的設(shè)計(jì)步驟 按照?qǐng)D7-6所示的自頂向下分析需求與自底向上設(shè)計(jì)概念結(jié)構(gòu)方法,概念結(jié)構(gòu)的設(shè)計(jì)可分為兩步:第一步是抽象數(shù)據(jù)并設(shè)計(jì)局部視圖;第二步是集成局部視圖,得到全局的概念結(jié)構(gòu)。其設(shè)計(jì)步驟如圖7-7所示。,圖7-6 自頂向下分析需求與自底向上概念結(jié)構(gòu)設(shè)計(jì),圖7-7 概念結(jié)構(gòu)的設(shè)計(jì)步驟,7.3.2 數(shù)據(jù)抽象與局部視圖設(shè)計(jì) 1. 數(shù)據(jù)抽象的三種基本方法 數(shù)據(jù)抽象的三種基本方法是分類、聚集和概括。 (1) 分類。 (2) 聚集。 (3) 概括。,圖7-8 職工分類示意圖,圖7-9 職工屬性聚集實(shí)例,圖7-10 更復(fù)雜的聚集,圖7-11 概括表示示意圖,2. 設(shè)計(jì)分E-R圖 設(shè)計(jì)分E-R圖的具體做法是: (1) 選擇局部應(yīng)用。 (2) 設(shè)計(jì)分E-R圖。 圖7-12所示的是一個(gè)由屬性上升為用實(shí)體集表示的實(shí)例。,圖7-12 “職稱”由屬性上升為實(shí)體的示意圖,圖7-13 病房作為一個(gè)屬性或?qū)嶓w的例子,7.3.3 視圖的集成 視圖集成就是把設(shè)計(jì)好的各子系統(tǒng)的分E-R圖綜合成一個(gè)系統(tǒng)的總E-R圖。視圖的集成可以有兩種方法: (1) 一種方法是多個(gè)分E-R圖一次集成,如圖7-14(a)所示; (2) 另一種方法是逐步集成,用累加的方法一次集成兩個(gè)分E-R圖,如圖7-14(b)所示。 (1) 合并E-R圖。 (2) 修改和重構(gòu)初步E-R圖。,圖7-14 視圖集成的兩種方法,1. 合并分E-R圖,生成初步E-R圖 由于各個(gè)局部應(yīng)用所面向的問(wèn)題是不同的,而且通常是由不同的設(shè)計(jì)人員進(jìn)行不同局部的視圖設(shè)計(jì),這樣就會(huì)導(dǎo)致各個(gè)分E-R圖之間必定會(huì)存在許多不一致的地方,即產(chǎn)生沖突問(wèn)題。 分E-R圖之間的沖突主要有三類:屬性沖突、命名沖突和結(jié)構(gòu)沖突。 (1) 屬性沖突。它主要有以下兩種情況: 屬性域沖突,即屬性值的類型、取值范圍或取值集合不同。 屬性取值單位沖突。,(2) 命名沖突。它主要有以下兩種情況: 同名異義沖突,即不同意義的對(duì)象在不同的局部應(yīng)用中具有相同的名字。 異名同義沖突,即意義相同的對(duì)象在不同的局部應(yīng)用中有不同的名字。 (3) 結(jié)構(gòu)沖突。它有以下三種情況情況: 同一對(duì)象在不同的應(yīng)用中具有不同的抽象。 同一實(shí)體在不同分E-R圖中的屬性組成不一致。 實(shí)體之間的聯(lián)系在不同的分E-R圖中呈現(xiàn)不同的類型。,圖7-15 合并兩個(gè)分E-R圖時(shí)的綜合,2. 消除不必要的冗余,設(shè)計(jì)基本E-R圖 (1) 用分析方法消除冗余。 (2) 用規(guī)范化理論消除冗余。,圖7-16 消除冗余的實(shí)例,7.4 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的設(shè)計(jì),E-R圖表示的概念模型是用戶數(shù)據(jù)要求的形式化。邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念模型結(jié)構(gòu)轉(zhuǎn)換成某個(gè)具體的DBMS所支持的數(shù)據(jù)模型。 通常,把概念模型向邏輯模型的轉(zhuǎn)換過(guò)程分為三步進(jìn)行:, 把概念模型轉(zhuǎn)換成一般的數(shù)據(jù)模型。 將一般的數(shù)據(jù)模型轉(zhuǎn)換成特定的DBMS所支持的數(shù)據(jù)模型。 通過(guò)優(yōu)化方法將特定的DBMS所支持的數(shù)據(jù)模型轉(zhuǎn)化為優(yōu)化的數(shù)據(jù)模型。 概念模型向邏輯模型的轉(zhuǎn)換步驟如圖7-17所示。,圖7-17 邏輯結(jié)構(gòu)設(shè)計(jì)的步驟,7.4.1 概念模型向網(wǎng)狀模型轉(zhuǎn)換 1. 不同型實(shí)體集及其聯(lián)系的轉(zhuǎn)換規(guī)則 概念模型中的實(shí)體集和不同型實(shí)體集間的聯(lián)系可按下列規(guī)則轉(zhuǎn)換為網(wǎng)狀模型中的記錄和系: (1) 每個(gè)實(shí)體集轉(zhuǎn)換成一個(gè)記錄。 (2) 每個(gè)1:n的二元聯(lián)系轉(zhuǎn)換成一個(gè)系,系的方向由1方實(shí)體記錄指向n方實(shí)體記錄。 (3) 每個(gè)m:n的二元聯(lián)系,在轉(zhuǎn)換時(shí)要引入一個(gè)連結(jié)記錄,并形成兩個(gè)系,系的方向由實(shí)體記錄方指向連結(jié)記錄方。,(4) K(3)個(gè)實(shí)體型之間的多元聯(lián)系,在轉(zhuǎn)換時(shí)也引入一個(gè)連結(jié)記錄,并將聯(lián)系轉(zhuǎn)換成K個(gè)實(shí)體記錄型和連結(jié)記錄型之間的K個(gè)系,系的方向均為實(shí)體型指向連結(jié)記錄,如圖7-19所示。,圖7-18 二元聯(lián)系的概念模型向網(wǎng)狀模型的轉(zhuǎn)換實(shí)例 (a) 1:n聯(lián)系的轉(zhuǎn)換實(shí)例;(b) m:n聯(lián)系的轉(zhuǎn)換實(shí)例,圖7-19 多元聯(lián)系的概念模型向網(wǎng)狀模型的轉(zhuǎn)換實(shí)例,2. 同型實(shí)體之間聯(lián)系的模型轉(zhuǎn)換規(guī)則 (1) 對(duì)于同一實(shí)體集的一對(duì)多聯(lián)系,在向網(wǎng)狀模型轉(zhuǎn)換時(shí)要引入一個(gè)連結(jié)記錄,并轉(zhuǎn)換為兩個(gè)系,系的方向不同。圖7-20(a)為職工中領(lǐng)導(dǎo)聯(lián)系的轉(zhuǎn)換實(shí)例。 (2) 對(duì)于同一實(shí)體集之間的m:n聯(lián)系,轉(zhuǎn)換時(shí)也要引入一個(gè)連結(jié)記錄,所轉(zhuǎn)換的兩個(gè)系均由實(shí)體記錄方指向連結(jié)記錄方。圖7-20(b)為部件中構(gòu)成聯(lián)系的轉(zhuǎn)換實(shí)例。,圖7-20 同一實(shí)體集間聯(lián)系的概念模型向網(wǎng)狀模型的轉(zhuǎn)換實(shí)例 (a) 1:n聯(lián)系的轉(zhuǎn)換實(shí)例;(b) m:n聯(lián)系的轉(zhuǎn)換實(shí)例,7.4.2 概念模型向關(guān)系模型的轉(zhuǎn)換 將E-R圖轉(zhuǎn)換成關(guān)系模型要解決兩個(gè)問(wèn)題: (1) 如何將實(shí)體集和實(shí)體間的聯(lián)系轉(zhuǎn)換為關(guān)系模型。 (2) 如何確定這些關(guān)系模型的屬性和碼。,1. 實(shí)體集的轉(zhuǎn)換規(guī)則 概念模型中的一個(gè)實(shí)體集轉(zhuǎn)換為關(guān)系模型中的一個(gè)關(guān)系,實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼,關(guān)系的結(jié)構(gòu)是關(guān)系模式。 2. 實(shí)體集間聯(lián)系的轉(zhuǎn)換規(guī)則 在向關(guān)系模型的轉(zhuǎn)換時(shí),實(shí)體集間的聯(lián)系可按以下規(guī)則轉(zhuǎn)換: (1) 1:1聯(lián)系的轉(zhuǎn)換方法。,【例7-1】將圖7-21中含有1:1聯(lián)系的E-R圖轉(zhuǎn)換為關(guān)系模型。 該例有三種方案可供選擇(注:關(guān)系模型中標(biāo)有下劃線的屬性為碼): 方案1:聯(lián)系形成的關(guān)系獨(dú)立存在,轉(zhuǎn)換后的關(guān)系模型為 職工(職工號(hào),姓名,年齡) 產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,價(jià)格) 負(fù)責(zé)(職工號(hào),產(chǎn)品號(hào)),圖7-21 二元11聯(lián)系轉(zhuǎn)換為關(guān)系模型的實(shí)例,方案2:“負(fù)責(zé)”與“職工”兩關(guān)系合并,轉(zhuǎn)換后的關(guān)系模型為 職工(職工號(hào),姓名,年齡,產(chǎn)品號(hào)) 產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,價(jià)格) 方案3:“負(fù)責(zé)”與“產(chǎn)品”兩關(guān)系合并,轉(zhuǎn)換后的關(guān)系模型為 職工(職工號(hào),姓名,年齡) 產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,價(jià)格,職工號(hào)),(2) 1:n聯(lián)系的轉(zhuǎn)換方法。 在向關(guān)系模型轉(zhuǎn)換時(shí),實(shí)體間的1:n聯(lián)系可以有兩種轉(zhuǎn)換方法:一種方法是將聯(lián)系轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系,其關(guān)系的屬性由與該聯(lián)系相連的各實(shí)體集的碼以及聯(lián)系本身的屬性組成,而該關(guān)系的碼為n端實(shí)體集的碼;另一種方法是在n端實(shí)體集中增加新屬性,新屬性由聯(lián)系對(duì)應(yīng)的1端實(shí)體集的碼和聯(lián)系自身的屬性構(gòu)成,新增屬性后原關(guān)系的碼不變。,【例7-2】將圖7-22中含有1:n聯(lián)系的E-R圖轉(zhuǎn)換為關(guān)系模型。 該轉(zhuǎn)換有兩種轉(zhuǎn)換方案可供選擇: 方案1:1:n聯(lián)系形成的關(guān)系獨(dú)立存在。 倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),地點(diǎn),面積) 產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,價(jià)格) 倉(cāng)儲(chǔ)(倉(cāng)庫(kù)號(hào),產(chǎn)品號(hào),數(shù)量) 方案2:聯(lián)系形成的關(guān)系與n端對(duì)象合并。 倉(cāng)庫(kù)(倉(cāng)庫(kù)號(hào),地點(diǎn),面積) 產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,價(jià)格,倉(cāng)庫(kù)號(hào),數(shù)量),圖7-22 二元1:n聯(lián)系轉(zhuǎn)換為關(guān)系模型的實(shí)例,【例7-3】圖7-23中含有同實(shí)體集的1:n聯(lián)系,將它轉(zhuǎn)換為關(guān)系模型。 該例題轉(zhuǎn)換的方案如下: 方案1:轉(zhuǎn)換為兩個(gè)關(guān)系模型。 職工(職工號(hào),姓名,年齡) 領(lǐng)導(dǎo)(領(lǐng)導(dǎo)工號(hào),職工號(hào)) 方案2:轉(zhuǎn)換為一個(gè)關(guān)系模型。 職工(職工號(hào),姓名,年齡,領(lǐng)導(dǎo)工號(hào)),圖7-23 實(shí)體集內(nèi)部1:n聯(lián)系轉(zhuǎn)換為關(guān)系模型的實(shí)例,(3) m:n聯(lián)系的轉(zhuǎn)換方法。 在向關(guān)系模型轉(zhuǎn)換時(shí),一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系。 【例7-4】將圖7-24中含有m:n二元聯(lián)系的E-R圖轉(zhuǎn)換為關(guān)系模型。 該例題轉(zhuǎn)換的關(guān)系模型如下(注:關(guān)系中標(biāo)有下劃線的屬性為碼): 學(xué)生(學(xué)號(hào),姓名,年齡,性別) 課程(課程號(hào),課程名,學(xué)時(shí)數(shù)) 選修(學(xué)號(hào),課程號(hào),成績(jī)),圖7-24 m:n二元聯(lián)系轉(zhuǎn)換為關(guān)系模型的實(shí)例,【例7-5】將圖7-25中含有同實(shí)體集間m:n聯(lián)系的E-R圖轉(zhuǎn)換為關(guān)系模型。 轉(zhuǎn)換的關(guān)系模型如下(注:關(guān)系中標(biāo)有下劃線的屬性為碼): 零件(零件號(hào),名稱,價(jià)格) 組裝(組裝件號(hào),零件號(hào),數(shù)量),圖7-25 同一實(shí)體集內(nèi)m:n聯(lián)系轉(zhuǎn)換為關(guān)系模型的實(shí)例,(4) 三個(gè)或三個(gè)以上實(shí)體集間的多元聯(lián)系的轉(zhuǎn)換方法。 要將三個(gè)或三個(gè)以上實(shí)體集間的多元聯(lián)系轉(zhuǎn)換為關(guān)系模型,可根據(jù)以下兩種情況采用不同的方法處理: 對(duì)于一對(duì)多的多元聯(lián)系,轉(zhuǎn)換為關(guān)系模型的方法是修改n端實(shí)體集對(duì)應(yīng)的關(guān)系,即將與聯(lián)系相關(guān)的1端實(shí)體集的碼和聯(lián)系自身的屬性作為新屬性加入到n端實(shí)體集中。, 對(duì)于多對(duì)多的多元聯(lián)系,轉(zhuǎn)換為關(guān)系模型的方法是新建一個(gè)獨(dú)立的關(guān)系,該關(guān)系的屬性為多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性,碼為各實(shí)體碼的組合。,【例7-6】將圖7-26中含有多實(shí)體集間的多對(duì)多聯(lián)系的E-R圖轉(zhuǎn)換為關(guān)系模型。 轉(zhuǎn)換后的關(guān)系模型如下: 供應(yīng)商(供應(yīng)商號(hào),供應(yīng)商名,地址) 零件(零件號(hào),零件名,單價(jià)) 產(chǎn)品(產(chǎn)品號(hào),產(chǎn)品名,型號(hào)) 供應(yīng)(供應(yīng)商號(hào),零件號(hào),產(chǎn)品號(hào),數(shù)量) 其中,關(guān)系中標(biāo)有下劃線的屬性為碼。,圖7-26 多實(shí)體集間聯(lián)系轉(zhuǎn)換為關(guān)系模型的實(shí)例,3. 關(guān)系合并規(guī)則 在關(guān)系模型中,具有相同碼的關(guān)系,可根據(jù)情況合并為一個(gè)關(guān)系。,7.4.3 用戶子模式的設(shè)計(jì) 1. 使用更符合用戶習(xí)慣的別名 前面提到,在合并各分E-R圖時(shí)應(yīng)消除命名的沖突,這在設(shè)計(jì)數(shù)據(jù)庫(kù)整體結(jié)構(gòu)時(shí)是非常必要的。 2. 對(duì)不同級(jí)別的用戶可以定義不同的子模式 由于視圖能夠?qū)Ρ碇械男泻土羞M(jìn)行限制,所以它還具有保證系統(tǒng)安全性的作用。,3. 簡(jiǎn)化用戶對(duì)系統(tǒng)的使用 利用子模式可以簡(jiǎn)化使用,方便查詢。實(shí)際工作中經(jīng)常要使用某些很復(fù)雜的查詢,這些查詢包括多表連接、限制、分組、統(tǒng)計(jì)等。,7.4.4 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)的實(shí)例 假如要為某基層單位建立一個(gè)“基層單位”數(shù)據(jù)庫(kù)。通過(guò)調(diào)查得出,用戶要求數(shù)據(jù)庫(kù)中存儲(chǔ)下列基本信息: 部門(mén):部門(mén)號(hào),名稱,領(lǐng)導(dǎo)人編號(hào)。 職工:職工號(hào),姓名,性別,工資,職稱,照片,簡(jiǎn)歷。 工程:工程號(hào),工程名,參加人數(shù),預(yù)算,負(fù)責(zé)人。 辦公室:地點(diǎn),編號(hào),電話。,這些信息的關(guān)聯(lián)的語(yǔ)義為 每個(gè)部門(mén)有多個(gè)職工,每個(gè)職工只能在一個(gè)部門(mén)工作。 每個(gè)部門(mén)只有一個(gè)領(lǐng)導(dǎo)人,領(lǐng)導(dǎo)人不能兼職。 每個(gè)部門(mén)可以同時(shí)承擔(dān)若干工程項(xiàng)目,數(shù)據(jù)庫(kù)中應(yīng)記錄每個(gè)職工參加項(xiàng)目的日期。 一個(gè)部門(mén)可有多個(gè)辦公室。 每個(gè)辦公室只有一部電話。 數(shù)據(jù)庫(kù)中還應(yīng)存放每個(gè)職工在所參加的工程項(xiàng)目中承擔(dān)的具體職務(wù)。,1. 概念模型的設(shè)計(jì) 調(diào)查得到數(shù)據(jù)庫(kù)的信息要求和語(yǔ)義后,還要進(jìn)行數(shù)據(jù)抽象,才能得到數(shù)據(jù)庫(kù)的概念模型。 設(shè)基層單位數(shù)據(jù)庫(kù)的概念模型如圖7-27所示。,圖7-27 基層單位數(shù)據(jù)庫(kù)的概念模型,2. 關(guān)系模型的設(shè)計(jì) 圖7-26的E-R圖可按規(guī)則轉(zhuǎn)換一組關(guān)系模型。表7-2中列出了這組關(guān)系模型及相關(guān)信息。表中的一行為一個(gè)關(guān)系模型,關(guān)系的屬性根據(jù)數(shù)據(jù)字典得出。,表7-2 基層單位數(shù)據(jù)庫(kù)的關(guān)系模型信息,7.5 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)的設(shè)計(jì),數(shù)據(jù)庫(kù)的物理設(shè)計(jì)可以分為兩步進(jìn)行: 確定數(shù)據(jù)的物理結(jié)構(gòu),即確定數(shù)據(jù)庫(kù)的存取方法和存儲(chǔ)結(jié)構(gòu)。 對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià)。,7.5.1 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)的內(nèi)容和方法 由于不同的數(shù)據(jù)庫(kù)產(chǎn)品所提供的物理環(huán)境、存取方法和存儲(chǔ)結(jié)構(gòu)各不相同,供設(shè)計(jì)人員使用的設(shè)計(jì)變量、參數(shù)范圍也各不相同,所以數(shù)據(jù)庫(kù)的物理設(shè)計(jì)沒(méi)有通用的設(shè)計(jì)方法可以遵循,僅有一般的設(shè)計(jì)內(nèi)容和設(shè)計(jì)原則供數(shù)據(jù)庫(kù)設(shè)計(jì)者參考。,數(shù)據(jù)庫(kù)設(shè)計(jì)者在確定數(shù)據(jù)存取方法時(shí),必須清楚三種相關(guān)信息: (1) 數(shù)據(jù)庫(kù)查詢事務(wù)的信息,它包括查詢所需要的關(guān)系、查詢條件所涉及的屬性、連接條件所涉及的屬性、查詢的投影屬性等信息。 (2) 數(shù)據(jù)庫(kù)更新事務(wù)的信息,它包括更新操作所需要的關(guān)系、每個(gè)關(guān)系上的更新操作所涉及的屬性、修改操作要改變的屬性值等信息。 (3) 每個(gè)事務(wù)在各關(guān)系上運(yùn)行的頻率和性能要求。,7.5.2 關(guān)系模式存取方法的選擇 1. 索引存取方法的選擇 選擇索引存取方法實(shí)際上就是根據(jù)應(yīng)用要求確定對(duì)關(guān)系的哪些屬性列建立索引,哪些屬性列建立組合索引,哪些索引建立惟一索引等。,選擇索引方法的基本原則是: (1) 如果一個(gè)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個(gè)屬性上建立索引;如果一組屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這組屬性上建立組合索引。 (2) 如果一個(gè)屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個(gè)屬性上建立索引。,(3) 如果一個(gè)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(gè)屬性上建立索引;同理,如果一組屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這組屬性上建立索引。 (4) 關(guān)系上定義的索引數(shù)要適當(dāng),并不是越多越好,因?yàn)橄到y(tǒng)為維護(hù)索引要付出代價(jià),查找索引也要付出代價(jià)。,2. 聚簇存取方法的選擇 為了提高某個(gè)屬性或?qū)傩越M的查詢速度,把這個(gè)屬性或?qū)傩越M上具有相同值的元組集中存放在連續(xù)的物理塊上的處理稱為聚簇,這個(gè)屬性或?qū)傩越M稱為聚簇碼。,聚簇設(shè)計(jì)時(shí)可分兩步進(jìn)行:先根據(jù)規(guī)則確定候選聚簇,再?gòu)暮蜻x聚簇中去除不必要的關(guān)系。 設(shè)計(jì)候選聚簇的原則是: (1) 對(duì)經(jīng)常在一起進(jìn)行連接操作的關(guān)系可以建立聚簇。 (2) 如果一個(gè)關(guān)系的一組屬性經(jīng)常出現(xiàn)在相等、比較條件中,則該單個(gè)關(guān)系可建立聚簇。 (3) 如果一個(gè)關(guān)系的一個(gè)(或一組)屬性上的值重復(fù)率很高,則此單個(gè)關(guān)系可建立聚簇。 (4) 如果關(guān)系的主要應(yīng)用是通過(guò)聚簇碼進(jìn)行訪問(wèn)或連接,而其他屬性訪問(wèn)關(guān)系的操作很少時(shí),可以使用聚簇。,7.5.3 確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu) 1. 確定數(shù)據(jù)的存放位置 為了提高系統(tǒng)性能,應(yīng)根據(jù)應(yīng)用情況將數(shù)據(jù)的易變部分與穩(wěn)定部分、經(jīng)常存取部分和存取頻率較低部分分開(kāi)存放。有多個(gè)磁盤(pán)的計(jì)算機(jī),可以采用下面幾種存取位置的分配方案:,(1) 將表和索引放在不同的磁盤(pán)上,這樣在查詢時(shí)由于兩個(gè)磁盤(pán)驅(qū)動(dòng)器并行工作,可以提高物理I/O讀寫(xiě)的效率。 (2) 將比較大的表分別放在兩個(gè)磁盤(pán)上,以加快存取速度,這在多用戶環(huán)境下特別有效。 (3) 將日志文件、備份文件與數(shù)據(jù)庫(kù)對(duì)象(表,索引等)放在不同的磁盤(pán)上,以改進(jìn)系統(tǒng)的性能。,(4) 對(duì)于經(jīng)常存取或存取時(shí)間要求高的對(duì)象(如表、索引)應(yīng)放在高速存儲(chǔ)器(如硬盤(pán))上,對(duì)于存取頻率小或存取時(shí)間要求低的對(duì)象(如數(shù)據(jù)庫(kù)的數(shù)據(jù)備份和日志文件備份等只在故障恢復(fù)時(shí)才使用)。,2. 確定系統(tǒng)配置 DBMS產(chǎn)品一般都提供了一些系統(tǒng)配置變量和存儲(chǔ)分配參數(shù)供設(shè)計(jì)人員和DBA對(duì)數(shù)據(jù)庫(kù)進(jìn)行物理優(yōu)化。 3. 評(píng)價(jià)物理結(jié)構(gòu) 物理設(shè)計(jì)過(guò)程中需要對(duì)時(shí)間效率、空間效率、維護(hù)代價(jià)和各種用戶要求進(jìn)行權(quán)衡,其結(jié)果可能會(huì)產(chǎn)生多種設(shè)計(jì)方案。,7.6 數(shù)據(jù)庫(kù)的實(shí)施和維護(hù),7.6.1 數(shù)據(jù)的載入 組織數(shù)據(jù)入庫(kù)是數(shù)據(jù)庫(kù)實(shí)施階段最主要的工作。目前的DBMS產(chǎn)品沒(méi)有提供通用的轉(zhuǎn)換工具,其主要原因在于應(yīng)用環(huán)境千差萬(wàn)別,源數(shù)據(jù)也各不相同,因而不存在通用的轉(zhuǎn)換規(guī)則。,7.6.2 數(shù)據(jù)庫(kù)的試運(yùn)行 在部分?jǐn)?shù)據(jù)輸入到數(shù)據(jù)庫(kù)后,就可以開(kāi)始對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行聯(lián)合調(diào)試的工作了,從而進(jìn)入到數(shù)據(jù)庫(kù)的試運(yùn)行階段。 數(shù)據(jù)庫(kù)試運(yùn)行階段的主要工作包括以下兩個(gè)方面: (1) 實(shí)際運(yùn)行數(shù)據(jù)庫(kù)應(yīng)用程序,執(zhí)行對(duì)數(shù)據(jù)庫(kù)的各種操作,測(cè)試應(yīng)用程序的功能是否滿足設(shè)計(jì)要求。 (2) 測(cè)試系統(tǒng)的性能指標(biāo),分析其是否符合設(shè)計(jì)目標(biāo)。,2. 數(shù)據(jù)庫(kù)的安全性、完整性控制 在數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中,由于應(yīng)用環(huán)境的變化,對(duì)安全性的要求也會(huì)發(fā)生變化。 3. 數(shù)據(jù)庫(kù)性能的監(jiān)督、分析和改造 在數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中,監(jiān)督系統(tǒng)運(yùn)行、對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行分析并找出改進(jìn)系統(tǒng)性能的方法是數(shù)據(jù)庫(kù)管理員的又一重要任務(wù)。,4. 數(shù)據(jù)庫(kù)的重組織與重構(gòu)造 數(shù)據(jù)庫(kù)運(yùn)行一段時(shí)間后,由于記錄不斷增、刪、改,會(huì)使數(shù)據(jù)庫(kù)的物理存儲(chǔ)情況變壞,降低了數(shù)據(jù)的存取效率,數(shù)據(jù)庫(kù)的性能下降。,7.7 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì),7.7.1 數(shù)據(jù)庫(kù)系統(tǒng)的層次結(jié)構(gòu) 根據(jù)數(shù)據(jù)庫(kù)系統(tǒng)的構(gòu)造方式,可以把數(shù)據(jù)庫(kù)系統(tǒng)分為三類:桌面型數(shù)據(jù)庫(kù)系統(tǒng)、兩層結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)和多層結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)。,1. 桌面型數(shù)據(jù)庫(kù)系統(tǒng) 當(dāng)我們把DBMS、數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)安排在同一臺(tái)計(jì)算機(jī)中時(shí),數(shù)據(jù)庫(kù)中的數(shù)據(jù)只讓本機(jī)的應(yīng)用程序獨(dú)自使用,這種結(jié)構(gòu)為桌面型數(shù)據(jù)庫(kù)系統(tǒng)。,2. 兩層結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng) 兩層結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)有兩種構(gòu)造方式:客戶機(jī)/服務(wù)器(Client/Server,簡(jiǎn)稱C/S)結(jié)構(gòu)和瀏覽器/服務(wù)器(Browser/Server,簡(jiǎn)稱B/S)結(jié)構(gòu)。 兩層結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)是數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)技術(shù)相結(jié)合的產(chǎn)物,其結(jié)構(gòu)如圖7-28所示。,圖7-28 兩層數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)示意圖,當(dāng)系統(tǒng)規(guī)模增大到一定程度時(shí),兩層結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)就會(huì)暴露出以下缺陷: (1) 啟動(dòng)的客戶機(jī)端程序或打開(kāi)的瀏覽器越多,同數(shù)據(jù)庫(kù)服務(wù)器建立的連接就會(huì)越多,服務(wù)器端的負(fù)擔(dān)就會(huì)越重。,(2) 由于客戶機(jī)端在分發(fā)程序時(shí)不僅要分發(fā)EXE文件,還要分發(fā)與數(shù)據(jù)訪問(wèn)及數(shù)據(jù)管理相關(guān)的動(dòng)態(tài)鏈接庫(kù),所以如果客戶機(jī)的地理位置比較分散,則客戶端程序就難以分發(fā)。 (3) 一旦數(shù)據(jù)庫(kù)服務(wù)器的軟、硬件出現(xiàn)問(wèn)題,所有前端的應(yīng)用將都會(huì)終止。,3. 多層數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu) 為了解決兩層數(shù)據(jù)庫(kù)系統(tǒng)出現(xiàn)的問(wèn)題,人們提出了多層數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)。多層數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)中最有代表性的是三層數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu),其結(jié)構(gòu)如圖7-29所示。,圖7-29 三層數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)示意圖,7.7.2 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)方法及實(shí)例 1. 系統(tǒng)功能分析 系統(tǒng)功能分析的主要工作是:確定系統(tǒng)要完成的各種數(shù)據(jù)管理及其他功能,將確定的系統(tǒng)功能分類,并確定每類功能中所包括的細(xì)節(jié)功能。,經(jīng)過(guò)實(shí)際分析和考察,高校圖書(shū)管理系統(tǒng)應(yīng)具有如下功能: (1) 圖書(shū)征訂管理:包括圖書(shū)征訂數(shù)據(jù)的錄入、修改、刪除等功能。 (2) 圖書(shū)編目管理:包括圖書(shū)數(shù)目信息的錄入、修改等功能。 (3) 圖書(shū)典藏管理:包括新書(shū)分配、庫(kù)室調(diào)配等功能。,(4) 圖書(shū)流通管理:包括圖書(shū)借閱、續(xù)借、圖書(shū)返還、圖書(shū)查詢等功能。 (5) 系統(tǒng)用戶管理:包括系統(tǒng)用戶數(shù)據(jù)的錄入、修改與刪除等功能。 (6) 讀者數(shù)據(jù)管理:包括讀者類別管理,讀者個(gè)人數(shù)據(jù)的錄入、修改和刪除等功能。,2. 系統(tǒng)模塊設(shè)計(jì) 系統(tǒng)模塊設(shè)計(jì)的任務(wù)是:根據(jù)系統(tǒng)功能分析對(duì)系統(tǒng)功能進(jìn)行模塊化處理,得出系統(tǒng)功能模塊及其結(jié)構(gòu)圖。 系統(tǒng)功能模塊結(jié)構(gòu)一般為樹(shù)形結(jié)構(gòu)。對(duì)于高校圖書(shū)管理系統(tǒng)來(lái)說(shuō),經(jīng)過(guò)模塊化分析得到的系統(tǒng)功能模塊結(jié)構(gòu)圖如圖7-30所示。,3. 開(kāi)發(fā)與運(yùn)行環(huán)境的選擇 數(shù)據(jù)庫(kù)系統(tǒng)的開(kāi)發(fā)與運(yùn)行環(huán)境包括系統(tǒng)運(yùn)行所使用的操作系統(tǒng)、應(yīng)用系統(tǒng)開(kāi)發(fā)工具及數(shù)據(jù)庫(kù)管理系統(tǒng)。,4. 系統(tǒng)實(shí)現(xiàn)過(guò)程分析 在實(shí)現(xiàn)過(guò)程中,首先需要根據(jù)系統(tǒng)功能分析設(shè)計(jì)出需要的數(shù)據(jù)庫(kù),包括各個(gè)基本表和相互聯(lián)系的詳細(xì)結(jié)構(gòu)。 在實(shí)現(xiàn)各功能模塊時(shí),也采用先模塊后集成的方式,即各個(gè)系統(tǒng)功能模塊分別進(jìn)行獨(dú)立設(shè)計(jì)和調(diào)試,在設(shè)計(jì)系統(tǒng)主窗體時(shí)才將各個(gè)功能模塊通過(guò)主窗體的菜單系統(tǒng)集成到一起,最后進(jìn)行設(shè)計(jì)和調(diào)試。,圖7-30 高校圖書(shū)管理系統(tǒng)功能模塊結(jié)構(gòu)圖,習(xí) 題 7,7.1 數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程

溫馨提示

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

評(píng)論

0/150

提交評(píng)論