第3章-02數(shù)據(jù)庫物理設(shè)計實施運行維護_第1頁
第3章-02數(shù)據(jù)庫物理設(shè)計實施運行維護_第2頁
第3章-02數(shù)據(jù)庫物理設(shè)計實施運行維護_第3頁
第3章-02數(shù)據(jù)庫物理設(shè)計實施運行維護_第4頁
第3章-02數(shù)據(jù)庫物理設(shè)計實施運行維護_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章數(shù)據(jù)庫系統(tǒng)的設(shè)計方法3.1數(shù)據(jù)庫設(shè)計概述3.2需求分析3.3概念結(jié)構(gòu)設(shè)計3.4邏輯結(jié)構(gòu)設(shè)計3.5數(shù)據(jù)庫的物理設(shè)計3.6數(shù)據(jù)庫實施3.7數(shù)據(jù)庫運行與維護3.8數(shù)據(jù)庫應用系統(tǒng)的設(shè)計3.9小結(jié)3.5數(shù)據(jù)庫的物理設(shè)計什么是數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于給定的計算機系統(tǒng)。為一個給定的邏輯數(shù)據(jù)模型選取一個最適合應用環(huán)境的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計。3.5數(shù)據(jù)庫的物理設(shè)計數(shù)據(jù)庫物理設(shè)計的步驟確定數(shù)據(jù)庫的物理結(jié)構(gòu)對物理結(jié)構(gòu)進行評價。評價的重點是響應時間和存儲空間利用率。如果評價結(jié)果滿足原設(shè)計要求,則可進入到物理實施階段,否則,就需要重新設(shè)計或修改物理結(jié)構(gòu),有時甚至要返回邏輯設(shè)計階段修改數(shù)據(jù)模型。數(shù)據(jù)庫物理設(shè)計的步驟

數(shù)據(jù)庫物理設(shè)計確定數(shù)據(jù)庫的物理結(jié)構(gòu)評價數(shù)據(jù)庫的物理結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫實施物理模型邏輯模型3.5數(shù)據(jù)庫的物理設(shè)計3.5.1數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法3.5.2關(guān)系模式存取方法選擇3.5.3確定數(shù)據(jù)庫的存儲結(jié)構(gòu)3.5.4評價物理結(jié)構(gòu)3.5.1數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法一、設(shè)計物理數(shù)據(jù)庫結(jié)構(gòu)的準備工作1.充分了解應用環(huán)境,詳細分析要運行的事務,以獲得選擇物理數(shù)據(jù)庫設(shè)計所需參數(shù)2.充分了解所用RDBMS的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存儲結(jié)構(gòu)數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法(續(xù))二、關(guān)系數(shù)據(jù)庫物理設(shè)計的內(nèi)容1.為關(guān)系模式選擇存取方法(建立存取路徑)2.設(shè)計關(guān)系、索引等數(shù)據(jù)庫文件的物理存儲結(jié)構(gòu)下面具體學習存取方法的選擇和存儲結(jié)構(gòu)的確定。3.5數(shù)據(jù)庫的物理設(shè)計3.5.1數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法3.5.2關(guān)系模式存取方法選擇3.5.3確定數(shù)據(jù)庫的存儲結(jié)構(gòu)3.5.4評價物理結(jié)構(gòu)3.5.2關(guān)系模式存取方法選擇

DBS是多用戶共享的系統(tǒng),對同一個關(guān)系要建立多條存取路徑才能滿足多用戶的多種應用要求。

物理設(shè)計的第一個任務,就是要確定選擇哪些存取方法,即建立哪些存取路徑。關(guān)系模式存取方法選擇(續(xù))DBMS常用存取方法索引方法聚簇(Cluster)方法HASH方法一、索引存取方法的選擇選擇索引存取方法的主要內(nèi)容

