分布式數(shù)據(jù)庫(kù)試題及答案_第1頁
分布式數(shù)據(jù)庫(kù)試題及答案_第2頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)庫(kù)試題目錄1. 九八年秋季試題51.1. 概念題51.1.1. 比較半連接方法和枚舉法的優(yōu)缺點(diǎn)。51.1.2. 2PL協(xié)議的基本思想。51.1.3. WAL協(xié)議的主要思想。51.1.4. SSPARC三級(jí)模式體系結(jié)構(gòu)。51.1.5. 設(shè)計(jì)OID的數(shù)據(jù)結(jié)構(gòu)時(shí)應(yīng)考慮哪些問題。61.2. 某個(gè)大學(xué)中有若干系,且每個(gè)系有若干個(gè)班級(jí)和教研室,每個(gè)教研室有若干個(gè)教員,其中教授、副教授每個(gè)人帶若干名研究生。每個(gè)班有若干名學(xué)生,每個(gè)學(xué)生可選修若干門課程,每門課程可由若干學(xué)生選修。完成下列各種要求:71.3. 下面是某學(xué)院的一個(gè)學(xué)生檔案數(shù)據(jù)庫(kù)的全局模式:91.3.1. 將全局模式進(jìn)行分片,寫出分片定義和分片

2、條件。91.3.2. 指出各分片的類型,并畫出分片樹。91.3.3. 假設(shè)要求查詢系號(hào)為1的所有學(xué)生的姓名和成績(jī),寫出在全局模式上的SQL查詢語句,并要求轉(zhuǎn)換成相應(yīng)的關(guān)系代數(shù)表示,畫出全局查詢樹,請(qǐng)依次進(jìn)行全局優(yōu)化和分片優(yōu)化,畫出優(yōu)化后的查詢樹。要求給出優(yōu)化變換過程。101.4. 設(shè)數(shù)據(jù)項(xiàng)x,y存放在S1場(chǎng)地,u,v存放在S2場(chǎng)地,有分布式事務(wù)T1和T2,T1在S1場(chǎng)地的操作為R1(x)W1(x)R1(y)W1(y),T2在S1場(chǎng)地的操作為R2(x)R2(y)W2(y);T1在S2場(chǎng)地上的操作作為R1(u)R1(v)W1(u),T2在S2場(chǎng)地上的操作作為W2(u)R2(v)W2(v)。對(duì)下述2

3、種情況,各舉一種可能的局部歷程(H1和H2),并說明理由。111.4.1. 局部分別是可串行化,而全局是不可串行化的111.4.2. 局部和全局都是可串行化的。要求按照嚴(yán)格的2PL協(xié)議,加上適當(dāng)?shù)募渔i和解鎖命令,(注意,用rl(x)表示加讀鎖,wl(x)表示加對(duì)x加寫鎖,ul(x)表示解鎖)121.5. 試述面向?qū)ο蟮臄?shù)據(jù)庫(kù)系統(tǒng)中頁面服務(wù)器和對(duì)象服務(wù)器兩種Client/Server體系結(jié)構(gòu)的主要特點(diǎn),122. 九九年春季試題132.1. DBMS解決了信息處理技術(shù)中的哪些挑戰(zhàn)?132.2. 在關(guān)系數(shù)據(jù)庫(kù)應(yīng)用設(shè)計(jì)中,為什么要對(duì)數(shù)據(jù)庫(kù)模式進(jìn)行規(guī)范化?132.3. 簡(jiǎn)述ACID特性。152.4. 長(zhǎng)

4、事務(wù)處理有哪些特性,如何解決?152.5. 數(shù)據(jù)庫(kù)系統(tǒng)體系結(jié)構(gòu)有哪幾類,每種類型的特點(diǎn)是什么,關(guān)鍵技術(shù)有哪些?.162.6. 決策支持類應(yīng)用與OLTP應(yīng)用對(duì)于數(shù)據(jù)庫(kù)系統(tǒng)的要求有哪些不同,支持前者的關(guān)鍵技術(shù)有哪些,并簡(jiǎn)述之。172.7. 面向?qū)ο蟮臄?shù)據(jù)庫(kù)是如何產(chǎn)生的,其基本原理是什么?有哪些創(chuàng)新特性?.182.8. rxr一定等于rxr嗎?在什么條件下rxr=rxr成立?18ijjiijji2.9. 為了設(shè)計(jì)一個(gè)健壯的分布式系統(tǒng),你必須知道可能發(fā)生哪種類型的失敗。.182.9.1. 請(qǐng)列出在分布式系統(tǒng)中可能的失敗類型:182.9.2. 在你列出的失敗類型中,哪些也可能發(fā)生在集中式系統(tǒng)中?192.

5、9.3. 對(duì)于每一種失敗類型,在失敗發(fā)生情況下,兩段提交機(jī)制如何保證事務(wù)的原子性?193. 九九年秋季試題193.1. 問答題193.1.1. 分布式數(shù)據(jù)庫(kù)系統(tǒng)在系統(tǒng)結(jié)構(gòu)、模式結(jié)構(gòu)、功能模塊等方面有何特點(diǎn)?.193.1.2. 給出兩種2PL協(xié)議,并比較它們的優(yōu)點(diǎn)缺點(diǎn)?203.1.3. 解釋為什么對(duì)象類的多繼承存在二義性,并通過例子加以說明。203.1.4. 對(duì)于下述情況,哪種并行性(查詢間并行性、操作間并行性、操作內(nèi)并行性)有助于正加系統(tǒng)的吞吐量:203.2. 下面是某個(gè)公司人事數(shù)據(jù)庫(kù)的兩個(gè)全局關(guān)系203.2.1. 將全局模式進(jìn)行分片,寫出分片定義和分片條件。203.2.2. 指出各分片的類型

6、,并畫出分片樹213.2.3. 進(jìn)行全局優(yōu)化,畫出優(yōu)化后的全局查詢樹。213.2.4. 進(jìn)行分片優(yōu)化,畫出優(yōu)化后的分片查詢樹。223.3. 對(duì)3個(gè)關(guān)系R,S和T的分布式連接,已知有如下的剖視圖:253.3.1. 按照SDD-1半連接優(yōu)化算法,逐步求出半連接優(yōu)化集和最終執(zhí)行場(chǎng)地;.253.3.2. 對(duì)以上結(jié)果做相應(yīng)的優(yōu)化處理。313.4. 用下面的關(guān)鍵字值的集合構(gòu)造一顆B+樹:(2,3,5,7,11,17,19,23,29,31)。假定樹開始是空的,且關(guān)鍵字的值是以升序插入到B+樹中去的,B+樹每個(gè)節(jié)點(diǎn)中含的指針數(shù)為4。32123r)=900,32i.一.3.5. 考慮關(guān)系r(A,B,C),r(

7、C,D,E),r(E,F),假設(shè)不存在主關(guān)鍵字。設(shè)V(C,3.6. 假設(shè)一個(gè)存儲(chǔ)塊中僅能存放一個(gè)記錄且在內(nèi)存中最多只有三個(gè)頁框。請(qǐng)出在排序合并算法中每遍形成的Runs,排序?qū)傩詾榈谝粋€(gè)屬性:(kangaroo,17),(wallaby,21),(emu,1),(wombat,13),(platypus,3),(lion,8),(warthg,4),(zebra,11),(meerkat,6),(hornbill,2),(baboon,12)324. 二零年春季試題324.1324.1.1. 分布庫(kù)管理系統(tǒng)有哪些主要功能模塊及其作用324.1.2. 半連接方法和枚舉法各適用于何種查詢優(yōu)化情況32

