版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第六章
數(shù)據(jù)庫設(shè)計§6.1數(shù)據(jù)庫設(shè)計概述§6.2需求分析§6.3概念結(jié)構(gòu)設(shè)計§6.4邏輯結(jié)構(gòu)設(shè)計§6.5數(shù)據(jù)庫的物理設(shè)計§6.6數(shù)據(jù)庫實施和維護數(shù)據(jù)庫的設(shè)計中體現(xiàn)出的特征:lllnnn涉及的知識面廣,研制的周期長,是一門綜合性的技術(shù),需要----數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設(shè)計技術(shù),計算機科學基礎(chǔ)知識及程序設(shè)計技巧,軟件工程的原理和方法,應(yīng)用領(lǐng)域的知識等。通過本章的學習,應(yīng)該重點掌握:數(shù)據(jù)庫設(shè)計的概念;需求分析階段的任務(wù);概念結(jié)構(gòu)設(shè)計階段的任務(wù)與實現(xiàn)方法;邏輯結(jié)構(gòu)設(shè)計階段的任務(wù)與實現(xiàn)方法;物理結(jié)構(gòu)設(shè)計階段要考慮的任務(wù);數(shù)據(jù)庫的實現(xiàn)與維護。§6.1數(shù)據(jù)庫設(shè)計概述§6.1.1數(shù)據(jù)庫設(shè)計的任務(wù)、內(nèi)容和特點§6.1.2數(shù)據(jù)庫設(shè)計方法§6.1.3數(shù)據(jù)庫設(shè)計的基本步驟現(xiàn)代信息系統(tǒng)建設(shè),信息資源開發(fā)、利用,最有效的手段,核心問題是數(shù)據(jù)庫技術(shù)。只有合理地利用數(shù)據(jù)庫技術(shù),科學合理地組織信息資源,才能保證數(shù)據(jù)的完整性、一致性和共享性。數(shù)據(jù)庫設(shè)計是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)和建設(shè)中的核心技術(shù)?!?.1.1數(shù)據(jù)庫設(shè)計的任務(wù)、內(nèi)容和特點一、數(shù)據(jù)庫設(shè)計的任務(wù)數(shù)據(jù)庫設(shè)計的----是指,對于一個給定的應(yīng)用環(huán)境,信息求需)求。處理需求l 構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,
l 建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),n
使之能有效地存儲數(shù)據(jù),n滿足各種用戶的需求(信息要求和處理要信息需求數(shù)據(jù)庫設(shè)計典型應(yīng)用程序DBMS特性硬件和操作系統(tǒng)特性二、數(shù)據(jù)庫設(shè)計的內(nèi)容數(shù)據(jù)庫設(shè)計包括:l
數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計
l數(shù)據(jù)庫的行為設(shè)計兩方面的內(nèi)容。1.數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計指根據(jù)給定的應(yīng)用環(huán)境,進行數(shù)據(jù)庫的模式或子模式的設(shè)計。包括數(shù)據(jù)庫的概念設(shè)計、邏輯設(shè)計和物理設(shè)計。數(shù)據(jù)庫模式是各應(yīng)用程序共享的結(jié)構(gòu),是靜態(tài)的、穩(wěn)定的,一經(jīng)形成后通常情況下是不容易改變的,所以結(jié)構(gòu)設(shè)計又稱為靜態(tài)模型設(shè)計。2.數(shù)據(jù)庫的行為設(shè)計指確定數(shù)據(jù)庫用戶的行為和動作。而在數(shù)據(jù)庫系統(tǒng)中,用戶的行為和動作指用戶對數(shù)據(jù)庫的操作,這些要通過應(yīng)用程序來實現(xiàn),所以數(shù)據(jù)庫的行為設(shè)計就是應(yīng)用程序的設(shè)計。用戶的行為總是使數(shù)據(jù)庫的內(nèi)容發(fā)生變化,所以行為設(shè)計是動態(tài)的,行為設(shè)計又稱為動態(tài)模型設(shè)計。三、數(shù)據(jù)庫、信息系統(tǒng)與人員之間的聯(lián)系信息系統(tǒng)的核心是數(shù)據(jù)庫,數(shù)據(jù)是穩(wěn)定的。信息系統(tǒng)建設(shè)是“三分技術(shù),七分管理,十二分數(shù)據(jù)”。數(shù)據(jù)庫設(shè)計是IS開發(fā)建設(shè)的重要組成部分。作為一個良好的數(shù)據(jù)庫設(shè)計人員應(yīng)具備的知識結(jié)構(gòu):u
數(shù)據(jù)庫的基本知識和數(shù)據(jù)庫設(shè)計技術(shù)u
計算機科學的基礎(chǔ)知識和程序設(shè)計的方法和技巧u軟件工程的原理和方法u應(yīng)用領(lǐng)域的知識四、數(shù)據(jù)庫設(shè)計的特點:u 數(shù)據(jù)庫建設(shè)是硬件、軟件和干件(技術(shù)與管理的界面)的結(jié)合;u數(shù)據(jù)庫設(shè)計是結(jié)構(gòu)(數(shù)據(jù))設(shè)計與行為(處理)設(shè)計的結(jié)合。早期的數(shù)據(jù)庫設(shè)計存在的嚴重的問題:功能設(shè)計與數(shù)據(jù)庫設(shè)計分離。l
著重結(jié)構(gòu)特性的設(shè)計而忽視了對行為的設(shè)計。l比較重視在給定的應(yīng)用環(huán)境下,采用什么原則、方法來建造數(shù)據(jù)庫的結(jié)構(gòu),而沒有考慮應(yīng)用環(huán)境要求與數(shù)據(jù)庫結(jié)構(gòu)的關(guān)系。因此造成了功能設(shè)計與數(shù)據(jù)庫設(shè)計分離。功能設(shè)計與數(shù)據(jù)庫設(shè)計分離的設(shè)計方法流程框架圖,見圖6.1(P204)?,F(xiàn)實世界數(shù)據(jù)分析概念模型設(shè)計邏輯數(shù)據(jù)庫設(shè)計物理數(shù)據(jù)庫設(shè)計子模式設(shè)計功能分析功能模型 功能說明事務(wù)設(shè)計程序說明應(yīng)用程序設(shè)計建立數(shù)據(jù) 程序編碼調(diào)試圖6.1結(jié)構(gòu)和行為分離的設(shè)計(P204)解決分離的方法:建立數(shù)據(jù)-功能關(guān)聯(lián)關(guān)系。現(xiàn)實世界數(shù)據(jù)分析用戶業(yè)務(wù)活動分析概念設(shè)計功能模型邏輯設(shè)計事務(wù)設(shè)計物理設(shè)計子模式設(shè)計加載試驗數(shù)據(jù)性能考核否滿意?是加載數(shù)據(jù)庫運行和維護程序說明應(yīng)用程數(shù)序據(jù)設(shè)計庫設(shè)計的全過程程序編碼調(diào)試IPO圖讀寫模塊輸入、更新、維護現(xiàn)在OO方法l
在系統(tǒng)分析與設(shè)計階段強調(diào)了將對象的屬性(結(jié)構(gòu))與行為設(shè)計結(jié)合,l
使用統(tǒng)一的表達工具----對象圖。但這種方法有待于進一步發(fā)展和工程化實踐。查詢、檢索、使用InputOutput輸入處理輸出Process§6.1.2數(shù)據(jù)庫設(shè)計方法所謂“數(shù)據(jù)庫設(shè)計方法”,就是要提出數(shù)據(jù)庫設(shè)計:lll準則規(guī)程以及工程化步驟。數(shù)據(jù)庫設(shè)計方法,目前可分為四類:直觀設(shè)計法:手工試湊法規(guī)范設(shè)計法:手工設(shè)計、過程迭代、逐步求精計算機輔助設(shè)計法自動化設(shè)計法早期系統(tǒng)開發(fā)面向應(yīng)用,背離數(shù)據(jù)庫設(shè)計本質(zhì),針對具體的單個應(yīng)用進行數(shù)據(jù)庫設(shè)計。(一個用戶視圖設(shè)計一個數(shù)據(jù)庫表)
應(yīng)用數(shù)據(jù)庫。導(dǎo)致數(shù)據(jù)庫:lll維護困難,信息不一致性大,共享性差。隨著IS工程化建設(shè)實踐的進程,數(shù)據(jù)庫理論(尤其規(guī)范理論)的發(fā)展,人們提出數(shù)據(jù)庫“規(guī)范設(shè)計方法”。其中,著名的有新奧爾良(NewOrleans)方法。將數(shù)據(jù)庫設(shè)計分為四個階段:lll需求分析(分析用戶要求)、
概念設(shè)計(信息分析和定義)、邏輯設(shè)計(設(shè)計實現(xiàn))l物理設(shè)計(物理數(shù)據(jù)庫設(shè)計)。定義了每個階段的工作內(nèi)容和使用的工具:需求分析階段–
工作內(nèi)容:把握用戶需求(功能需求,信息需求)–
使用工具:數(shù)據(jù)流圖(Data
Flow
Diagram,簡記為DFD);數(shù)據(jù)字典(Data
Dictionary,簡記為DD);––設(shè)計流程圖(Design
Flow
Diagram)。概念設(shè)計階段工作內(nèi)容:信息分析和定義用
使用工具:E-R(EtityRelationship)圖邏輯設(shè)計階段工作內(nèi)容:設(shè)計實現(xiàn)使用工具:規(guī)范化理論----基于3NF。(程序員和及其世界結(jié)構(gòu))在設(shè)計手段上,由“手工設(shè)計”逐漸研制開發(fā)“輔助設(shè)計工具”。u
Oracle公司:Design
2000u
Sybase公司:PowerDesigner我們研究所也研制了一套類似于這方面的
CASE工具(Computer
Aided
SoftwareEngineering)。u
CADDSu
DPAT/SDAT/ICATu
IRP2000u
ASSET需求分析概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)設(shè)計§6.1.3數(shù)據(jù)庫設(shè)計的基本步驟在規(guī)范設(shè)計方法的基礎(chǔ)上從數(shù)據(jù)庫及應(yīng)用系統(tǒng)開發(fā)的全過程出發(fā),對數(shù)據(jù)庫設(shè)計的步驟人們達成共識,認為規(guī)范設(shè)計方法可將數(shù)據(jù)庫設(shè)計分為以下六個步驟:面向用戶的應(yīng)用需求,面向具體問題面向數(shù)據(jù)庫管理系統(tǒng)面向具體的實現(xiàn)方法分析和設(shè)計階段實現(xiàn)和運行階段(5)數(shù)據(jù)庫實施(6)數(shù)據(jù)庫運行和維護參見書P200
圖6.2結(jié)構(gòu)化的數(shù)據(jù)庫設(shè)計圖6.2數(shù)據(jù)庫設(shè)計步應(yīng)用要求、DBMS詳細特征設(shè)計物理結(jié)構(gòu)需求收集和分析使用、運行、維護尋優(yōu)過程應(yīng)用需求(數(shù)據(jù)、處理)設(shè)計概念結(jié)構(gòu)轉(zhuǎn)換規(guī)則、
DBMS功能、優(yōu)化方法設(shè)計邏輯結(jié)構(gòu)迭代過程、數(shù)據(jù)模型優(yōu)化評價設(shè)計、性能預(yù)測不滿意物理實現(xiàn)需求分析階段概念設(shè)計階段邏輯設(shè)計階段物理設(shè)計階段數(shù)據(jù)實施階段試驗性運行不滿意數(shù)據(jù)庫運行、維護階段涉及人員:lllll系統(tǒng)分析人員、數(shù)據(jù)庫設(shè)計人員、程序員、用戶、數(shù)據(jù)庫管理員。參見P208
圖6.3
數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計階段系統(tǒng)需求分析階段需求分析是整個數(shù)據(jù)庫設(shè)計過程的基礎(chǔ)要收集數(shù)據(jù)庫所有用戶的信息內(nèi)容和處理要求,并加以規(guī)格化和分析。概念結(jié)構(gòu)設(shè)計階段把用戶的信息要求綜合、歸納與抽象,形成一個能夠表達用戶的要求,獨立于任何DBMS軟件和硬件的概念模型。邏輯結(jié)構(gòu)設(shè)計階段將上一步所得到的概念模型轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型,并對其進行優(yōu)化。物理設(shè)計階段物理設(shè)計是為邏輯數(shù)據(jù)模型建立一個完整的能實現(xiàn)的數(shù)據(jù)庫結(jié)構(gòu),包括存儲結(jié)構(gòu)和存取方法。數(shù)據(jù)庫實施階段建立數(shù)據(jù)庫編制、調(diào)試應(yīng)用程序組織數(shù)據(jù)入庫進行試運行數(shù)據(jù)庫運行與維護階段對數(shù)據(jù)庫性能進行評價、調(diào)整與修改數(shù)據(jù)庫設(shè)計六個階段工作任務(wù):設(shè)計階段設(shè)計描述數(shù)據(jù)處理需求分析數(shù)據(jù)字典、全系統(tǒng)中數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲的描述數(shù)據(jù)流圖和定表(判定樹)數(shù)據(jù)字典中處理過程的描述概念結(jié)構(gòu)設(shè)
計概念模型(E-R圖)數(shù)據(jù)字典邏輯結(jié)構(gòu)設(shè)
計某種數(shù)據(jù)模型關(guān)系模型非關(guān)系系統(tǒng)說明書。包括:(1)新系統(tǒng)要求、方案和概圖(2)反映新系統(tǒng)信息的數(shù)據(jù)流圖系統(tǒng)結(jié)構(gòu)圖非關(guān)系模型(模塊結(jié)構(gòu)圖)物理設(shè)計存儲安排存取方法選擇立存取路徑建模塊設(shè)計IPO表實施階段編寫模式裝入數(shù)據(jù)數(shù)據(jù)庫試運行程序編碼編譯聯(lián)結(jié)
測試運行維護性能測試,轉(zhuǎn)儲/恢復(fù)數(shù)據(jù)庫重組和重構(gòu)新舊系統(tǒng)轉(zhuǎn)換、運行、維護(修正性、適應(yīng)性、改善性維護)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的不同階段形成數(shù)據(jù)庫的各級模式概念模式邏輯模式應(yīng)用1
應(yīng)用要求應(yīng)用2
應(yīng)用要求應(yīng)用3
應(yīng)用要求應(yīng)用i
應(yīng)用要求轉(zhuǎn)換映象綜合圖6.4數(shù)據(jù)庫的各級模式(P209)應(yīng)用1 應(yīng)用2外模式 外模式映象應(yīng)用n外模式內(nèi)模式§6.2需求分析是分析用戶的要求。是DB設(shè)計起點應(yīng)準確地把握用戶需求一、需求分析的任務(wù)二、需求分析方法一.需求分析的任務(wù):通過詳細調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))工作概況,明確用戶各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能,設(shè)計數(shù)據(jù)庫。具體需求:u
信息要求:用戶從數(shù)據(jù)庫獲得的內(nèi)容與性質(zhì)。u
處理要求:用戶要完成什么處理功能,對處理的響應(yīng),時間有什么要求,處理方式:是批處理還是聯(lián)機處理?
what,who,when,where,howu
安全性與完整性要求。二.需求分析方法進行需求分析首先是調(diào)查清楚用戶的實際要求,與用戶達成共識,然后分析與表達這些需求。--用戶積極參與(一)調(diào)查用戶需求的步驟調(diào)查分析用戶的活動調(diào)查組織機構(gòu)情況,包括該組織的部門組成情況,各部門的職責和任務(wù)等。調(diào)查各部門的業(yè)務(wù)活動情況,包括各部門輸入和輸出的數(shù)據(jù)與格式、所需的表格與卡片、加工處理這些數(shù)據(jù)的步驟、輸入輸出的部門等。調(diào)查方法:實地調(diào)查-跟班作業(yè)開調(diào)查會請專人介紹詢問設(shè)計調(diào)查表查閱記錄2.收集和分析需求數(shù)據(jù),確定系統(tǒng)邊界在熟悉業(yè)務(wù)活動的基礎(chǔ)上,協(xié)助用戶明確對新系統(tǒng)的各種需求,包括用戶的信息需求、處理需求、安全性和完整性的需求等。在收集各種需求數(shù)據(jù)后,對前面調(diào)查的結(jié)果進行初步分析,確定新系統(tǒng)的邊界,確定哪些功能由計算機完成或?qū)頊蕚渥層嬎銠C完成,哪些活動由人工完成。由計算機完成的功能就是新系統(tǒng)應(yīng)該實現(xiàn)的功能。3.編寫需求分析說明書系統(tǒng)分析階段的最后成果是系統(tǒng)分析報告,通常稱為需求規(guī)范說明書。需求規(guī)范說明書是對需求分析階段的一個總結(jié)。編寫系統(tǒng)分析報告是一個不斷反復(fù)、逐步深入和逐步完善的過程,系統(tǒng)分析報告應(yīng)包括如下內(nèi)容:–(1)系統(tǒng)概況,系統(tǒng)的目標、范圍、背景、歷史和現(xiàn)狀;–(2)系統(tǒng)的原理和技術(shù),對原系統(tǒng)的改善;–(3)系統(tǒng)總體結(jié)構(gòu)與子系統(tǒng)結(jié)構(gòu)說明;–(4)系統(tǒng)功能說明;–(5)數(shù)據(jù)處理概要、工程體制和設(shè)計階段劃分;–(6)系統(tǒng)方案及技術(shù)、經(jīng)濟、功能和操作上的可行性。完成系統(tǒng)的分析報告后,在項目單位的領(lǐng)導(dǎo)下要組織有關(guān)技術(shù)專家評審系統(tǒng)分析報告,這是對需求分析結(jié)構(gòu)的再審查。審查通過后由項目方和開發(fā)方領(lǐng)導(dǎo)簽字認可。(二)畫新系統(tǒng)的數(shù)據(jù)流程圖(三)編制數(shù)據(jù)字典數(shù)據(jù)項數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)流數(shù)據(jù)存儲處理過程:結(jié)構(gòu)式語言、判斷樹、表需求分析過程中,用戶占主導(dǎo)地位,強調(diào)用戶的參與。(二)需求分析的方法?????(a)自頂向下的需求分析(b)自底向上的需求分析……需求……需求……需求需求需求需求自頂向下自底向上結(jié)構(gòu)化分析方法(SA方法)自頂向下、逐層分解面向?qū)ο蟮姆椒ㄐ畔⒐こ谭椒ㄐ枨?/p>
需求
…需求
…
需求
…
需求需求需求…需求…(三)SA方法的描述數(shù)據(jù)流圖、數(shù)據(jù)字典1、數(shù)據(jù)流圖-Data
Flow
Diagram-DFD數(shù)據(jù)流圖表達了數(shù)據(jù)和處理過程的關(guān)系,反映的是對事務(wù)處理所需的原始數(shù)據(jù)及經(jīng)處理后的數(shù)據(jù)及其流向。一般地,規(guī)定數(shù)據(jù)流圖的符號如圖所示。數(shù)據(jù)流圖的符號數(shù)據(jù)流。數(shù)據(jù)流由一組確定的數(shù)據(jù)組成。名字表示流經(jīng)的數(shù)據(jù),箭頭表示數(shù)據(jù)流動的方向。處理。處理是對數(shù)據(jù)進行的操作或處理。數(shù)據(jù)存儲。文件數(shù)據(jù)暫時存儲或永久保存的地方,可以是數(shù)據(jù)庫存儲文件。外部實體。外部實體是獨立于系統(tǒng)而存在的,是和系統(tǒng)有聯(lián)系的實體。它表示數(shù)據(jù)的外部來源和最后的去向。以學校管理信息系統(tǒng)為例。逐層分解后的數(shù)據(jù)流圖學校管理高層數(shù)據(jù)流圖然后將處理功能的具體內(nèi)容分解為若干子功能,再將每個子功能繼續(xù)分解,直到把系統(tǒng)的工作過程表達清楚為止。在處理功能逐步分解的同時,它們所用的數(shù)據(jù)也逐級分解,形成若干層次的數(shù)據(jù)流圖。數(shù)據(jù)流圖表達了數(shù)據(jù)和處理過程的關(guān)系。系統(tǒng)中的數(shù)據(jù)則借助數(shù)據(jù)字典(DataDictionary,簡稱DD)來描述。2、數(shù)據(jù)字典數(shù)據(jù)字典(Data
Dictionary,簡稱DD)是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,即元數(shù)據(jù),而不是數(shù)據(jù)本身。數(shù)據(jù)字典是在需求分析階段建立,在數(shù)據(jù)庫設(shè)計過程中不斷修改、充實,完善的。數(shù)據(jù)字典通常包括:數(shù)據(jù)項數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)流數(shù)據(jù)存儲處理過程:結(jié)構(gòu)式語言、判斷樹、表需求分析過程中,用戶占主導(dǎo)地位,強調(diào)用戶的參與。調(diào)查表:1、《職能域-業(yè)務(wù)過程-業(yè)務(wù)活動調(diào)查表》職能域:
填表人:
年
月
日NO.1職能域定義(簡要說明包括哪些部門,重要業(yè)務(wù)功能):業(yè)務(wù)過程名稱: 所含的業(yè)務(wù)活動業(yè)務(wù)過程定義(簡要說明工作內(nèi)容):2、《用戶視圖調(diào)查表》注:用戶視圖包括:“單證”,“報表”,“帳冊”,“屏幕格式”等。生存周期是指保存的時間,“日”、“月”、
“年”、“永久”。職能域:
填表人:
年
月
日NO.1用戶視圖編碼用戶視圖 類型 生存期 記錄數(shù)名稱3、《數(shù)據(jù)流調(diào)查表》職能域:
填表人:
用戶視圖名稱來源單位/職能域去向單位/職能域
年
月
日存儲否4、《數(shù)據(jù)庫(主題調(diào)查表)》職能域:
填表人:
年
月
日NO.數(shù)據(jù)庫名稱(你可以命名)數(shù)據(jù)庫中應(yīng)包含哪些數(shù)據(jù)(請盡量列出信息內(nèi)容,不必考慮結(jié)構(gòu))§6.3概念結(jié)構(gòu)設(shè)計將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程。概念模型是對現(xiàn)實世界的抽象。一.概念模型特點二.概念設(shè)計的方法三.設(shè)計步驟一.概念模型特點:能真實、充分地反映現(xiàn)實世界,包括事物與事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)處理要求,是對現(xiàn)實世界的一個真實模擬。易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫的設(shè)計成功的關(guān)鍵。易于更改,當應(yīng)用環(huán)境和應(yīng)用要求改變時,容易對概念模型修改和擴充。易于向關(guān)系型、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。概念結(jié)構(gòu)是數(shù)據(jù)模型的共同基礎(chǔ),更獨立于機器,更抽象,從而更加穩(wěn)定。描述概念模型的有力工具是E-R模型。二.概念設(shè)計的方法u
自頂向下:即首先定義全局概念結(jié)構(gòu)框架,逐步細化。u
自底向上:首先定義各局部應(yīng)用概念結(jié)構(gòu),然后將它們集成起來。u
逐步擴展:首先定義核心的概念結(jié)構(gòu),然后向外擴充,直到全局結(jié)構(gòu)。u
混合策略:即將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計的各局部概念結(jié)構(gòu)。三.自底向上設(shè)計概念結(jié)構(gòu)的設(shè)計(一)步驟:––抽象數(shù)據(jù)并設(shè)計局部視圖集成局部視圖,得到全局的概念結(jié)構(gòu)(二)數(shù)據(jù)抽象1定義:對實際的人、事、物和概念進行人為處理,抽取所關(guān)心的共同特性,忽略非本質(zhì)的細節(jié),并把這些特性用各種概念精確的加以描述,這些概念組成了某種模型。2抽象的類型:–分類:定義某一類概念作為現(xiàn)實世界中一組對象的類型。這些對象具有某些共同的特性和行為。它抽象了對象值和型之間的“is
member
of
”的語義。如:實體型。–聚集:定義某一類型的組成成分。它抽象了對象內(nèi)部類型和成分之間“is
part
of
”的語義。如:若干屬性的聚集組成了實體型。–概括:定義類型之間的一種子集聯(lián)系。它抽象了類型之間的“is
subsetof”的語義。如:學生是一個實體型,本科生、研究生也是實體型。本科生、研究生都是學生的子集。概括的一個重要性質(zhì):繼承性。(三)抽象數(shù)據(jù)并設(shè)計局部視圖任務(wù):利用抽象機制對需求分析階段收集到的數(shù)據(jù)進行分類、組織(聚集),形成實體、實體的屬性,標識實體的碼,確定實體之間的聯(lián)系類型,設(shè)計分E-R圖。步驟:1)選擇局部應(yīng)用2)逐一設(shè)計分E-R圖:將局部應(yīng)用涉及的數(shù)據(jù)從分析階段整理的數(shù)據(jù)字典中抽取出來,參照該局部應(yīng)用對應(yīng)的一組數(shù)據(jù)流圖,標定其中的實體、實體的屬性,標識實體的碼,確定實體之間的聯(lián)系及其類型。實體與屬性劃分的準則:u 作為“屬性”,不能再具有需要描述的性質(zhì)?!皩傩浴北仨毷遣豢煞值臄?shù)據(jù)項,不能包含其它屬性?! “屬性”不能與其它實體具有聯(lián)系,E-R圖中聯(lián)系表示實體間聯(lián)系?!ぃㄋ模┮晥D集成1.方式:?多個分E―R圖一次集成;逐步集成,用累加的方式一次集成兩個分E―R圖。2步驟:–
合并:解決各分E-R圖之間的沖突,將各分E-R圖合并成初步E-R圖。–––
修改和重構(gòu)(1)合并分E-R圖,生成初步E-R圖沖突:各分E-R圖中語法和語義有矛盾的概念。沖突的類型屬性沖突:u
屬性域沖突u
屬性取值單位沖突這兩個問題的解決,需要各部門協(xié)調(diào)。命名沖突:u
同名異義u 異名同義(如:科研項目,課題,項目)結(jié)構(gòu)沖突:u
同一對象在不同應(yīng)用中具有不同的抽象u 同一實體在不同的分E-R圖中所包含的屬性個數(shù)和屬性排列次序不相同數(shù)據(jù)元素一致性的控制(2)消除不必要的冗余,設(shè)計基本E-R圖初步E-R圖中,可能存在一些冗余的數(shù)據(jù)和冗余的聯(lián)系,這樣易破壞數(shù)據(jù)庫的完整性。四、實際系統(tǒng)開發(fā),數(shù)據(jù)庫設(shè)計方法1.識別定義主題-實體如學生管理:學生基本信息班級實體定義:可參照DFD中外部項(源、宿系、學院數(shù)據(jù)流和數(shù)據(jù)存儲)參加社團情況-社團選課活動-各項社會活動………….盡可能詳盡地抽學象生描綜述合實評體價的組成-屬性定義確定實體的碼分析實體間聯(lián)系,形成E-R圖??捎煤喕疎-R圖表示實體兩兩之間的聯(lián)系§6.4邏輯結(jié)構(gòu)設(shè)計將轉(zhuǎn)換來的關(guān)系,網(wǎng)狀、層次模型向特定的DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換。對數(shù)據(jù)模型進行優(yōu)化。任務(wù):把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。1.將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型邏輯結(jié)構(gòu)設(shè)計3個步驟概念結(jié)構(gòu)基本E-R圖一般數(shù)據(jù)模型關(guān)系,網(wǎng)狀,層次DBMS的特點限制轉(zhuǎn)換規(guī)則優(yōu)化方法特定DBMS支持下的數(shù)據(jù)模型優(yōu)化的數(shù)據(jù)模型一、E-R圖向關(guān)系模型的轉(zhuǎn)換:關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合。E-R圖轉(zhuǎn)換為關(guān)系模型:將實體、實體的屬性和實體之間聯(lián)系轉(zhuǎn)化為關(guān)系模式。轉(zhuǎn)換遵循以下原則:一個實體型轉(zhuǎn)換為一個關(guān)系模式,實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。一個1:1的聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并,如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個實體的碼均是該關(guān)系的候選碼。如果與某一端實體對應(yīng)的關(guān)系模式合并,則需要在該關(guān)系模式的屬性中加入另一個關(guān)系模式的碼和聯(lián)系本身的屬性。一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實體的碼。一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合。三個或三個以上實體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合。(書上P231例子)具有相同碼的關(guān)系模式可以合并。二.由一般的數(shù)據(jù)模型向特定的RDBMS模型轉(zhuǎn)換考慮所選用的RDBMS的功能與限制,轉(zhuǎn)換簡單三.數(shù)據(jù)模型優(yōu)化進一步調(diào)整、修改數(shù)據(jù)模型,提高數(shù)據(jù)結(jié)構(gòu)的合理性、科學性,用規(guī)范化理論為指導(dǎo)進行優(yōu)化工作。確定數(shù)據(jù)依賴:根據(jù)應(yīng)用需要和語義,分別寫出每個關(guān)系模式內(nèi)部各屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間的數(shù)據(jù)依賴。對于各個關(guān)系模式之間的數(shù)據(jù)依賴進行極小化處理,消除冗余的聯(lián)系。按照數(shù)據(jù)依賴的理論對關(guān)系模式逐一進行分析,考察是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴,確定
各關(guān)系模式分別屬于第幾范式。按照需求分析階段得到的處理要求,分析這些模式對于這樣的應(yīng)用環(huán)境是否合適,確定是否對某些模式進行合并或分解。對關(guān)系模式進行必要的分解,提高數(shù)據(jù)操作的效率和存儲空間的利用率。水平分解和垂直分解。水平分解:部分元組(80/20原則)垂直分解:投影,將屬性分解為若干個子集合四.設(shè)計用戶子模式把各個子系統(tǒng)的邏輯數(shù)據(jù)模型設(shè)計出來。設(shè)計外模式時,要注重考慮用戶的習慣與方便。使用更符合用戶習慣的別名??梢詫Σ煌墑e的用戶定義不同的View,以保證系統(tǒng)的安全性。簡化用戶對系統(tǒng)的使用?!?.5數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫的物理結(jié)構(gòu):數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法,它依賴于給定的計算機系統(tǒng)。數(shù)據(jù)庫的物理設(shè)計:為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用要求的物理結(jié)構(gòu)的過程。物理設(shè)計沒有通用的方法可遵循,只能給出一般的設(shè)計內(nèi)容和原則。希望設(shè)計優(yōu)化的物理數(shù)據(jù)庫結(jié)構(gòu),使得在數(shù)據(jù)庫上運行的各種事務(wù)響應(yīng)時間小、存儲空間利用率高、事務(wù)吞吐率大。為此首先對要運行的事務(wù)進行詳細分析,獲得選擇物理數(shù)據(jù)庫設(shè)計所需要的參數(shù)。其次,要充分了解所用的DBMS的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存儲結(jié)構(gòu)。物理設(shè)計分兩步:確定數(shù)據(jù)庫的物理結(jié)構(gòu):在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲結(jié)構(gòu)。對物理結(jié)構(gòu)進行評價,評價的重點是時間、空間效率。關(guān)系模式存取方法選擇存取方法是快速存取數(shù)據(jù)庫中數(shù)據(jù)的技術(shù)。數(shù)據(jù)庫管理系統(tǒng)一般都提供多種存取方法。常用的存取方法有三類:第一類是索引方法,目前主要是B+樹索引方法;第二類是聚簇(Cluster)方法,又稱簇集;第三類是HASH方法。B+樹索引方法是數(shù)據(jù)庫中經(jīng)典的存取方法,使用最普遍。1.索引存取方法的選擇所謂選擇索引存取方法,實際上就是根據(jù)應(yīng)用要求確定對關(guān)系的哪些屬性列建立索引,哪些屬性列建立組合索引,哪些索引要設(shè)計為惟一索引等。索引的選擇是數(shù)據(jù)庫物理設(shè)計的基本問題之一,也是比較困難的問題。用啟發(fā)式規(guī)則選擇索引的一般步驟。確定文件的存儲結(jié)構(gòu),即記錄的存放是無序的(堆文件),還是按主鍵
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場物業(yè)服務(wù)合同范例
- 櫥柜店面出售合同范例
- 亮化購貨合同范例
- 2024年錐面墊圈項目可行性研究報告
- 飼料訂購合同范例
- 危廢物運輸合同范例
- 人工耕地種地合同范例
- 2024年圓型桶項目可行性研究報告
- 智能灌溉合同范例
- 攝影企業(yè)拍攝合同范例
- 外墻裝修合同模板
- 中國發(fā)作性睡病診斷與治療指南(2022版)
- 律師事務(wù)所律師事務(wù)所管理手冊
- 2024年保安員證考試題庫及答案(共260題)
- 2025年中考語文備考之名著復(fù)習:《艾青詩選》題集組(答案)
- 2個居間人內(nèi)部合作協(xié)議書范文
- 食材配送方案及質(zhì)量保障措施
- 實驗室安全準入考試題庫答案
- 低空經(jīng)濟重大產(chǎn)業(yè)項目招商引資方案
- 2輸變電工程施工質(zhì)量驗收統(tǒng)一表式(變電工程土建專業(yè))-2024年版
- 中學科學教育活動三年發(fā)展規(guī)劃(2024-2026)
評論
0/150
提交評論