首先要根據(jù)應用要求,確定:對哪些屬性列建立索引對哪些屬性列建立組合索引對哪些索引要設(shè)計為唯一索引索引存取方法的選擇(續(xù))選擇索引存取方法的一般規(guī)則如果一個(或一組)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個(或這組)屬性上建立索引(或組合索引)如果一個屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個屬性上建立索引如果一個(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(或這組)屬性上建立索引如:Select…from…wherexb=“女”…Max(入學總分),min(入學總分)Select…from…where學生.學號=選課.學號…索引存取方法的選擇(續(xù))

關(guān)系上定義的索引個數(shù)要適當,并不是越多越好,因為系統(tǒng)為維護索引要付出代價--關(guān)系上定義的索引數(shù)過多會帶來較多的額外開銷維護索引的開銷查找索引的開銷如,更新一個關(guān)系時,必須對這個關(guān)系上有關(guān)的索引做相應的修改。二、聚簇存取方法的選擇什么是聚簇為了提高某個屬性(或?qū)傩越M)的查詢速度,把這個或這些屬性(稱為聚簇碼)上具有相同值的元組集中存放在連續(xù)的物理塊上,稱為聚簇。這個屬性或?qū)傩越M稱為聚簇碼。許多關(guān)系型DBMS都提供了聚簇功能建立聚簇索引(復習)聚簇索引建立聚簇索引后,基表中數(shù)據(jù)也需要按指定的聚簇屬性值的升序或降序存放。也即聚簇索引的索引項順序與表中元組的物理順序一致。例:CreateclusterindexStusnameONStudent(Sname);在Student表的Sname(姓名)列上建立一個聚簇索引,而且Student表中的記錄將按照Sname值的升序存放。在一個基本表上最多只能建立一個聚簇索引聚簇存取方法的選擇(續(xù))聚簇的用途1.大大提高按聚簇屬性進行查詢的效率例:假設(shè)學生關(guān)系按所在系建有索引,現(xiàn)在要查詢信息系的所有學生名單。信息系的500名學生分布在500個不同的物理塊上時,至少要執(zhí)行500次I/O操作。如果將同一系的學生元組集中存放,則每讀一個物理塊可得到多個滿足查詢條件的元組,從而顯著地減少了訪問磁盤的次數(shù)。所在系:金融系,計算機系,物理系聚簇存取方法的選擇(續(xù))2.節(jié)省存儲空間聚簇以后,聚簇碼相同的元組集中在一起了,因而聚簇碼值不必在每個元組中重復存儲,只要在一組中存一次就行了聚簇存取方法的選擇(續(xù))聚簇的局限性1.聚簇只能提高某些特定應用的性能2.建立與維護聚簇的開銷相當大對已有關(guān)系建立聚簇,將導致關(guān)系中元組移動其物理存儲位置,并使此關(guān)系上原有的索引無效,必須重建。當一個元組的聚簇碼改變時,該元組的存儲位置也要做相應移動。(所在系:計算機金融)聚簇存取方法的選擇(續(xù))聚簇的適用范圍1、既適用于單個關(guān)系獨立聚簇,也適用于多個關(guān)系組合聚簇。 例:假設(shè)用戶經(jīng)常要按系別查詢學生成績單,這一查詢涉及學生關(guān)系和選修關(guān)系的連接操作,即需要按學號連接這兩個關(guān)系,為提高連接操作的效率,可以把具有相同學號值的學生元組和選修元組在物理上聚簇在一起。這就相當于把多個關(guān)系按“預連接”的形式存放,從而大大提高連接操作的效率。學生(學號,姓名,性別,所在系)選修(學號,課程號,成績)聚簇存取方法的選擇(續(xù))2、當通過聚簇碼進行訪問或連接是該關(guān)系的主要應用,與聚簇碼無關(guān)的其他訪問很少或者是次要的時候,也可以使用聚簇。尤其當SQL語句中包含有與聚簇碼有關(guān)的ORDERBY,GROUPBY,UNION,DISTINCT等子句或短語時,使用聚簇特別有利,可以省去對結(jié)果集的排序操作3.5數(shù)據(jù)庫的物理設(shè)計3.5.1數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法3.5.2關(guān)系模式存取方法選擇3.5.3確定數(shù)據(jù)庫的存儲結(jié)構(gòu)3.5.4評價物理結(jié)構(gòu)3.5.3確定數(shù)據(jù)庫的存儲結(jié)構(gòu)