8、4.1.3. 分布式事務(wù)有哪些基本性質(zhì)324.1.4. 什么是2PL協(xié)議334.2. 下面是某個(gè)公司的人事關(guān)系數(shù)據(jù)庫(kù)的全局模式:334.2.1. 將全局模式進(jìn)行分片,寫出分片定義和分片條件。344.2.2. 指出分片的類型,并畫出分片樹。344.3. 對(duì)題4.2所確定的分片模式,要求查詢級(jí)別高于“6”的所有職員的姓名和工資,寫出的在全局模式上的SQL查詢語句,并要求轉(zhuǎn)換成相應(yīng)的關(guān)系代數(shù)表示,畫出全局查詢樹。344.3.1. 進(jìn)行全局優(yōu)化,畫出各步優(yōu)化后的全局查詢樹。344.3.2. 進(jìn)行分片優(yōu)化,畫出各步優(yōu)化后的分片查詢樹。354.4. 下面是一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)出現(xiàn)故障是,日志文件中記錄的信息;3

9、64.4.1. 找出發(fā)生故障時(shí)系統(tǒng)中的活動(dòng)事務(wù),確定出反做和重做事務(wù)集。364.4.2. 用C或其他語言定義出數(shù)據(jù)庫(kù)記錄(D記錄)和檢查點(diǎn)記錄(K記錄)的數(shù)據(jù)結(jié)構(gòu)。364.5. 設(shè)數(shù)據(jù)項(xiàng)x,y存放在S1場(chǎng)地,u,v存放在S2場(chǎng)地,有分布式事務(wù)T1和T2,T1在S1場(chǎng)地的操作為R1(x)W1(x)R1(y)W1(y),T2在S1場(chǎng)地的操作為R2(x)R2(y)W2(y);T1在S2場(chǎng)地上的操作作為R1(u)R1(v)W1(u),T2在S2場(chǎng)地上的操作作為W2(u)R2(v)W2(v)。對(duì)下述2種情況,各舉一種可能的局部歷程(H1和H2),并說明理由364.5.1. 局部分別是可串行化,而全局是不

10、可串行化的374.5.2. 局部和全局都是可串行化的。374.5.3. 要求按照嚴(yán)格的2PL協(xié)議,加上適當(dāng)?shù)募渔i和解鎖命令,(注意,用rl(x)表示加讀鎖,wl(x)表示加對(duì)x加寫鎖,ul(x)表示解鎖)375. 二零年秋試題385.1. 概念題385.1.1. 解釋對(duì)象數(shù)據(jù)庫(kù)系統(tǒng)中面向?qū)ο蟮南嚓P(guān)概念385.1.2. 從概念上比較對(duì)象數(shù)據(jù)庫(kù)模型與對(duì)象關(guān)系模型385.1.3. 利用左深樹、右深樹、濃密樹來進(jìn)行查詢優(yōu)化的各自特點(diǎn)385.1.4. 試解釋影響并行數(shù)據(jù)庫(kù)系統(tǒng)中并行算法性能的三個(gè)因數(shù)395.1.5. 簡(jiǎn)述用爬山算法進(jìn)行查詢優(yōu)化的基本思想395.2. 下面是某個(gè)公司一個(gè)人事關(guān)系數(shù)據(jù)庫(kù)的全局

11、模式:EMP二ENO*,ENAME,POSITION,PHONEPAY二POSITION*,SALARYENO為職員號(hào),POSITION為崗位。SALARY表示崗位對(duì)應(yīng)的工資,*對(duì)應(yīng)的屬性表示主關(guān)鍵字。該公司分布在兩個(gè)場(chǎng)地上,其中,在場(chǎng)地1經(jīng)常處理所有職員數(shù)據(jù),而場(chǎng)地2只處理工資低于1000的職員數(shù)據(jù),為了節(jié)省磁盤空間和增大處理局部性:405.2.1. 將以上全局關(guān)系進(jìn)行分片設(shè)計(jì),寫出分片定義和分片條件。405.2.2. 指出分片的類型,并畫出分片樹。405.2.3. 給出分配設(shè)計(jì)。405.3. 對(duì)題二所確定的分片模式,要求查詢崗位為“salesman”的所有職員的姓名和工資,寫出的在全局模式

12、上的SQL查詢語句,并要求轉(zhuǎn)換成相應(yīng)的關(guān)系代數(shù)表示,畫出全局查詢樹。假設(shè)“salesman”的工資為800元。要求給出中間轉(zhuǎn)換過程。415.3.1. 進(jìn)行全局優(yōu)化,畫出優(yōu)化后的全局查詢樹。415.3.2. 進(jìn)行分片優(yōu)化,畫出優(yōu)化后的分片查詢樹。425.4. 按如下給出的條件,求出半連接優(yōu)化計(jì)劃和執(zhí)行場(chǎng)地,并作后優(yōu)化處理.425.5. 下面是當(dāng)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)出現(xiàn)故障時(shí),日志文件中的信息485.5.1. 畫出對(duì)應(yīng)的事務(wù)并發(fā)執(zhí)行圖。495.5.2. 找出發(fā)生故障時(shí)系統(tǒng)中的活動(dòng)事務(wù),確定出反做和重做事務(wù)集。495.5.3. 指出需要undo的和redo的數(shù)據(jù)記錄。495.6. 設(shè)數(shù)據(jù)項(xiàng)x,y存放在S1

13、場(chǎng)地,u,v存放在S2場(chǎng)地,有分布式事務(wù)T1和T2。T1在S1場(chǎng)地的操作為R1(x)W1(x)R1(y)W1(y),T2在S1場(chǎng)地的操作為R2(x)R2(y)W2(y);T1在S2場(chǎng)地上的操作作為R1(u)R1(v)W1(u),T2在S2場(chǎng)地上的操作作為W2(u)R2(v)W2(v)。對(duì)下述2種情況,各舉一種可能的局部歷程(H1和H2),如果是可串行化的,指出事務(wù)的執(zhí)行次序。對(duì)第3種情況,給出符合基本2PL協(xié)議的調(diào)度。(T1加鎖命令用L1(X)表示,開鎖命令U1(X)表示。對(duì)任何數(shù)據(jù)的加鎖可在事務(wù)開始后立即進(jìn)行)。495.6.1. 局部是不可串行化的。505.6.2. 局部是可串行化的,而全局

14、是不可串行化的。505.6.3. 局部是可串行化的,全局也是可串行化的。515.7. 設(shè)計(jì)一種滿足下列要求的索引結(jié)構(gòu)。515.7.1. 被索引的數(shù)據(jù)集合為有序集515.7.2. 在有序集上的查詢操作都是基于位置來進(jìn)行的515.7.3. 當(dāng)往有序集中插入或刪除一個(gè)元素時(shí),與該元素相關(guān)的后續(xù)元素的位置均要發(fā)生變化515.7.4. 元素的類型可為任意類型(這一個(gè)小問題的解決需要考慮語言的特征).516. 二零一春季試題51516.16.1.1. 討論集中式數(shù)據(jù)庫(kù)和分布式數(shù)據(jù)庫(kù)各自的優(yōu)缺點(diǎn)。516.1.2. 討論在局域網(wǎng)和廣域網(wǎng)兩種情況下分布庫(kù)設(shè)計(jì)的區(qū)別。526.1.3. 解釋分片透明性、復(fù)制透明性和

15、位置透明性等三級(jí)透明性的區(qū)別。526.1.4. 解釋2PC協(xié)議如何在故障情況下保證事務(wù)的原子性的526.1.5. 解釋嚴(yán)格2PL協(xié)議與基本2PL協(xié)議的區(qū)別536.2. 下面是某個(gè)公司一個(gè)人事關(guān)系數(shù)據(jù)庫(kù)的全局模式:EMP二ENO*,ENAME,POSITION,PHONEPAY二POSITION*,SALARYENO為職員號(hào),POSITION為崗位。SALARY表示崗位對(duì)應(yīng)的工資,*對(duì)應(yīng)的屬性表示主關(guān)鍵字。該公司分布在兩個(gè)場(chǎng)地上,其中,在場(chǎng)地1經(jīng)常處理所有職員數(shù)據(jù),而場(chǎng)地2只處理工資低于1000的職員數(shù)據(jù),為了節(jié)省磁盤空間和增大處理局部性:546.2.1. 將以上全局關(guān)系進(jìn)行分片設(shè)計(jì),寫出分片定

