版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第六章數(shù)據(jù)庫設(shè)計,,數(shù)據(jù)庫設(shè)計概述,數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用領(lǐng)域,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)數(shù)據(jù)操作需求,有效地支持各種應(yīng)用系統(tǒng)的開發(fā)和運(yùn)行。,數(shù)據(jù)庫設(shè)計概述,數(shù)據(jù)庫設(shè)計的關(guān)鍵是構(gòu)造合理的數(shù)據(jù)模型。這個數(shù)據(jù)模型要較好地反映現(xiàn)實世界信息、信息之間的聯(lián)系,能反映出使用者對數(shù)據(jù)的需求和操作特點,能方便地在某個選定的DBMS支持下實現(xiàn)。,數(shù)
2、據(jù)庫設(shè)計的特點,數(shù)據(jù)庫設(shè)計與硬件、軟件和干件緊密相關(guān)。數(shù)據(jù)庫設(shè)計要把結(jié)構(gòu)(數(shù)據(jù))設(shè)計和行為(處理)設(shè)計密切結(jié)合起來。,數(shù)據(jù)庫設(shè)計的方法,手工試湊方法規(guī)范化設(shè)計方法自動數(shù)據(jù)庫設(shè)計工具,數(shù)據(jù)庫設(shè)計的方法,手工試湊方法,數(shù)據(jù)庫設(shè)計的方法,手工試湊方法的缺點現(xiàn)在數(shù)據(jù)庫的數(shù)據(jù)量大,數(shù)據(jù)間關(guān)系復(fù)雜,用戶眾多,使用要求各式各樣,很難僅憑經(jīng)驗進(jìn)行設(shè)計。直接設(shè)計把數(shù)據(jù)的邏輯結(jié)構(gòu),物理結(jié)構(gòu)、處理要求等一起考慮,很難對模式進(jìn)行評價和優(yōu)化。用戶需求一
3、旦發(fā)生變化,數(shù)據(jù)結(jié)構(gòu)很難隨之發(fā)生變化。數(shù)據(jù)庫設(shè)計與具體的DBMS緊密結(jié)合,移植困難。缺乏文檔資料,難于與用戶交流,對設(shè)計難于評審,往往到運(yùn)行中才能發(fā)現(xiàn)問題。難以由多個人合作進(jìn)行設(shè)計。,數(shù)據(jù)庫設(shè)計的方法,規(guī)范化設(shè)計方法規(guī)范化設(shè)計方法認(rèn)為數(shù)據(jù)庫設(shè)計涉及了很多問題,每類問題有其不同的自然論域。規(guī)范化設(shè)計方法依據(jù)軟件工程的思想,把整個設(shè)計過程劃分為若干階段,把數(shù)據(jù)庫設(shè)計這一復(fù)雜的大問題分為若干相對簡單的小問題,每個階段只解決整個設(shè)計中的
4、部分問題。整個設(shè)計方法是迭代過程,每一過程完成時要進(jìn)行設(shè)計分析,產(chǎn)生各種設(shè)計文檔,并組織評審和用戶交流,如不滿足要求則進(jìn)行修改。,數(shù)據(jù)庫的生命周期,需求分析概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)設(shè)計數(shù)據(jù)庫的實施數(shù)據(jù)庫運(yùn)行與維護(hù),規(guī)范化設(shè)計的特點,反復(fù)性數(shù)據(jù)庫設(shè)計不可能“一氣呵成”,需要反復(fù)推敲和修改才能完成。前階段的設(shè)計是后階段設(shè)計的基礎(chǔ)和起點,但后階段也可向前階段反饋其要求,如此反復(fù)修改,以臻完善。試探性數(shù)據(jù)庫設(shè)計結(jié)果一般不
5、是唯一的。設(shè)計的過程是個試探的過程。在設(shè)計過程中,有各式各樣的要求和制約因素,它們之間往往是矛盾的。數(shù)據(jù)庫的設(shè)計很難說是最佳的,常常得之于東,而失之于西,何去何從取決于數(shù)據(jù)庫設(shè)計者的權(quán)衡和單位的決策。,規(guī)范化設(shè)計的特點,分步進(jìn)行數(shù)據(jù)庫設(shè)計常常由不同的人員分階段進(jìn)行。這樣做,一是由于技術(shù)上分工的需要,二是為了分段把關(guān),逐級審查,保證設(shè)計的質(zhì)量和進(jìn)度。,需求分析,需求分析的任務(wù)是通過詳細(xì)調(diào)查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分
6、了解原系統(tǒng)(手工系統(tǒng)或計算機(jī)系統(tǒng))的工作情況,明確用戶的各種需求,并預(yù)測系統(tǒng)今后可能的擴(kuò)充和改變,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。,需求分析,調(diào)查的重點是“數(shù)據(jù)”和“處理”,包括:信息要求,指用戶需要從數(shù)據(jù)庫中獲得的信息的內(nèi)容與性質(zhì)。從中可以導(dǎo)出數(shù)據(jù)要求。處理要求,指用戶要完成什么處理功能,對處理的響應(yīng)時間和處理方式的要求。安全性與完整性的要求,需求分析的具體步驟,調(diào)查組織機(jī)構(gòu)情況調(diào)查各部門的業(yè)務(wù)活動情況在熟悉了業(yè)務(wù)活動的基礎(chǔ)
7、上,協(xié)助用戶明確對新系統(tǒng)的各種要求,包括信息要求、處理要求、完整性與安全性要求。確定新系統(tǒng)的邊界預(yù)測系統(tǒng)的未來改變強(qiáng)調(diào)用戶參與,數(shù)據(jù)字典,數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典包括:數(shù)據(jù)項數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)流數(shù)據(jù)存儲處理過程,數(shù)據(jù)字典,數(shù)據(jù)項描述{數(shù)據(jù)項名,數(shù)據(jù)項含義說明,別名,數(shù)據(jù)類型,長度,取值范圍,取值含義,與其它數(shù)據(jù)項的邏輯關(guān)系,數(shù)據(jù)項之間的聯(lián)系}數(shù)據(jù)結(jié)構(gòu)描述
8、{數(shù)據(jù)結(jié)構(gòu)名,含義說明,組成:{數(shù)據(jù)項或數(shù)據(jù)結(jié)構(gòu)}}數(shù)據(jù)流描述{數(shù)據(jù)流名,說明,數(shù)據(jù)流來源,數(shù)據(jù)流去向,組成:{數(shù)據(jù)結(jié)構(gòu)},平均流量,高峰期流量},數(shù)據(jù)字典,數(shù)據(jù)存儲描述{數(shù)據(jù)存儲名,說明,編號,輸入的數(shù)據(jù)流,輸出的數(shù)據(jù)流,組成{數(shù)據(jù)結(jié)構(gòu)},數(shù)據(jù)量,存取頻度,存取方式}處理過程描述{處理過程名,說明,輸入:{數(shù)據(jù)流},輸出:{數(shù)據(jù)流},處理:{簡要說明}},預(yù)測現(xiàn)行系統(tǒng)的未來改變,現(xiàn)行系統(tǒng)的未來改變信息是其他數(shù)據(jù)庫設(shè)計階段的
9、參考信息。通過這些信息,我們可以考慮使最終數(shù)據(jù)庫盡量適應(yīng)未來改變,減少將來為適應(yīng)改變而引起的數(shù)據(jù)庫修改或重新設(shè)計,使數(shù)據(jù)庫具有較好的適用性。應(yīng)用領(lǐng)域中已有的,但目前尚未被數(shù)據(jù)庫系統(tǒng)支持的應(yīng)用。應(yīng)用領(lǐng)域中各種應(yīng)用功能可能的擴(kuò)充、減少和改變。應(yīng)用領(lǐng)域的上述改變對數(shù)據(jù)庫支持的信息和應(yīng)用范圍、數(shù)據(jù)項定義、數(shù)據(jù)項之間的關(guān)系和數(shù)據(jù)庫操作任務(wù)的影響。,強(qiáng)調(diào)用戶的參與,設(shè)計人員應(yīng)當(dāng)與用戶對于需求形成共同的理解,并共同確保數(shù)據(jù)庫的設(shè)計正確表達(dá)和解決
10、了用戶的需求,對設(shè)計工作的結(jié)果承擔(dān)共同的責(zé)任。,概念結(jié)構(gòu)設(shè)計,將需求分析得到的用戶需求抽象成為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計。,概念結(jié)構(gòu)的特點,能真實、充分地反映現(xiàn)實世界,包括事物和事物之間地聯(lián)系,能滿足用戶對數(shù)據(jù)處理地要求。易于理解,從而可以用它和不熟悉計算機(jī)的用戶交換意見。易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求發(fā)生改變時,容易對其進(jìn)行修改和擴(kuò)充。易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換,分析用戶需求,根據(jù)需求分析的結(jié)果,對應(yīng)
11、用領(lǐng)域進(jìn)行分析,抽象出下列信息:應(yīng)用領(lǐng)域的流動信息的定義。應(yīng)用領(lǐng)域的存儲信息的定義。應(yīng)用領(lǐng)域中各種流動信息的起點和源點。應(yīng)用領(lǐng)域的各種應(yīng)用的定義,包括輸入信息,輸出信息和應(yīng)用功能的定義。上述四者之間的聯(lián)系的定義。,定義數(shù)據(jù)庫系統(tǒng)支持的信息與應(yīng)用,應(yīng)用定義的目的是確定最終數(shù)據(jù)庫支持哪些應(yīng)用系統(tǒng)。應(yīng)用領(lǐng)域的邏輯模型是應(yīng)用定義的基礎(chǔ)考察數(shù)據(jù)流圖中每個數(shù)據(jù)處理應(yīng)用,確定我們正在設(shè)計的數(shù)據(jù)庫是否應(yīng)該而且可能支持這個應(yīng)用。對于步驟一確
12、定的每個數(shù)據(jù)庫系統(tǒng)應(yīng)該支持的應(yīng)用進(jìn)行嚴(yán)格定義,內(nèi)容包括:應(yīng)用名,處理功能,輸入信息和輸出信息。,定義數(shù)據(jù)庫系統(tǒng)支持的信息與應(yīng)用,信息定義的目的是確定最終數(shù)據(jù)庫需要存儲哪些信息。信息的定義也以應(yīng)用領(lǐng)域的邏輯模型為基礎(chǔ)??疾鞌?shù)據(jù)流圖中每個存儲信息,確定其是否應(yīng)該而且可能由數(shù)據(jù)庫存儲。對于步驟一確定的每個需要數(shù)據(jù)庫存儲的信息進(jìn)行嚴(yán)格定義,內(nèi)容包括:信息名、內(nèi)容定義、產(chǎn)生該信息的應(yīng)用和引用該信息的應(yīng)用。,概念結(jié)構(gòu)設(shè)計的策略,自頂向下首先定
13、義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化。,概念設(shè)計的策略,自底向上首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)。,概念設(shè)計的策略,逐步擴(kuò)張首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)。,核心需求,需求,核心概念結(jié)構(gòu),,…,全局概念結(jié)構(gòu),概念設(shè)計的策略,混合策略即將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為骨架集成用自底向上策略
14、設(shè)計的各局部概念結(jié)構(gòu)。,概念設(shè)計的策略,,需求,需求,需求,需求,需求,需求,需求,概念模式1.1,概念模式1.2,概念模式n.1,概念模式n.2,概念模式1,概念模式n,全局概念模式,……,……,視圖綜合設(shè)計方法,視圖綜合設(shè)計方法分為兩步:設(shè)計局部概念結(jié)構(gòu)把局部概念結(jié)構(gòu)合并為一個全局概念結(jié)構(gòu)。,局部視圖設(shè)計,選擇局部應(yīng)用根據(jù)某個系統(tǒng)的具體情況,在多層的數(shù)據(jù)流圖中選擇一個適當(dāng)層次的數(shù)據(jù)流圖,作為設(shè)計分ER圖的出發(fā)點。逐一設(shè)計分E
15、R圖選擇好局部應(yīng)用之后,就要對每個局部應(yīng)用逐一設(shè)計分ER圖。,局部視圖設(shè)計,確定局部實體。確定局部實體之間的聯(lián)系(包括超類/子類聯(lián)系)。構(gòu)造局部ER圖。,局部視圖設(shè)計,局部視圖設(shè)計的關(guān)鍵在于實體和屬性的正確劃分。其主要手段為:分類定義某一概念作為現(xiàn)實世界中一組對象的類型。這些對象具有某些共同的特性和行為。它抽象了對象值和型之間的“is member of”的語義。聚集定義某一類型的組成成分,它抽象了對象內(nèi)部類型和成分之間“
16、is part of”的語義。概括定義類型之間的一種子集聯(lián)系,它抽象了類型之間的“is subset of”的語義。,實體與屬性,實體與屬性劃分的兩條準(zhǔn)則:作為屬性,不能再具有需要描述的性質(zhì)。屬性必須是不可分的數(shù)據(jù)項,不能包含其他屬性。屬性不能與其他實體具有聯(lián)系,即ER圖中所表示的聯(lián)系是實體之間的聯(lián)系。,實體與屬性,,n,1,實體與屬性,,局部ER圖設(shè)計,,生產(chǎn)部門的局部ER圖,視圖的集成,視圖的集成可以有兩種方法:多個局部E
17、R圖一次集成逐步集成,用累加的方式一次集成兩個分ER圖。,一次集成,,逐步集成,,集成局部ER圖的步驟,合并解決各局部ER圖之間的沖突,將各局部ER圖合并起來生成初步ER圖。修改和重構(gòu)消除不必要的冗余,生成基本ER圖。,全局概念模式合成,識別局部ER圖間的沖突修改局部ER圖局部ER圖合并,識別局部概念模式間的沖突,各個局部應(yīng)用所面向的問題不同,通常是由不同的設(shè)計人員進(jìn)行局部ER圖設(shè)計,所以各個局部ER圖中必定存在許多不一致的
18、地方,稱之為沖突。合理消除各局部ER圖的沖突時合并局部ER圖的關(guān)鍵。各局部模式之間的沖突主要有:命名沖突結(jié)構(gòu)沖突值域沖突約束沖突,命名沖突,同名異義即同一名字在不同的局部ER圖中表示不同的概念。如“編號”這一名字在學(xué)生實體中表示學(xué)號,而在課程實體中表示課程號。異名同義即同一個概念在不同的局部ER圖中使用了不同的名字。如在一個局部ER圖中學(xué)生實體有“何時入學(xué)”這一個屬性,在另一個局部ER圖中學(xué)生實體有“入學(xué)時間”這一屬性,兩
19、者是同名異義。,結(jié)構(gòu)沖突,結(jié)構(gòu)沖突是模式結(jié)構(gòu)的沖突。它指相同的概念在不同的局部ER圖中使用不同的概念結(jié)構(gòu)來表示。同一對象在不同的局部ER圖中具有不同的抽象。如“系”在一個局部ER圖中被表示為一個實體,而在另一個局部ER中則被表示為一個屬性或聯(lián)系。同一實體在不同的局部ER圖中所包含的屬性個數(shù)和屬性的排列次序不完全相同。,值域沖突,指同一個屬性在不同的局部ER圖中具有不同的值域定義。屬性域沖突,即屬性的類型、取值范圍或取值集合不同。如
20、屬性“編號”在一個局部模式中定義為整數(shù)型,而在另一個局部模式中定義為字符型。屬性取值單位沖突,如數(shù)型“身高”在一個局部模式以“厘米”為單位,在另一個局部模式中以“米”為單位。,約束沖突,這種沖突指兩個局部模式在同一個概念上定義了不同的約束。如在兩個模式中,同一個實體的鍵不同;又如對于選課這個聯(lián)系,大學(xué)生和研究生對選課的最少門數(shù)和最多門數(shù)可能不一樣。,總體ER圖設(shè)計,,修改和重構(gòu),在初步ER圖中,可能存在一些冗余的數(shù)據(jù)和實體間冗余的聯(lián)系
21、。所謂冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù),冗余的聯(lián)系是指可由其他聯(lián)系導(dǎo)出的聯(lián)系。冗余數(shù)據(jù)和冗余的聯(lián)系容易破壞數(shù)據(jù)庫的完整性,應(yīng)當(dāng)予以消除。消除了冗余后的初步ER圖稱為基本ER圖。消除冗余主要采用分析方法,即以數(shù)據(jù)字典和數(shù)據(jù)流圖為依據(jù),根據(jù)數(shù)據(jù)字典中關(guān)于數(shù)據(jù)項之間的邏輯關(guān)系的說明來消除冗余。,基本ER圖,,材料,價格,材料號,價格,材料名,庫存量,,,,,,,,m,倉庫,,產(chǎn)品,組裝,零件,產(chǎn)品號,性能,產(chǎn)品名,零件數(shù),耗用量,,,,,
22、,,,m,n,零件號,零件名,消耗,n,1,事務(wù)設(shè)計,數(shù)據(jù)庫設(shè)計的目的是支持各種事務(wù)的運(yùn)行。在數(shù)據(jù)庫的設(shè)計中,需要考慮所有事務(wù)的特點和要求,這樣才能保證所設(shè)計的數(shù)據(jù)庫包含的各種事務(wù)所需要的信息。在概念數(shù)據(jù)庫設(shè)計階段,事務(wù)設(shè)計的任務(wù)是定義事務(wù)的功能,其方法是說明事務(wù)的輸入、輸出信息和功能。事務(wù)可以分為三類:數(shù)據(jù)查詢型事務(wù),數(shù)據(jù)更新型事務(wù),混合型事務(wù)。,邏輯結(jié)構(gòu)設(shè)計,邏輯結(jié)構(gòu)設(shè)計的任務(wù)是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本ER圖轉(zhuǎn)換為與選用的DB
23、MS所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。邏輯結(jié)構(gòu)設(shè)計的目標(biāo)包括:滿足用戶的完整性和安全性要求。動態(tài)關(guān)系至少滿足第三范式,靜態(tài)關(guān)系至少滿足第一范式。能夠在邏輯級上高效率地支持各種數(shù)據(jù)庫事務(wù)的運(yùn)行。存儲空間利用率高。,邏輯結(jié)構(gòu)設(shè)計的步驟,形成初始關(guān)系數(shù)據(jù)庫模式關(guān)系模式規(guī)范化關(guān)系模式優(yōu)化定義關(guān)系上的完整性和安全性約束子模式定義性能估計,形成初始關(guān)系數(shù)據(jù)庫模式,初始關(guān)系數(shù)據(jù)庫模式是指直接由概念結(jié)構(gòu)設(shè)計的結(jié)果生成的關(guān)系數(shù)據(jù)庫模式。
24、初始數(shù)據(jù)庫模式生成的目的是把ER圖中的實體、實體間的聯(lián)系等變換為關(guān)系模式。,實體型的轉(zhuǎn)換,直接將一個實體型轉(zhuǎn)化為一個關(guān)系模式,實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。,實體間聯(lián)系的轉(zhuǎ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)系模式合并,
25、則需要在該關(guān)系模式的屬性中加入另一個關(guān)系模式的碼和聯(lián)系本身的屬性。,實體間聯(lián)系的變換,可轉(zhuǎn)換為以下關(guān)系模式E1(A,B,C)E2(D,E,F(xiàn),G)R(A,D,H) 或者R(A,D,H) 或:E1 (A,B,C,D,H)E2(D,E,F(xiàn),G),實體間聯(lián)系的變換,或:E1(A,B,C)E2(D,E,F(xiàn),G,A,H),實體間聯(lián)系的轉(zhuǎn)換,1:N聯(lián)系可以直接轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨
26、立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實體的碼。,實體間聯(lián)系的變換,可轉(zhuǎn)換為以下關(guān)系模式E1(A,B,C)E2(D,E,F(xiàn),G)R(A,D,H)或:E1(A,B,C)E2(D,E,F(xiàn),G,A,H),實體間聯(lián)系的轉(zhuǎn)換,M:N聯(lián)系轉(zhuǎn)換為一個獨立的關(guān)系模式,與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合。三個或三個以上實體間的一個多
27、元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合。,實體間聯(lián)系的變換,只能轉(zhuǎn)換為以下關(guān)系模式R(A,D,H),實體間聯(lián)系的轉(zhuǎn)換,可將三元聯(lián)系供應(yīng)轉(zhuǎn)化為以下關(guān)系模式:供應(yīng)(項目編號,供應(yīng)商號,零件號,供應(yīng)量),供應(yīng)商,項目,零件,供應(yīng),供應(yīng)量,關(guān)系模式的規(guī)范化,確定函數(shù)依賴對于各個關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余聯(lián)系。按照數(shù)據(jù)依賴的理論對關(guān)系模
28、式逐一進(jìn)行分析,對其進(jìn)行規(guī)范化處理。按照需求分析階段得到的處理要求,分析這些關(guān)系模式對于這樣的應(yīng)用環(huán)境是否合適,是否要對某些模式進(jìn)行合并或分解。,關(guān)系模式的優(yōu)化,在數(shù)據(jù)庫設(shè)計中,并非關(guān)系的規(guī)范化程度越高越好,因為在數(shù)據(jù)庫的設(shè)計中不僅應(yīng)當(dāng)考慮數(shù)據(jù)本身的特點,還需要考慮應(yīng)用的要求。規(guī)范化的主要方法是通過模式分解進(jìn)行的,規(guī)范化程度越高通常也意味著分解產(chǎn)生的關(guān)系越多,當(dāng)查詢這些關(guān)系時需要進(jìn)行的連接操作也就越多,從而會影響到系統(tǒng)的效率。因此,必
29、須根據(jù)應(yīng)用的特點對數(shù)據(jù)庫設(shè)計進(jìn)行優(yōu)化,對關(guān)系模式進(jìn)行必要的分解,提高數(shù)據(jù)操作的效率和存儲空間的利用率。常用的兩種分解方法是水平分解和垂直分解。,關(guān)系模式的優(yōu)化,優(yōu)化關(guān)系模式的兩種方法:水平分解 是把關(guān)系的元組分為若干子集合,定義每個子集合為一個子關(guān)系,以提高系統(tǒng)效率。根據(jù)80/20原則, 在一個大關(guān)系中,經(jīng)常被使用的數(shù)據(jù)只是關(guān)系的一個部分,則可以把經(jīng)常使用的那一部分?jǐn)?shù)據(jù)分解出來作為一個關(guān)系,其他數(shù)據(jù)作為另一個關(guān)系。如果關(guān)系R上具
30、有n個事務(wù),而且多數(shù)事務(wù)存取的數(shù)據(jù)不相交,則R可以分解為少于或等于n個子關(guān)系。,關(guān)系模式的優(yōu)化,垂直分解是把關(guān)系模式R的屬性分解為若干子集合,形成若干子關(guān)系模式。垂直分解的原則是,經(jīng)常在一起使用的屬性從R中分解出來形成一個子關(guān)系模式。垂直分解必須確保無損連接性和保持函數(shù)依賴。,逆規(guī)范化,連接操作代價很高,是造成關(guān)系數(shù)據(jù)庫低效的主要原因之一。如果經(jīng)常需要對多個關(guān)系進(jìn)行連接操作,且大多數(shù)操作為查詢操作,更新很少,則可以考慮將這些關(guān)系合并為
31、一個關(guān)系,從而提高查詢效率。,設(shè)計子模式,將概念模型轉(zhuǎn)換為全局模型后,還應(yīng)根據(jù)局部應(yīng)用的需求,結(jié)合具體DBMS的特點,設(shè)計用戶外模式。由于用戶外模式與全局模式是相對獨立的,因此定義用戶外模式時可以注重考慮用戶的習(xí)慣和方便。包括:使用更符合用戶習(xí)慣的別名可以對不同級別的用戶定義不同的View,以保證系統(tǒng)的安全性。簡化用戶對系統(tǒng)的使用。,數(shù)據(jù)庫物理設(shè)計,數(shù)據(jù)庫在物理設(shè)備上的存儲結(jié)構(gòu)和存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu)。為一個給定的邏輯模型選
32、取一個最合適應(yīng)用要求的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫物理設(shè)計。,數(shù)據(jù)庫物理設(shè)計的內(nèi)容和方法,了解應(yīng)用的類型和特點了解所用的RDBMS提供了哪些存取方法和存儲結(jié)構(gòu),關(guān)系存取方法的選擇,索引存取方法經(jīng)常在查詢條件中出現(xiàn)的屬性,應(yīng)為其建立索引。經(jīng)常作為最大值和最小值等聚集函數(shù)參數(shù)的屬性,應(yīng)為其建立索引。經(jīng)常在連接條件中出現(xiàn)的屬性,應(yīng)為其建立索引。,關(guān)系存取方法的選擇,聚簇存取方法聚簇存取方法將相關(guān)的數(shù)據(jù)存放在連續(xù)的物理塊中,從而提供查詢
33、的效率。設(shè)計聚簇的原則對經(jīng)常在一起進(jìn)行連接操作的關(guān)系可以建立聚簇。如果一個關(guān)系的一個(或一組)屬性經(jīng)常出現(xiàn)在相等比較條件中,則該單個關(guān)系可建立聚簇。如果一個關(guān)系的一個(或一組)屬性上的值重復(fù)率很高,則此單個關(guān)系可以建立聚簇。,關(guān)系存取方法的選擇,HASH存取方法如果一個關(guān)系的屬性主要出現(xiàn)在相等比較條件中,且滿足以下兩個條件之一,則可以使用HASH存取方法:一個關(guān)系的大小可以預(yù)知,而且不變。關(guān)系的大小動態(tài)改變,但數(shù)據(jù)庫管理系
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫第六章習(xí)題綜合
- 第六章 數(shù)據(jù)庫系統(tǒng)基礎(chǔ)
- 第六章 數(shù)據(jù)庫管理系統(tǒng)access 2003
- 第六章 設(shè)計
- 數(shù)據(jù)庫系統(tǒng)概論第六章習(xí)題答案全12題
- 數(shù)據(jù)庫系統(tǒng)概論第六章測試題及答案
- 第六章數(shù)據(jù)檢索
- labview 第六章 數(shù)據(jù)采集
- 第六章課件 第六章 收益與分配管理
- 第六章 調(diào)查數(shù)據(jù)的整理
- 數(shù)據(jù)結(jié)構(gòu)教案第六章
- 第六章作業(yè)
- gl第六章
- 第六章 指針
- 印刷第六章
- 第六章 消化
- 第六章旅游
- 第六章復(fù)習(xí)
- 第六章地球
- 第六章.doc
評論
0/150
提交評論