確定數(shù)據(jù)存放位置和存儲結(jié)構(gòu),要綜合考慮存取時間、存儲空間利用率和維護代價這三個方面的因素。而這三方面常常是相互矛盾的,必須進行權(quán)衡,選擇一個折中方案。例:消除一切冗余數(shù)據(jù),雖能夠節(jié)約存儲空間和減少維護代價,但往往會導致檢索代價的增加。學生(學號,姓名,性別,所在系)選修(學號,課程號,成績)1.確定數(shù)據(jù)的存放位置為了提高系統(tǒng)性能,應根據(jù)情況,將數(shù)據(jù)的易變部分與穩(wěn)定部分、經(jīng)常存取和存取頻率較低部分,分開存放。若計算機有多個磁盤,可采用下面幾種存取位置的分配方案。1)將表和索引放在不同的磁盤上,這樣查詢時,由于兩個磁盤驅(qū)動器并行工作,可以提高物理I/O讀寫效率。2)將較大的表分別放在兩個磁盤上,以加快存取速度,這在多用戶環(huán)境下特別有效。3)將日志文件、備份文件與DB對象(表、索引等)放在不同的磁盤上,以增強系統(tǒng)的性能。4)對于經(jīng)常存取或存取時間要求高的對象,應放在高速存儲器上(如硬盤);對于存取頻率小或存取時間要求低的對象(如DB備份文件和日志文件備份等只在故障恢復時才用),如果數(shù)據(jù)量很大,可存放在低速存儲設(shè)備上。2.確定系統(tǒng)配置DBMS產(chǎn)品一般都提供了一些存儲分配參數(shù),供設(shè)計人員和DBA對數(shù)據(jù)庫進行物理優(yōu)化。例如:同時使用數(shù)據(jù)庫的用戶數(shù)同時打開的數(shù)據(jù)庫對象數(shù)使用的緩沖區(qū)長度、個數(shù)時間片大小數(shù)據(jù)庫的大小

物理塊裝填因子鎖的數(shù)目等等

這些參數(shù)值影響存取時間和存儲空間的分配。根據(jù)應用環(huán)境確定這些參數(shù)值,以使系統(tǒng)性能最佳。初始情況下,系統(tǒng)都為這些變量賦予了合理的缺省值。但是這些值不一定適合每一種應用環(huán)境,在進行物理設(shè)計時,需要根據(jù)應用環(huán)境確定這些參數(shù)值,以使系統(tǒng)性能最優(yōu)。

在物理設(shè)計時,對系統(tǒng)配置變量的調(diào)整只是初步的,在系統(tǒng)運行時還要根據(jù)系統(tǒng)實際運行情況做進一步的調(diào)整,以期切實改進系統(tǒng)性能。3.5數(shù)據(jù)庫的物理設(shè)計3.5.1數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法3.5.2關(guān)系模式存取方法選擇3.5.3確定數(shù)據(jù)庫的存儲結(jié)構(gòu)3.5.4評價物理結(jié)構(gòu)3.5.4評價物理結(jié)構(gòu)評價內(nèi)容:對數(shù)據(jù)庫物理設(shè)計過程中產(chǎn)生的多種方案進行細致的評價,從中選擇一個較優(yōu)的方案作為數(shù)據(jù)庫的物理結(jié)構(gòu)評價方法完全依賴于所選用的DBMS,主要從定量估算各種方案的:存儲空間存取時間維護代價對估算結(jié)果進行權(quán)衡、比較,選擇出一個較優(yōu)的合理的物理結(jié)構(gòu)如果該結(jié)構(gòu)不符合用戶需求,則需要修改設(shè)計第3章數(shù)據(jù)庫設(shè)計3.1數(shù)據(jù)庫設(shè)計概述3.2需求分析3.3概念結(jié)構(gòu)設(shè)計3.4邏輯結(jié)構(gòu)設(shè)計3.5數(shù)據(jù)庫的物理設(shè)計3.6數(shù)據(jù)庫實施3.7數(shù)據(jù)庫運行與維護3.8數(shù)據(jù)庫應用系統(tǒng)的設(shè)計3.9小結(jié)3.6數(shù)據(jù)庫的實施數(shù)據(jù)庫實施的工作內(nèi)容:用DDL定義數(shù)據(jù)庫結(jié)構(gòu)組織數(shù)據(jù)入庫編制與調(diào)試應用程序數(shù)據(jù)庫試運行new數(shù)據(jù)庫實施定義數(shù)據(jù)庫結(jié)構(gòu)數(shù)據(jù)裝載