16、義和分片條件。546.2.2. 指出分片的類型,并畫出分片樹。546.2.3. 給出分配設(shè)計(jì)。546.3. 對(duì)題二所確定的分片模式,要求查詢崗位為“salesman”的所有職員的姓名和工資,寫出的在全局模式上的SQL查詢語句,并要求轉(zhuǎn)換成相應(yīng)的關(guān)系代數(shù)表示,畫出全局查詢樹。假設(shè)“salesman”的工資為1500元。要求給出中間轉(zhuǎn)換過程。556.3.1. 進(jìn)行全局優(yōu)化,畫出優(yōu)化后的全局查詢樹556.3.2. 進(jìn)行分片優(yōu)化,畫出優(yōu)化后的分片查詢樹。566.4. 下面是當(dāng)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)出現(xiàn)故障時(shí),日志文件中的信息566.4.1. 畫出對(duì)應(yīng)的事務(wù)并發(fā)執(zhí)行圖。576.4.2. 找出發(fā)生故障時(shí)系統(tǒng)中的活

17、動(dòng)事務(wù),確定出反做和重做事務(wù)集。586.4.3. 指出需要undo的和redo的數(shù)據(jù)記錄。586.5. 設(shè)數(shù)據(jù)項(xiàng)x,y存放在S1場(chǎng)地,u,v存放在S2場(chǎng)地,有分布式事務(wù)T1和T2,T1在S1場(chǎng)地的操作為R1(x)W1(x)R1(y)W1(y),T2在S1場(chǎng)地的操作為R2(x)R2(y)W2(y);T1在S2場(chǎng)地上的操作作為R1(u)R1(v)W1(u),T2在S2場(chǎng)地上的操作作為W2(u)R2(v)W2(v)。對(duì)下述2種情況,各舉一種可能的局部歷程(H1和H2),如果是可串行化的,指出事務(wù)的執(zhí)行次序。對(duì)第3種情況,給出符合基本2PL協(xié)議的調(diào)度。(T1加鎖命令用L1(X)表示,開鎖命令U1(X)

18、表示。對(duì)任何數(shù)據(jù)的加鎖可在事務(wù)開始后立即進(jìn)行)。586.5.1. 局部是不可串行化的。586.5.2. 局部是可串行化的,而全局是不可串行化的。596.5.3. 局部是可串行化的,全局也是可串行化的。591. 九八年秋季試題1.1.概念題1.1.1. 比較半聯(lián)接方法和枚舉法的優(yōu)缺點(diǎn)。半聯(lián)接技術(shù)縮減了連接操作的操作數(shù),以降低通信費(fèi)用。枚舉法適用于縮減局部代價(jià)的情況。評(píng)估查詢操作的代價(jià)需要綜合考慮局部代價(jià)和傳輸代價(jià)。側(cè)重哪一個(gè)方面,需根據(jù)系統(tǒng)組成環(huán)境確定。如側(cè)重傳輸代價(jià),局部代價(jià)可以忽略不計(jì)時(shí),采用半聯(lián)接技術(shù)較好;相反,如果側(cè)重局部代價(jià)時(shí),采用直接連接比采用半連接技術(shù)優(yōu)越。因?yàn)橹苯舆B接技術(shù)實(shí)現(xiàn)簡(jiǎn)單

19、,枚舉法是基于直接連接的實(shí)現(xiàn)方法,此時(shí)應(yīng)采用枚舉法。半連接優(yōu)點(diǎn):傳輸代價(jià)低。半連接缺點(diǎn):沒有考慮局部代價(jià);當(dāng)“選擇度”交低時(shí),半連接技術(shù)才可行。1.122PL協(xié)議的基本思想。2PL協(xié)議的基本思想。并發(fā)控制是分布式事務(wù)管理的基本任務(wù)之一。其目的是保證分布式數(shù)據(jù)庫(kù)系統(tǒng)中多個(gè)事務(wù)的高效正確的執(zhí)行。有兩種模型來實(shí)現(xiàn):其中之一是以“鎖”方式為基礎(chǔ)的形式模型,一種是以時(shí)間印方式為基礎(chǔ)的時(shí)間模型。鎖方式的基本思想是:事務(wù)對(duì)任何數(shù)據(jù)的操作必須先申請(qǐng)數(shù)據(jù)項(xiàng)的鎖,只有申請(qǐng)到了鎖之后,即加鎖成功以后,才可以對(duì)數(shù)據(jù)項(xiàng)進(jìn)行操作。操作完成了以后,要釋放已經(jīng)申請(qǐng)的鎖。通過鎖的共享和排斥的特性,實(shí)現(xiàn)事務(wù)的可串行化調(diào)度?!版i”

20、又可分為“讀鎖”和“寫鎖”:“讀鎖”是對(duì)數(shù)據(jù)項(xiàng)進(jìn)行讀操作時(shí)要加的鎖。由于讀操作是可共享操作,所以“讀鎖”也稱為共享鎖?!皩戞i”是對(duì)數(shù)據(jù)進(jìn)行寫入操作時(shí)要加入的鎖。寫操作是不可共享的鎖,因此也叫“排它鎖”。2PL(兩階段鎖)協(xié)議是并發(fā)控制算法中的重要算法。其主要內(nèi)容是并發(fā)執(zhí)行的多個(gè)事務(wù),在對(duì)數(shù)據(jù)進(jìn)行操作以前要進(jìn)行加鎖,并且每個(gè)事務(wù)中的所有加鎖操作都得在第一個(gè)解鎖操作以前執(zhí)行。因此,每個(gè)事務(wù)中的加鎖操作和解鎖操作分布在兩個(gè)部分中,所以此協(xié)議稱為2PL協(xié)議。在分布式數(shù)據(jù)庫(kù)系統(tǒng)中,如果全部的分布式事務(wù)均以2PL協(xié)議加鎖,則系統(tǒng)中各個(gè)場(chǎng)地上的局部調(diào)度是可串行化的。因?yàn)閷?duì)每個(gè)局部場(chǎng)地而言,其上執(zhí)行的操作只是

21、全局操作的一部分,而全局操作采用2PL協(xié)議加鎖,顯然局部操作也遵循2PL協(xié)議。1.1.3.WAL協(xié)議的主要思想。系統(tǒng)的故障恢復(fù)是以日志文件為基礎(chǔ)完成的,因此,要求事務(wù)在執(zhí)行過程中滿足先寫日志協(xié)議(WAL)(Write_aheadlogging)。當(dāng)系統(tǒng)發(fā)生故障時(shí),可有效地采用重做(redo)和反做(undo)兩個(gè)基本恢復(fù)操作進(jìn)行恢復(fù)。先寫日志協(xié)議(WAL)含義:(1)在外存數(shù)據(jù)庫(kù)被更新之前,應(yīng)將日志文件中的反做信息寫入外存文件;(2)事務(wù)提交之前,日志文件中的有關(guān)重做信息應(yīng)在外存數(shù)據(jù)庫(kù)更新之前寫入外存文件。11.4.SSPARC三級(jí)模式體系結(jié)構(gòu)。ANSI/SPARC提出將數(shù)據(jù)庫(kù)系統(tǒng)分為三種層次