數(shù)據(jù)庫試運行數(shù)據(jù)庫物理設(shè)計數(shù)據(jù)庫運行和維護物理模型編制與調(diào)試應用程序數(shù)據(jù)庫系統(tǒng)new一、定義數(shù)據(jù)庫結(jié)構(gòu)確定了數(shù)據(jù)庫的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)后,就可以用所選用的DBMS提供的數(shù)據(jù)定義語言(DDL)來嚴格描述數(shù)據(jù)庫結(jié)構(gòu)。

new定義數(shù)據(jù)庫結(jié)構(gòu)(續(xù))例,對于前面的例子,可以用SQL語句如下定義表結(jié)構(gòu):CREATETABLE學生

(學號CHAR(8),

……………);CREATETABLE課程

(

……………);……………

new接下來是在這些基本表上定義視圖:

CREATEVIEW.... (

…………… ); ……………

如果需要使用聚簇,在建基本表之前,應先用CREATECLUSTER語句定義聚族。new二、數(shù)據(jù)裝載數(shù)據(jù)庫結(jié)構(gòu)建立好后,就可以向數(shù)據(jù)庫中裝載數(shù)據(jù)了。組織數(shù)據(jù)入庫是數(shù)據(jù)庫實施階段最主要的工作。數(shù)據(jù)裝載方法:人工方法計算機輔助數(shù)據(jù)入庫new方法一:人工方法:適用于小型系統(tǒng)步驟1)篩選數(shù)據(jù)。需要裝入數(shù)據(jù)庫中的數(shù)據(jù)通常都分散在各個部門的數(shù)據(jù)文件或原始憑證中,所以首先必須把需要入庫的數(shù)據(jù)篩選出來。2)轉(zhuǎn)換數(shù)據(jù)格式。篩選出來的需要入庫的數(shù)據(jù),其格式往往不符合數(shù)據(jù)庫要求,還需要進行轉(zhuǎn)換。這種轉(zhuǎn)換有時可能很復雜。

3)輸入數(shù)據(jù)。將轉(zhuǎn)換好的數(shù)據(jù)輸入計算機中。

4)校驗數(shù)據(jù)。檢查輸入的數(shù)據(jù)是否有誤。(對照原始數(shù)據(jù))new方法二:計算機輔助數(shù)據(jù)入庫:適用于中、大型系統(tǒng)步驟1)篩選數(shù)據(jù)2)輸入數(shù)據(jù)。由錄入員將原始數(shù)據(jù)直接輸入計算機中。數(shù)據(jù)輸入子系統(tǒng)應提供輸入界面。3)校驗數(shù)據(jù)。數(shù)據(jù)輸入子系統(tǒng)采用多種檢驗技術(shù)檢查輸入數(shù)據(jù)的正確性。4)