22、一、從數(shù)據(jù)庫(kù)管理系統(tǒng)的角度看,可分為三層,從外到內(nèi)依次為外模式、模式和內(nèi)模式。1、外模式:外模式又稱為用戶模式:是數(shù)據(jù)庫(kù)用戶和數(shù)據(jù)庫(kù)系統(tǒng)的接口,是數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖(View),是數(shù)據(jù)庫(kù)用戶可以看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。2、模式:模式是所有數(shù)據(jù)庫(kù)用戶的公共數(shù)據(jù)視圖,是數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。3、內(nèi)模式:內(nèi)模式又稱為存儲(chǔ)模式(StorageSchema),是數(shù)據(jù)庫(kù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式。二、為了實(shí)現(xiàn)三個(gè)抽象級(jí)別的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫(kù)管理系統(tǒng)在三層結(jié)構(gòu)之間提供了“兩層映像”外模式/模式映像和模式/內(nèi)

23、模式映像。1、外模式/模式映像通過外模式與模式之間的映像把描述局部邏輯結(jié)構(gòu)的外模式與描述全局邏輯結(jié)構(gòu)的模式聯(lián)系起來。2、模式/內(nèi)模式映像通過模式與內(nèi)模式之間的映像把描述全局邏輯結(jié)構(gòu)的模式與描述物理結(jié)構(gòu)的內(nèi)模式聯(lián)系起來。1.15設(shè)計(jì)OID的數(shù)據(jù)結(jié)構(gòu)時(shí)應(yīng)考慮哪些問題。OID對(duì)象標(biāo)識(shí)對(duì)象標(biāo)識(shí)在編程語言中已經(jīng)存在很長(zhǎng)時(shí)間了,在數(shù)據(jù)庫(kù)概念中還是剛剛被提及(1989)。他的概念如下:在一個(gè)擁有對(duì)象標(biāo)識(shí)的模型中,一個(gè)對(duì)象的存在并不依賴于他的值。對(duì)象標(biāo)識(shí)不應(yīng)該依賴于它所代表的對(duì)象的值。而“對(duì)象相等”的概念反映了對(duì)象標(biāo)識(shí)與對(duì)象的值之間的關(guān)系。有兩種對(duì)象相等的意見存在,一種是兩個(gè)對(duì)象是同一個(gè),即是一個(gè)對(duì)象那么它的

24、對(duì)象標(biāo)識(shí)就是同一個(gè)對(duì)象標(biāo)識(shí)。還有一種是指兩個(gè)對(duì)象相等,指他們的值相等而對(duì)象標(biāo)識(shí)不等。這有兩個(gè)含義,一個(gè)是對(duì)象共享,還有一個(gè)是對(duì)象更新。對(duì)象共享:在一個(gè)基于標(biāo)識(shí)的模型中,兩個(gè)對(duì)象可以共享一個(gè)部件。這樣,復(fù)雜對(duì)象的圖形化表示是一個(gè)圖,而在一個(gè)沒有標(biāo)識(shí)的模型中,限制成一個(gè)樹??紤]下面的例子:一個(gè)人有姓名、一個(gè)年齡、一個(gè)孩子的集合。假設(shè)Peter和Susan都有一個(gè)15歲的孩子,叫john。在實(shí)際生活中,會(huì)有兩種情況,一是Peter和Susan是同一個(gè)孩子的父母,或者是有二個(gè)孩子,在沒有標(biāo)識(shí)的模型中,Peter表示成:(Peter,40,(John,15,)Susan表示成(Susan,41,(Joh

25、n,15,)這樣,沒有方法表示是否Peter和Susan是同一個(gè)孩子的父母。在一個(gè)基于標(biāo)識(shí)的模型,那兩個(gè)結(jié)構(gòu)是否共享同一個(gè)部分(John,15,)。對(duì)象更新:假設(shè)Peter和Susan確實(shí)是John的父母,在這種情況下,所有對(duì)于Susan孩子的更新操作也會(huì)影響到Peter的孩子。在一個(gè)基于值的系統(tǒng),這兩個(gè)子對(duì)象必須都要更新。對(duì)象標(biāo)識(shí)同時(shí)也是強(qiáng)大的數(shù)據(jù)操縱的基本要素,可以時(shí)集合、元組的基礎(chǔ)和遞歸的復(fù)雜對(duì)象操縱。支持對(duì)象標(biāo)識(shí)意味著提供對(duì)象賦值功能、對(duì)象拷貝(深拷貝和淺拷貝)、對(duì)象標(biāo)識(shí)檢測(cè)和對(duì)象比較等(深相等和淺相等)。當(dāng)然,用戶可以在基于值的系統(tǒng)上,顯式給定對(duì)象標(biāo)識(shí)來模擬。然而,這種方式會(huì)給用戶確

26、保對(duì)象標(biāo)識(shí)的唯一性和參照完整性上增加負(fù)擔(dān),特別是類似于垃圾回收的操作。要注意的是對(duì)象標(biāo)識(shí)在編程語言中是必須的,程序中操縱的每個(gè)對(duì)象都有一個(gè)標(biāo)識(shí)可以被更新。這個(gè)標(biāo)識(shí)有時(shí)是一個(gè)變量名,有時(shí)也是物理內(nèi)存中的一個(gè)地址。但是在純關(guān)系型模型中,是沒有這一概念的,因?yàn)樗且粋€(gè)基于值的模型。1.2. 某個(gè)大學(xué)中有若干系,且每個(gè)系有若干個(gè)班級(jí)和教研室,每個(gè)教研室有若干個(gè)教員,其中教授、副教授,每個(gè)人帶領(lǐng)若干名研究生。每個(gè)班有若干名學(xué)生,每個(gè)學(xué)生可選修若干門課程,每門課程可由若干學(xué)生選修。完成下列各種要求:設(shè)計(jì)一個(gè)概念模式以描述上述情況,畫出E-R圖。要求補(bǔ)充每個(gè)實(shí)體的適當(dāng)屬性Mustcreate將“E-R圖”轉(zhuǎn)

27、換為關(guān)系模式答:系(系號(hào),系名)二Dept(Dno,Dname)班級(jí)(班級(jí)號(hào),班級(jí)名)二Class(Cno,Cname)教研室(教研室號(hào),教研室名,系號(hào))二StaffRoom(SRno,SRname,Dno)學(xué)生(學(xué)生號(hào),學(xué)生名,班級(jí)號(hào))二Student(Sno,Sname,Cno)課程(課程號(hào),課程名)二Course(Cono,Coname)教員(教員號(hào),教員名,職位,工資號(hào),系號(hào))=Teacher(Tno,Tname,Position,WageNo,Dname)選課(課程號(hào),學(xué)號(hào))二SelectCouse(Cono,Sno)/多對(duì)多的關(guān)系必須建立一個(gè)表。班系(班級(jí)號(hào),系號(hào))二ClassDe

28、pt(Cono,Dno)一對(duì)多的關(guān)系可建立也可不建立看情況。選導(dǎo)師(學(xué)號(hào),教員號(hào))二SelectTeacher(Sno,Tno)/對(duì)多的關(guān)系可建立也可不建立看情況。在本題需要建立。(3)使用SQL語言來完成下列查詢(a) 查找計(jì)算機(jī)系的,“學(xué)號(hào)”為981001的學(xué)生選修的課程名稱和課程號(hào)。SELECTCono,ConameFROMCourseWHEREEXIST(SELECT*FROMSelectCouseWHERESno=“981001”)(b) 求沒有帶研究生的所有教授或副教授的名稱、工資號(hào)及所在的系名。SELECTTname,WageNo,DnameFROMTeacherWHERETea

29、cher.Position:professororvice-professorANDNOTEXIST(SELECT*FROMSelectTeacher)(c) 至少有一個(gè)班級(jí)的系的名稱。SELECTDnameFROMDeptWHEREEXSIT(SELECT*FROMClassDept)Student=sno,sname,sex,birth,major,class,dnoGrade=sno,cno,grade其中sno,sname,sex,birth為學(xué)生的“學(xué)號(hào)”,姓名,性別和出生日期,major,class,dno為專業(yè),班級(jí)和所屬的“系號(hào)”。全學(xué)院共有8個(gè)系,dno分別為1,2,8。其中

30、cno為課程號(hào),grade為考試成績(jī)。根據(jù)需要,要求將學(xué)生關(guān)系Student中的sno,class保存在場(chǎng)地0,其他屬性和成績(jī)Grade按“系號(hào)”14,5-6分別保存在場(chǎng)地1和場(chǎng)地2上。根據(jù)上述要求,1.3.1. 將全局模式進(jìn)行分片,寫出分片定義和分片條件。分片定義和分片條件Stu二StudentgGradesno二snoStudentl=nStusno,classTemp二nStusname,sex,birth,major,dnoStudent2二5Temp1<=dno<=4Student3二5Temp5<=dno<=6SiteStudentl(0),Student2

31、(l),Student3(2);1.3.2. 指出各分片的類型,并畫出“分片樹”。Studentl=nStudent是垂直分片sno,class,snameStudent2二5Temp是水平分片1<=dno<=4Student3二5Temp是水平分片5<=dno<=6Stu(sno,sname,sex,birth,major,class,dno,cno,grade)(V)Studentl(sno,class,sname)(0)temp(sname,sex,birth,major,dno,cno,grade)(H)Student2(sname,sex,birth,majo

32、r,dno,cno,grade)(l)Student3(sname,sex,birth,major,dno,cno,grade)(2)1v=dnov=45v=dnov=61.3.3. 假設(shè)要求查詢“系號(hào)”是1的所有學(xué)生的姓名和成績(jī),寫出在全局模式上的SQL查詢語句,并要求轉(zhuǎn)換成相應(yīng)的關(guān)系代數(shù)表示,畫出全局查詢樹,請(qǐng)依次進(jìn)行全局優(yōu)化和分片優(yōu)化,畫出優(yōu)化后的查詢樹。要求給出優(yōu)化變換過程。SELECT*FROMStuWHEREdno=“1”去掉Student3如圖nsname,grade|5dno="1"|sname=snameStudentl(sno,class,sname)S

33、tudent2(sname,sex,birth,major,dno,cno,grade)按C1、C2準(zhǔn)則轉(zhuǎn)換將一元操作下移。nsname,grade|Student1(sno,class,sname)8dno="1"IStudent2(sname,sex,birth,major,dno,cno,grade)1.4.設(shè)數(shù)據(jù)項(xiàng)x,y存放在S1場(chǎng)地,u,v存放在S2場(chǎng)地,有分布式事務(wù)T1和T2,T1在S1場(chǎng)地的操作為R1(x)W1(x)R1(y)W1(y),T2在S1場(chǎng)地的操作為R2(x)R2(y)W2(y);T1在S2場(chǎng)地上的操作作為R1(u)R1(v)W1(u),T2在S2場(chǎng)

34、地上的操作作為W2(u)R2(v)W2(v)。對(duì)下述2種情況,各舉出一種可能的局部歷程(H1和H2),并說明理由。串行調(diào)度數(shù)據(jù)項(xiàng)x,y數(shù)據(jù)項(xiàng)u,vTimeSiteS1SiteS2|T1T2T1T2|R1(x)R1(u)|W1(x)R1(v)|R1(y)W1(u)|W1(y)R2(x)W2(u)|R2(y)R2(v)W2(y)W2(v)Tl<T21.4.1.局部分別是可串行化,而全局是不可串行化的數(shù)據(jù)項(xiàng)u,v數(shù)據(jù)項(xiàng)x,yTimeSiteS1SiteS2|T1T2T1T2|R1(x)W2(u)|W1(x)R1(u)R2(v)|R1(y)R2(x)W2(v)|W1(y)R1(v)|R2(y)W

35、1(u)|!W2(y)T1S1<T2S1T2s2<T1s2Tl、T2的所有子事務(wù)在每個(gè)站點(diǎn)都是可串行執(zhí)行的。但根據(jù)2PL協(xié)議事務(wù)T1在沒有獲得對(duì)v的鎖之前是不會(huì)釋放y的鎖,而T2在沒有獲得y的鎖之前是不會(huì)釋放v的鎖,T1和T2發(fā)生了死鎖,故T1和T2之間在全局上是不可串行化的。1.4.2.局部和全局都是可串行化的。要求按照嚴(yán)格的2PL協(xié)議,加上適當(dāng)?shù)募渔i和解鎖命令,(注意,用rl(x)表示加讀鎖,wl(x)表示加對(duì)x加寫鎖,ul(x)表示解鎖)全局事務(wù)在全局范圍內(nèi)是可串行化的,必須是全局事務(wù)的所有子事務(wù)在每個(gè)局部站點(diǎn)上的可串行性在調(diào)度表中出現(xiàn)的順序必須相同。即TiAvTjA,則對(duì)于