轉(zhuǎn)換數(shù)據(jù)。數(shù)據(jù)輸入子系統(tǒng)根據(jù)數(shù)據(jù)庫系統(tǒng)的要求,從錄入的數(shù)據(jù)中抽取有用成分,對其進行分類,然后轉(zhuǎn)換數(shù)據(jù)格式。抽取、分類和轉(zhuǎn)換數(shù)據(jù)是數(shù)據(jù)輸入子系統(tǒng)的主要工作,也是數(shù)據(jù)輸入子系統(tǒng)的復雜性所在。5)綜合數(shù)據(jù)。數(shù)據(jù)輸入子系統(tǒng)對轉(zhuǎn)換好的數(shù)據(jù)根據(jù)系統(tǒng)的要求進一步綜合成最終數(shù)據(jù)。new如果數(shù)據(jù)庫是在老的文件系統(tǒng)或數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)上設(shè)計的,則數(shù)據(jù)輸入子系統(tǒng)只需要完成轉(zhuǎn)換數(shù)據(jù)、綜合數(shù)據(jù)兩項工作,直接將老系統(tǒng)中的數(shù)據(jù)轉(zhuǎn)換成新系統(tǒng)中需要的數(shù)據(jù)格式。為了保證數(shù)據(jù)能夠及時入庫,應在數(shù)據(jù)庫物理設(shè)計的同時編制數(shù)據(jù)輸入子系統(tǒng)。new三、編制與調(diào)試應用程序數(shù)據(jù)庫應用程序的設(shè)計應該與數(shù)據(jù)設(shè)計并行進行。在數(shù)據(jù)庫實施階段,當數(shù)據(jù)庫結(jié)構(gòu)建立好后,就可以開始編制與調(diào)試數(shù)據(jù)庫的應用程序。調(diào)試應用程序時由于數(shù)據(jù)入庫尚未完成,可先使用模擬數(shù)據(jù)。new四、數(shù)據(jù)庫試運行應用程序調(diào)試完成,并且已有一小部分數(shù)據(jù)入庫后,就可以開始數(shù)據(jù)庫的試運行。數(shù)據(jù)庫試運行也稱為聯(lián)合調(diào)試,其主要工作包括:1)功能測試:實際運行應用程序,執(zhí)行對數(shù)據(jù)庫的各種操作,測試應用程序的各種功能。2)性能測試:測量系統(tǒng)的性能指標,分析是否符合設(shè)計目標。在上一階段,即數(shù)據(jù)庫物理設(shè)計階段在評價數(shù)據(jù)庫結(jié)構(gòu)估算時間、空間指標時,作了許多簡化和假設(shè),忽略了許多次要因素,因此結(jié)果必然很粗糙。數(shù)據(jù)庫試運行則是要實際測量系統(tǒng)的各種性能指標(不僅是時間、空間指標),如果結(jié)果不符合設(shè)計目標,則需要返回物理設(shè)計階段,調(diào)整物理結(jié)構(gòu),修改參數(shù);有時甚至需要返回邏輯設(shè)計階段,調(diào)整邏輯結(jié)構(gòu)。數(shù)據(jù)庫試運行(續(xù))數(shù)據(jù)的分期入庫重新設(shè)計物理結(jié)構(gòu)甚至邏輯結(jié)構(gòu),會導致數(shù)據(jù)重新入庫。由于數(shù)據(jù)入庫工作量實在太大,所以可以采用分期輸入數(shù)據(jù)的方法先輸入小批量數(shù)據(jù)供先期聯(lián)合調(diào)試使用待試運行基本合格后再輸入大批量數(shù)據(jù)逐步增加數(shù)據(jù)量,逐步完成運行評價數(shù)據(jù)庫試運行(續(xù))數(shù)據(jù)庫的轉(zhuǎn)儲和恢復原因如下:由于在數(shù)據(jù)庫試運行階段,系統(tǒng)還不穩(wěn)定,硬、軟件故障隨時都可能發(fā)生系統(tǒng)的操作人員對新系統(tǒng)還不熟悉,誤操作也不可避免因此必須做好數(shù)據(jù)庫的轉(zhuǎn)儲和恢復工作,盡量減少對數(shù)據(jù)庫的破壞。第六章數(shù)據(jù)庫設(shè)計3.1數(shù)據(jù)庫設(shè)計概述3.2需求分析3.3概念結(jié)構(gòu)設(shè)計3.4邏輯結(jié)構(gòu)設(shè)計3.5數(shù)據(jù)庫的物理設(shè)計3.6數(shù)據(jù)庫實施3.7數(shù)據(jù)庫運行與維護3.8數(shù)據(jù)庫應用系統(tǒng)的設(shè)計3.9小結(jié)3.7數(shù)據(jù)庫運行與維護數(shù)據(jù)庫試運行結(jié)果符合設(shè)計目標后,數(shù)據(jù)庫就可以真正投入運行了。數(shù)據(jù)庫投入運行標志著開發(fā)任務的基本完成和維護工作的開始對數(shù)據(jù)庫設(shè)計進行評價、調(diào)整、修改等維護工作是一個長期的任務,也是設(shè)計工作的繼續(xù)和提高。應用環(huán)境在不斷變化數(shù)據(jù)庫運行過程中物理存儲會不斷變化在數(shù)據(jù)庫運行階段,對數(shù)據(jù)庫經(jīng)常性的維護工作主要是由DBA完成的,包括:

⒈數(shù)據(jù)庫的轉(zhuǎn)儲和恢復轉(zhuǎn)儲和恢復是系統(tǒng)正式運行后最重要的維護工作之一。DBA要針對不同的應用要求制定不同的轉(zhuǎn)儲計劃,定期對數(shù)據(jù)庫和日志文件進行備份。一旦發(fā)生介質(zhì)故障,即利用數(shù)據(jù)庫備份及日志文件備份,盡快將數(shù)據(jù)庫恢復到某種一致性狀態(tài)。⒉數(shù)據(jù)庫的安全性、完整性控制DBA必須根據(jù)用戶的實際需要授予不同的操作權(quán)限在數(shù)據(jù)庫運行過程中,由于應用環(huán)境的變化,對安全性的要求也會發(fā)生變化,DBA需要根據(jù)實際情況修改原有的安全性控制。(如,換崗,升職)由于應用環(huán)境的變化,數(shù)據(jù)庫的完整性約束條件也會變化,也需要DBA不斷修正,以滿足用戶要求。⒊數(shù)據(jù)庫性能的監(jiān)督、分析和改進在數(shù)據(jù)庫運行過程中,DBA必須監(jiān)督系統(tǒng)運行,對監(jiān)測數(shù)據(jù)進行分析,找出改進系統(tǒng)性能的方法。利用監(jiān)測工具獲取系統(tǒng)運行過程中一系列性能參數(shù)的值通過仔細分析這些數(shù)據(jù),判斷當前系統(tǒng)是否處于最佳運行狀態(tài)如果不是,則需要通過調(diào)整某些參數(shù)來進一步改進數(shù)據(jù)庫性能⒋數(shù)據(jù)庫的重組織和重構(gòu)造

1)數(shù)據(jù)庫的重組織為什么要重組織數(shù)據(jù)庫數(shù)據(jù)庫運行一段時間后,由于記錄的不斷增、刪、改,會使數(shù)據(jù)庫的物理存儲變壞,從而降低數(shù)據(jù)庫存儲空間的利用率和數(shù)據(jù)的存取效率,使數(shù)據(jù)庫的性能下降。重組織的形式全部重組織部分重組織:只對頻繁增、刪的表進行重組織重組織的目標提高系統(tǒng)性能數(shù)據(jù)庫運行與維護(續(xù))重組織的工作按原設(shè)計要求重新安排存儲位置回收垃圾減少指針鏈數(shù)據(jù)庫的重組織不會改變原設(shè)計的數(shù)據(jù)邏輯結(jié)構(gòu)和物理結(jié)構(gòu)DBMS一般都提供了供重組織數(shù)據(jù)庫使用的實用程序,幫助DBA重新組織數(shù)據(jù)庫。2)數(shù)據(jù)庫的重構(gòu)造為什么要進行數(shù)據(jù)庫的重構(gòu)造數(shù)據(jù)庫應用環(huán)境發(fā)生變化,會導致實體及實體間的聯(lián)系也發(fā)生相應的變化,使原有的數(shù)據(jù)庫設(shè)計不能很好地滿足新的需求增加新的應用或新的實體取消某些已有應用改變某些已有應用數(shù)據(jù)庫重構(gòu)造的主要工作根據(jù)新環(huán)境調(diào)整數(shù)據(jù)庫的模式和內(nèi)模式例如:增加/刪除某些新的數(shù)據(jù)項改變數(shù)據(jù)項的類型改變數(shù)據(jù)庫的容量增加或刪除索引等等重構(gòu)造數(shù)據(jù)庫的程度是有限的若應用變化太大,已無法通過重構(gòu)數(shù)據(jù)庫來滿足新的需求,或重構(gòu)數(shù)據(jù)庫的代價太大,則表明現(xiàn)有數(shù)據(jù)庫應用系統(tǒng)的生命周期已經(jīng)結(jié)束,應該重新設(shè)計新的數(shù)據(jù)庫系統(tǒng),開始新數(shù)據(jù)庫應用系統(tǒng)的生命周期了。如,學生(學號,姓名,性別,戶籍)以上就是數(shù)據(jù)庫設(shè)計的6個步驟。1、需求分析2、概念結(jié)構(gòu)設(shè)計3、邏輯結(jié)構(gòu)設(shè)計4、物理設(shè)計5、數(shù)據(jù)庫實施6、數(shù)據(jù)庫運行與維護3.8DBAS的設(shè)計