36、所有擁有Ti和Tj代理的站點(diǎn)k都有TikvTjk,數(shù)據(jù)項(xiàng)x,y數(shù)據(jù)項(xiàng)u,vTimeSiteS1SiteS2|T1T2T1T2|rl1(x)rl1(u)|R1(x)RL2(x)R1(u)wl2(u)|wl1(x)waitrl1(v)wait|rl1(y).R1(v).|R1(y).wl1(u).|W1(y)w1(u).|U1(x).u1(u)|U1(y).u1(v)|rl2(x)wl2(u)|R2(x)w2(u)|rl2(y)rl2(v)|R2(y)r2(v)|wl2(y)wl2(v)|W2(y)w2(v)|U2(x)u2(u)|U2(y)u2(v)!1.5.試述面向?qū)ο蟮臄?shù)據(jù)庫(kù)系統(tǒng)中頁面服務(wù)器

37、和對(duì)象服務(wù)器兩種Client/Server體系結(jié)構(gòu)的主要特點(diǎn),基于頁面服務(wù)的體系結(jié)構(gòu)可分為兩種:一種是基于pagetoobject的服務(wù)體系結(jié)構(gòu),這種體系結(jié)構(gòu)的特點(diǎn)是數(shù)據(jù)傳輸單位是頁面,在客戶方緩沖頁面和對(duì)象,其優(yōu)點(diǎn)是服務(wù)器的性能大大的提高了,而且在客戶和服務(wù)器之間數(shù)據(jù)傳輸較少,其缺點(diǎn)方法不能在服務(wù)器上運(yùn)行;另一種體系結(jié)構(gòu)是基于pagetopage服務(wù)器體系結(jié)構(gòu),這種體系結(jié)構(gòu)與前面的體系結(jié)構(gòu)非常相似,差別是客戶方僅緩沖頁面但不緩沖對(duì)象?;趯?duì)象服務(wù)器(OSobjectserver)的0ODBMS體系結(jié)構(gòu)的特點(diǎn)是客戶器與服務(wù)器間的數(shù)據(jù)傳輸單位是對(duì)象,其優(yōu)點(diǎn)是方法在對(duì)象服務(wù)器上運(yùn)行且客戶方和服務(wù)器

38、方均可進(jìn)行查詢處理,但這種體系結(jié)構(gòu)的缺點(diǎn)是數(shù)據(jù)傳輸量可能比較大,而服務(wù)器仍然是一個(gè)系統(tǒng)性能的瓶頸。2. 九九年春季試題2.1. DBMS解決了信息處理技術(shù)中的哪些挑戰(zhàn)?關(guān)系數(shù)據(jù)庫(kù)的基本理論已經(jīng)成熟,但各大公司在關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)的實(shí)現(xiàn)和產(chǎn)品開發(fā)中,都遇到了一系列技術(shù)問題,主要是在數(shù)據(jù)庫(kù)的規(guī)模愈來愈大,數(shù)據(jù)庫(kù)的結(jié)構(gòu)愈來愈復(fù)雜,又有愈來愈多的用戶共享數(shù)據(jù)庫(kù)的情況下,如何保障數(shù)據(jù)的完整性(Integrity)、安全性(Security)、并行性(Concurrency),以及一旦出現(xiàn)故障后,數(shù)據(jù)庫(kù)如何實(shí)現(xiàn)從故障中恢復(fù)(Recovery)。這些問題如果不能圓滿解決,無論哪個(gè)公司的數(shù)據(jù)庫(kù)產(chǎn)

39、品都無法進(jìn)入實(shí)用,最終不能被用戶所接受。正是在解決這些重大的技術(shù)問題,促使了DBMS發(fā)展和成熟。目前,DBMS解決上述問題的主要技術(shù)手段和方法如下:把對(duì)數(shù)據(jù)庫(kù)的操作劃分為稱作"事務(wù)"(transaction)的原子單位,對(duì)1個(gè)事務(wù)內(nèi)的操作,實(shí)行"allornot的方針,即要么全做,要么全不做。用戶在對(duì)數(shù)據(jù)庫(kù)發(fā)出操作請(qǐng)求時(shí),系統(tǒng)對(duì)有關(guān)的不同程度的數(shù)據(jù)元素(字段、記錄或文件)"加鎖"(locking);操作完成后再解鎖"(unlocking)。對(duì)數(shù)據(jù)庫(kù)的任何更新分兩階段提交(2PL)。建立系統(tǒng)運(yùn)行日志(log),以便在出錯(cuò)時(shí)與數(shù)據(jù)庫(kù)的備份

40、(backup)起將數(shù)據(jù)庫(kù)恢復(fù)到出錯(cuò)前的正常狀態(tài)。上述及其他各種方法可總稱為"事務(wù)處理技術(shù)"(transactionprocessingtechnique)o事務(wù)處理技術(shù)雖然誕生于數(shù)據(jù)庫(kù)研究,但對(duì)于分布式系統(tǒng),client/server結(jié)構(gòu)中的數(shù)據(jù)管理與通信,對(duì)于容錯(cuò)和高可靠性系統(tǒng),同樣具有重要的意義。2.2. 在關(guān)系數(shù)據(jù)庫(kù)應(yīng)用設(shè)計(jì)中,為什么要對(duì)數(shù)據(jù)庫(kù)模式進(jìn)行規(guī)范化?關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)是對(duì)數(shù)據(jù)進(jìn)行組織化和結(jié)構(gòu)化的過程,核心問題是關(guān)系模型的設(shè)計(jì)。關(guān)系模型是數(shù)學(xué)化的、用二維表格數(shù)據(jù)描述各實(shí)體之間的聯(lián)系的這么一種模型;它是所有的關(guān)系模式、屬性名和關(guān)鍵字的匯集,是關(guān)系模式描述的對(duì)象。

41、簡(jiǎn)單的說關(guān)系模式是指一個(gè)關(guān)系的屬性名表,即“二維表”的“表框架”。關(guān)系模式的設(shè)計(jì)是關(guān)系模型設(shè)計(jì)的靈魂。所以,關(guān)系模式的設(shè)計(jì)是關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)核心的核心。關(guān)系模式的設(shè)計(jì)直接決定著關(guān)系數(shù)據(jù)庫(kù)的性能。目前,在指導(dǎo)關(guān)系模式的設(shè)計(jì)中規(guī)范化(normalization)設(shè)計(jì)占有主導(dǎo)地位,它是在數(shù)據(jù)庫(kù)幾十年的長(zhǎng)期發(fā)展中產(chǎn)生并成熟的。但近年來這一領(lǐng)域出現(xiàn)了一種新的趨勢(shì),一種稱為“非規(guī)范化”(denormalization)的關(guān)系模式設(shè)計(jì)引起業(yè)界的關(guān)注并已在一定的范圍內(nèi)得到應(yīng)用。對(duì)這一新的設(shè)計(jì)思想,各方反應(yīng)迥然不同褒貶不一,從而在相關(guān)的理論界掀起了一場(chǎng)不大不小的規(guī)范化與非規(guī)范化之爭(zhēng)。本文簡(jiǎn)單介紹了規(guī)范化與非規(guī)范化

42、設(shè)計(jì)的基本思想,綜述了正反雙方爭(zhēng)論的要點(diǎn),供參考。一、規(guī)范化設(shè)計(jì)關(guān)系模式規(guī)范化設(shè)計(jì)的基本思想是通過對(duì)關(guān)系模式進(jìn)行分解,用一組等價(jià)的關(guān)系子模式來代替原有的關(guān)系模式,消除數(shù)據(jù)依賴(包括函數(shù)依賴和多值依賴)中不合理的部分,使得一個(gè)關(guān)系僅描述一個(gè)實(shí)體或者實(shí)體間的一種聯(lián)系。這一過程必須在保證無損連接性、保持函數(shù)依賴性的前提下進(jìn)行,即確保不破壞原有數(shù)據(jù)的前提下,并可將分解后的關(guān)系通過自然聯(lián)接恢復(fù)到原有的關(guān)系。具體地說,規(guī)范化設(shè)計(jì)的過程就是按不同的范式,將一個(gè)二維表不斷地分解成多個(gè)二維表并建立表之間的關(guān)聯(lián),最終達(dá)到一個(gè)表唯一描述一個(gè)實(shí)體或者實(shí)體間的一種聯(lián)系的目標(biāo)。目前遵循的主要范式包括INF、2NF、3NF

43、、BCNF、4NF和5NF等幾種;在工程中3NF、BCNF應(yīng)用得最廣泛,推薦采用3NF作為標(biāo)準(zhǔn)。規(guī)范化設(shè)計(jì)的優(yōu)點(diǎn)包括可有效地消除數(shù)據(jù)冗余,理順數(shù)據(jù)的從屬關(guān)系,保持?jǐn)?shù)據(jù)庫(kù)的完整性,增強(qiáng)數(shù)據(jù)庫(kù)的穩(wěn)定性、伸縮性、適應(yīng)性。通常認(rèn)為規(guī)范化設(shè)計(jì)存在的主要問題是增加了查詢時(shí)的連接“庫(kù)表”的運(yùn)算,導(dǎo)致計(jì)算機(jī)時(shí)間、空間、系統(tǒng)及運(yùn)行效率的損失。在大多數(shù)情況下,這一問題可通過良好的索引設(shè)計(jì)等方法得到解決。二、非規(guī)范化設(shè)計(jì)非規(guī)范化設(shè)計(jì)的基本思想是,現(xiàn)實(shí)世界并不總是依從于某一完美的數(shù)學(xué)化的關(guān)系模式。強(qiáng)制性地對(duì)事物進(jìn)行規(guī)范化設(shè)計(jì),形式上顯得簡(jiǎn)單化,內(nèi)容上趨于復(fù)雜化,更重要的是導(dǎo)致數(shù)據(jù)庫(kù)運(yùn)行效率的減低。非規(guī)范化要求適當(dāng)?shù)亟?/p>

44、低甚至拋棄關(guān)系模式的范式,不再要求一個(gè)表唯一描述一個(gè)實(shí)體或者實(shí)體間的一種聯(lián)系。其主要目的在于提高數(shù)據(jù)庫(kù)的運(yùn)行效率。非規(guī)范化處理的主要技術(shù)包括增加冗余或派生列,對(duì)表進(jìn)行合并、分割或增加重復(fù)表。一般認(rèn)為,在下列情況下可以考慮進(jìn)行非規(guī)范化處理:(1)大量頻繁的查詢過程所涉及的表,都需要進(jìn)行連接的時(shí)候;(2)主要的應(yīng)用程序在執(zhí)行時(shí)要將表連接起來進(jìn)行查詢的情況下;(3)對(duì)數(shù)據(jù)的計(jì)算需要臨時(shí)表或進(jìn)行復(fù)雜的查詢時(shí)。非規(guī)范化設(shè)計(jì)的主要優(yōu)點(diǎn)是減少了查詢操作所需的連接;減少了外部鍵和索引的數(shù)量;可以預(yù)先進(jìn)行統(tǒng)計(jì)計(jì)算,提高了查詢時(shí)的響應(yīng)速度。非規(guī)范化存在的主要問題是增加了數(shù)據(jù)冗余;影響數(shù)據(jù)庫(kù)的完整性;降低了數(shù)據(jù)更新