1.桌面型DBS當我們把DBMS、DB和DBAS安排在同一臺計算機時,數(shù)據(jù)庫中的數(shù)據(jù)只讓本機的應用程序獨自使用,這種結(jié)構(gòu)稱為“桌面型DBS”。

特點:單機使用,不涉及網(wǎng)絡,適合數(shù)據(jù)量少、功能簡單的單用戶DBS(在系統(tǒng)開發(fā)和測試時使用,可節(jié)約開支,降低風險)

3.8.1數(shù)據(jù)庫系統(tǒng)的層次結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)分為桌面型數(shù)據(jù)庫系統(tǒng)、兩層結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)和多層結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)3種類型

3.8數(shù)據(jù)庫應用系統(tǒng)的設(shè)計

2.兩層結(jié)構(gòu)的DBS

兩層結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)有2種構(gòu)造方式:客戶機/服務器(Client/Server簡稱C/S)結(jié)構(gòu)瀏覽器/服務器(Browser/Server簡稱B/S)結(jié)構(gòu)兩層結(jié)構(gòu)的DBS可以通過網(wǎng)絡連接將多臺計算機連接為企業(yè)內(nèi)部網(wǎng),能夠與internet相連并發(fā)布網(wǎng)頁,網(wǎng)絡中的一臺計算機稱為服務器(server,也稱后端),其他的計算機稱為客戶端(client,也稱前端)兩層數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)示意圖

數(shù)據(jù)庫服務器C/S

客戶機1客戶機2……瀏覽器1瀏覽器21.在兩層結(jié)構(gòu)中,應用程序及瀏覽器安裝在客戶機端,客戶機端實現(xiàn)用戶界面和前端處理功能3、服務器實現(xiàn)分布事務的協(xié)調(diào)和數(shù)據(jù)訪問控制。2、B/S結(jié)構(gòu)中的用戶界面是瀏覽器中的網(wǎng)頁;C/S結(jié)構(gòu)的應用程序是自開發(fā)的軟件系統(tǒng)。優(yōu)點:

此兩層結(jié)構(gòu)的分布功能減輕了服務器的負擔,使得server專門用于事務處理和數(shù)據(jù)訪問控制,從而可以支持較多的用戶。它只適用于中小型規(guī)模的DBAS,當系統(tǒng)規(guī)模增大到一定程度時,就會暴露以下缺點:(1)啟動的客戶機端程序或打開的瀏覽器越多,同數(shù)據(jù)庫服務器建立的連接就會越多,服務器端的負擔就會越重。(2)由于客戶機端在分發(fā)程序時不僅要分發(fā)EXE文件,還要分發(fā)與數(shù)據(jù)訪問及數(shù)據(jù)管理相關(guān)的動態(tài)鏈接庫ddl,所以如果客戶機的地理位置比較分散,則客戶端程序就難以分發(fā)。(3)數(shù)據(jù)庫服務器的軟硬件出現(xiàn)問題,所有前端的應用將都會終止。

注:DLL是一個包含可由多個程序同時使用的代碼和數(shù)據(jù)的庫,DLL不是可執(zhí)行文件。動態(tài)鏈接提供了一種方法,使進程可以調(diào)用不屬于其可執(zhí)行代碼的函數(shù)

3.多層數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)

應用服務器:承擔處理與數(shù)據(jù)庫服務器的交互工作,由于可將與數(shù)據(jù)訪問和存取的有關(guān)軟件和動態(tài)鏈接庫存放在應用服務器上,因此客戶端程序不必關(guān)心數(shù)據(jù)庫操作的細節(jié)。三層結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)減小了數(shù)據(jù)庫服務器的工作量,并可在應用服務器上建立數(shù)據(jù)備份,提高了整個系統(tǒng)的工作性能和可靠性。

數(shù)據(jù)庫服務器

應用服務器1………應用服務器2

客戶機1客戶機2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論