45、的速度;增加了存儲(chǔ)表所占用的物理空間。其中最重要的是數(shù)據(jù)庫(kù)的完整性問題。這一問題一般可通過建立觸發(fā)器、應(yīng)用事務(wù)邏輯、在適當(dāng)?shù)臅r(shí)間間隔運(yùn)行批命令或存儲(chǔ)過程等方法得到解決。三、規(guī)范化與非規(guī)范化爭(zhēng)論的要點(diǎn)支持非規(guī)范化設(shè)計(jì)的一方認(rèn)為,數(shù)據(jù)庫(kù)規(guī)范化的程度越高,其中表的數(shù)量越多,規(guī)范化的程度與表的數(shù)量直接相關(guān);表的數(shù)量越多,表的連接運(yùn)算也越多;連接運(yùn)算增多,必然降低數(shù)據(jù)庫(kù)執(zhí)行的速度,影響數(shù)據(jù)庫(kù)的性能。只有通過非規(guī)范化設(shè)計(jì),顯著減少表的數(shù)量,從而減少對(duì)連接運(yùn)算的依賴,加速數(shù)據(jù)庫(kù)執(zhí)行的速度,才能保證數(shù)據(jù)庫(kù)性能的正常發(fā)揮。例如目前流行于決策支持系統(tǒng)的非規(guī)范化星型模式就遠(yuǎn)勝于應(yīng)用規(guī)范化設(shè)計(jì),是非規(guī)范化設(shè)計(jì)的最好范

46、例。非規(guī)范化設(shè)計(jì)并不意味著混亂和無視規(guī)則,它也遵循保護(hù)信息完整性等軟件工程的基本原則。支持規(guī)范化設(shè)計(jì)的一方認(rèn)為,規(guī)范化與非規(guī)范化只是一個(gè)邏輯概念,強(qiáng)調(diào)非規(guī)范化設(shè)計(jì)者混淆了邏輯與物理的關(guān)系。數(shù)據(jù)庫(kù)的性能是由物理水平?jīng)Q定的,即硬件、數(shù)據(jù)庫(kù)的大小和物理設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)和訪問的方法、數(shù)據(jù)庫(kù)管理系統(tǒng)的優(yōu)化程度、并發(fā)訪問的數(shù)量等;非規(guī)范化設(shè)計(jì)并未改變數(shù)據(jù)庫(kù)的物理水平,因此不可能提高數(shù)據(jù)庫(kù)的性能。規(guī)范化并不只是為了避免數(shù)據(jù)冗余,更重要的是為了確保數(shù)據(jù)庫(kù)的完整性。非規(guī)范化設(shè)計(jì)的最大問題是難以保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致性,存在著破壞數(shù)據(jù)的危險(xiǎn)。此外,非規(guī)范化使一個(gè)表中存在多個(gè)實(shí)體,不同實(shí)體混合在一起強(qiáng)化了數(shù)據(jù)庫(kù)的復(fù)雜

47、性,提高了用戶理解的難度,并導(dǎo)致描述問題上的困難,增加了正確響應(yīng)的風(fēng)險(xiǎn)。只有規(guī)范化設(shè)計(jì)才是解決這些問題的根本途徑。如果不摒棄非規(guī)范化設(shè)計(jì)理念,為了獲得所謂的性能的提高而漠視數(shù)據(jù)庫(kù)完整性被破壞的風(fēng)險(xiǎn),就無法激勵(lì)“開發(fā)商”去研究真正的完全規(guī)范化而高性能的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),其后果必然影響數(shù)據(jù)庫(kù)的健康發(fā)展。從某種意義上說,數(shù)據(jù)庫(kù)的規(guī)范化與非規(guī)范化設(shè)計(jì)并不是對(duì)立的、非此即彼的關(guān)系。也許其中一方會(huì)逐漸消亡,也許二者存在一條中間道路可走。認(rèn)識(shí)事物原本存在一個(gè)螺旋式上升的過程。這場(chǎng)爭(zhēng)論尚未結(jié)束,也無法對(duì)最終的結(jié)果進(jìn)行預(yù)測(cè)。但可以肯定的是,無論結(jié)果如何,都將對(duì)未來數(shù)據(jù)庫(kù)的發(fā)展方向產(chǎn)生深遠(yuǎn)的影響。2.3. 簡(jiǎn)述

48、ACID特性。事務(wù)具有四個(gè)特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持續(xù)性(Durability)。這個(gè)四個(gè)特性也簡(jiǎn)稱為ACID特性。原子性(Atomicity):事務(wù)是數(shù)據(jù)庫(kù)的邏輯工作單位,事務(wù)中包括的諸操作要么都做,要么都不做一致性(Consistency):事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。因此,當(dāng)數(shù)據(jù)庫(kù)只包含事務(wù)成功提交的結(jié)果時(shí),就說數(shù)據(jù)庫(kù)處于一致性狀態(tài)之中。如果數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行中發(fā)生故障,有些事務(wù)尚未完成就被迫中斷了,系統(tǒng)就將此事務(wù)中對(duì)數(shù)據(jù)庫(kù)的所有已經(jīng)完成的操作全部撤消,滾回到事務(wù)開始時(shí)的一致狀態(tài)

49、。隔離性(Isolation):一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾,即一個(gè)事務(wù)的內(nèi)部操作及其使用的數(shù)據(jù)對(duì)于其他并發(fā)事務(wù)來說是隔離的。并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾。持續(xù)性(Durability):持續(xù)性也稱永久性(Permanence),指一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來的其他操作或故障不應(yīng)該對(duì)其執(zhí)行結(jié)果有任何影響。事務(wù)是恢復(fù)和并發(fā)控制的基本單位。保證事務(wù)ACID特性是事務(wù)處理的重要任務(wù)。事務(wù)ACID特性可能遭到破壞的因素有:1. 多個(gè)事務(wù)并行運(yùn)行時(shí),不同事務(wù)的操作交叉執(zhí)行。2. 事務(wù)在運(yùn)行過程中被強(qiáng)行停止。在第一種情況下,數(shù)據(jù)庫(kù)管理系統(tǒng)必須保證多個(gè)事務(wù)的交叉

50、運(yùn)行不影響這些事務(wù)的原子性。在第二種情況下,數(shù)據(jù)庫(kù)管理系統(tǒng)必須保證被強(qiáng)行終止的事務(wù)對(duì)數(shù)據(jù)庫(kù)和其它事務(wù)沒有任何影響。這些就是數(shù)據(jù)庫(kù)管理系統(tǒng)中恢復(fù)機(jī)制和并發(fā)控制機(jī)制的責(zé)任。2.4. 長(zhǎng)事務(wù)處理有哪些特性,如何解決?通常DBMS中采用鎖定-修改-釋放的策略以實(shí)現(xiàn)其對(duì)多用戶并發(fā)操作數(shù)據(jù)庫(kù)的控制。但這種策略不很適合用于處理地理數(shù)據(jù)的DBMS。對(duì)地理數(shù)據(jù)的編輯工作,可以幾分鐘做完,也可能要拖上幾個(gè)月。這種情形即是所謂長(zhǎng)事務(wù)處理。ArcSDE8對(duì)長(zhǎng)事務(wù)處理提供了底層的支持。當(dāng)ArcSDE服務(wù)器的一個(gè)實(shí)例(instance)第一次啟動(dòng)時(shí),就建立了數(shù)據(jù)庫(kù)缺省的狀態(tài)和版本。用戶可在此基礎(chǔ)上建立公共的或私有的數(shù)據(jù)版

51、本。用戶各自在自己的數(shù)據(jù)版本上工作,因而無須對(duì)多個(gè)用戶同時(shí)訪問的數(shù)據(jù)對(duì)象進(jìn)行鎖定。每個(gè)用戶都是在直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作(編輯、修改),但是ArcSDE為其建立了記錄所有修改痕跡的增量記錄,即版本。用戶在這個(gè)數(shù)據(jù)版本進(jìn)行編輯修改時(shí),并不用關(guān)心其他用戶是不是也在對(duì)同一數(shù)據(jù)進(jìn)行操作。只有當(dāng)用戶完成了他的(長(zhǎng))事務(wù)處理工作時(shí),系統(tǒng)才將其當(dāng)時(shí)的數(shù)據(jù)版本合并到原來的數(shù)據(jù)版本中去,沖突也是在此時(shí)再加以處理。系統(tǒng)為用戶提供了解決沖突的三種選擇:維持原狀、否決自己的修改或否決別人的修改。長(zhǎng)事務(wù)(longtransaction)的應(yīng)急之策事務(wù)(transaction)是一個(gè)不可分的工作單位,一個(gè)事務(wù)中包含的操作要么

52、全部執(zhí)行,要么全部不執(zhí)行.如果數(shù)據(jù)庫(kù)中只包含成功事務(wù)提交的結(jié)果,則數(shù)據(jù)庫(kù)的狀態(tài)稱為一致狀態(tài).為了保證數(shù)據(jù)庫(kù)一致狀態(tài),Informix-online采取如下機(jī)制:對(duì)于帶日志的數(shù)據(jù)庫(kù)(loggeddatabase),在事務(wù)運(yùn)行過程中,系統(tǒng)將每個(gè)更新操作都記錄到日志文件中,并且包含事務(wù)開始標(biāo)記、事務(wù)結(jié)束標(biāo)記或“事務(wù)回滾”標(biāo)記。如果該事務(wù)在運(yùn)行過程中出現(xiàn)故障,那么恢復(fù)子系統(tǒng)將對(duì)該事務(wù)做撤銷處理(undo)。具體做法就是反向閱讀日志文件,對(duì)該事務(wù)的每一個(gè)更新操作做反操作。注意,“事務(wù)回滾”作為事務(wù)一部分也要向邏輯日志寫紀(jì)錄。當(dāng)一個(gè)事務(wù)很大時(shí),有可能在其運(yùn)行過程中橫跨所有的日志文件。此時(shí)所有的邏輯日志文件

53、都包含該活動(dòng)事務(wù),包含活動(dòng)事務(wù)的邏輯日志文件是不能被釋放的。如果此事務(wù)還沒有結(jié)束,或者因?yàn)槌鲥e(cuò)需要“回滾”,那么就需要繼續(xù)寫邏輯日志而此時(shí)沒有空閑的日志空間可被利用,就會(huì)造成了系統(tǒng)癱瘓。Informix管理系統(tǒng)為了避免此類情況發(fā)生定義了一個(gè)參數(shù)LTXHWM,一般情況下,設(shè)置它的值為50,即一個(gè)事務(wù)橫跨的邏輯日志達(dá)到整個(gè)邏輯日志模塊的50%就被定義為長(zhǎng)事務(wù).系統(tǒng)將強(qiáng)制其“回滾”(rollback).由于存儲(chǔ)空間的有限性,業(yè)務(wù)的快速增長(zhǎng),升級(jí)步伐沒有跟上,我們銀行業(yè)務(wù)中長(zhǎng)事務(wù)偶爾會(huì)在關(guān)鍵時(shí)出現(xiàn),如年終結(jié)轉(zhuǎn)、季度結(jié)息、刪除大數(shù)據(jù)表、卸數(shù)重新裝載數(shù)據(jù)庫(kù)等操作。解決這類問題最根本的辦法就是增加邏輯日志空

54、間。但有時(shí)事出突然,臨時(shí)不能解決,又不能影響正常營(yíng)業(yè),必須當(dāng)時(shí)解決問題。權(quán)益之計(jì)可以取消數(shù)據(jù)庫(kù)的帶日志狀態(tài),改為nologged此狀態(tài)下事務(wù)的更新操作不再往邏輯日志文件中寫,給我們帶來的風(fēng)險(xiǎn)是:事務(wù)運(yùn)行過程中出現(xiàn)故障時(shí),恢復(fù)子系統(tǒng)就不能“回滾"(rollback)該事務(wù),數(shù)據(jù)庫(kù)就被置于不一致狀態(tài)。但只要按照一定的步驟來處理。就能把風(fēng)險(xiǎn)降到最低或者沒有風(fēng)險(xiǎn)。2.5. 數(shù)據(jù)庫(kù)系統(tǒng)體系結(jié)構(gòu)有哪幾類,每種類型的特點(diǎn)是什么,關(guān)鍵技術(shù)有哪些?數(shù)據(jù)庫(kù)系統(tǒng)分為:集中式數(shù)據(jù)庫(kù)系統(tǒng)、客戶/服務(wù)器數(shù)據(jù)庫(kù)系統(tǒng)、并行數(shù)據(jù)庫(kù)系統(tǒng)、分布式數(shù)據(jù)庫(kù)系統(tǒng)、集中式數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn):將物理數(shù)據(jù)集中存放在主機(jī)上,由主機(jī)上的數(shù)

55、據(jù)庫(kù)管理系統(tǒng)統(tǒng)一管理整個(gè)數(shù)據(jù)庫(kù),用戶可從終端上發(fā)出數(shù)據(jù)操作命令,經(jīng)主機(jī)上的數(shù)據(jù)庫(kù)管理系統(tǒng)接收處理后,再將所需數(shù)據(jù)送回終端。集中式數(shù)據(jù)庫(kù)系統(tǒng)技術(shù)已成熟,數(shù)據(jù)共享能力、恢復(fù)能力較強(qiáng),但所有數(shù)據(jù)庫(kù)的操作均由主機(jī)管理,主機(jī)負(fù)荷較大,一旦主機(jī)故障,則導(dǎo)致系統(tǒng)全部癱瘓。分布式數(shù)據(jù)庫(kù)系統(tǒng)使各部門經(jīng)常要用的數(shù)據(jù)能夠就近存放,從而分散了工作負(fù)荷,可靠性較高,局部發(fā)生故障不至于引起整個(gè)系統(tǒng)癱瘓。分布式數(shù)據(jù)庫(kù)系統(tǒng)它在地理位置上是分布在一個(gè)含有多個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò)中,這些數(shù)據(jù)庫(kù)管理系統(tǒng)構(gòu)成分布式數(shù)據(jù)庫(kù)管理系統(tǒng),在分布式數(shù)據(jù)庫(kù)管理系統(tǒng)中,每個(gè)用戶所使用的數(shù)據(jù)可以不存儲(chǔ)在自己使用的計(jì)算機(jī)上,而是由分布式數(shù)據(jù)庫(kù)管

56、理系統(tǒng)在機(jī)器之間通過網(wǎng)絡(luò)從其它機(jī)器上傳輸過來??蛻?服務(wù)器數(shù)據(jù)庫(kù)系統(tǒng)將數(shù)據(jù)處理任務(wù)分為兩個(gè)系統(tǒng),客戶機(jī)運(yùn)行數(shù)據(jù)庫(kù)應(yīng)用,數(shù)據(jù)庫(kù)服務(wù)器運(yùn)行實(shí)際的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。并行數(shù)據(jù)庫(kù)系統(tǒng)是指利用多處理器平臺(tái)的能力,同時(shí)運(yùn)行多個(gè)事務(wù)處理,具有支持分布式操作、多線程處理、聯(lián)機(jī)事務(wù)處理和決策處理等能力,從而提高數(shù)據(jù)庫(kù)系統(tǒng)的響應(yīng)時(shí)間和事務(wù)吞吐量。 并行數(shù)據(jù)庫(kù)的體系結(jié)構(gòu):并行數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)有3種;共享內(nèi)存、共享磁盤和無共享資源結(jié)構(gòu)。 并行處理技術(shù):并行數(shù)據(jù)庫(kù)系統(tǒng)通常采用多進(jìn)程多線索結(jié)構(gòu),提供以下4種不同粒度的并行性:不同用戶事務(wù)間的并行性;同一事務(wù)內(nèi)不同查詢間的并行性;同一查詢內(nèi)不同操作間的并行性;同一操作內(nèi)的并行性。 線程和進(jìn)程:在一個(gè)事務(wù)處理中,每個(gè)用戶的連接都能由操作系統(tǒng)進(jìn)程或線程由操作系統(tǒng)生成的工作單元分別完成。由于線程使用很少的內(nèi)存和CPU資源,因此線程的效率比“進(jìn)程”的效率高。2.6. 決策支持類應(yīng)用與OLTP應(yīng)用對(duì)于數(shù)據(jù)庫(kù)系統(tǒng)的要求有哪些不同,支持前者的關(guān)鍵

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論