分布式數(shù)據(jù)庫歷年真題以及答案_第1頁
分布式數(shù)據(jù)庫歷年真題以及答案_第2頁
分布式數(shù)據(jù)庫歷年真題以及答案_第3頁
分布式數(shù)據(jù)庫歷年真題以及答案_第4頁
分布式數(shù)據(jù)庫歷年真題以及答案_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余53頁可下載查看

下載本文檔

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

文檔簡介

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

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

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

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

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

6、分片優(yōu)化,畫出優(yōu)化后的分片查詢樹。223.3.對3個(gè)關(guān)系R,S和T的分布式連接,已知有如下的剖視圖:253.3.1.按照SDD-伴連接優(yōu)化算法,逐步求出半連接優(yōu)化集和最終執(zhí)行場地;.253.3.2.對以上結(jié)果做相應(yīng)的優(yōu)化處理。303.4.用下面的關(guān)鍵字值的集合構(gòu)造一顆B+W:(2,3,5,7,11,17,19,23,29,31)。假定樹開始是空的,且關(guān)鍵字的值是以升序插入到B刑中去的,B網(wǎng)每個(gè)節(jié)點(diǎn)中含的指針數(shù)為4。313.5.考慮關(guān)系r1(A,B,C),r2(C,D,E),r(E,F),假設(shè)不存在主關(guān)鍵字。設(shè)V(C,r1)=900,313.6.假設(shè)一個(gè)存儲塊中僅能存放一個(gè)記錄且在內(nèi)存中最多只有

7、三個(gè)頁框。請出在排序合并算法中每遍形成的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)。314 .二零年春季試題314.1. 314.1.1.分布庫管理系統(tǒng)有哪些主要功能模塊及其作用314.1.2.半連接方法和枚舉法各適用于何種查詢優(yōu)化情況324.1.3.分布式事務(wù)有哪些基本性質(zhì)324.1.4.什么是2PL議324.2.下面是某個(gè)公司的人事關(guān)系數(shù)據(jù)庫的全局模

8、式:334.2.1.將全局模式進(jìn)行分片,寫出分片定義和分片條件。334.2.2.指出分片的類型,并畫出分片樹。344.3.對題4,2所確定的分片模式,要求查詢級別高于“6”的所有職員的姓名和工資,寫出的在全局模式上的SQ查詢語句,并要求轉(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ù)庫系統(tǒng)出現(xiàn)故障是,日志文件中記錄的信息;364.4.1.找出發(fā)生故障時(shí)系統(tǒng)中的活動事務(wù),確定出反做和重做事務(wù)集。364.4.2.用C其他語言定義出數(shù)據(jù)庫記錄(N己錄)和檢查點(diǎn)記錄(

9、K記錄)的數(shù)據(jù)結(jié)構(gòu)。364.5.設(shè)數(shù)據(jù)項(xiàng)x,y存放在S1場地,u,v存放在S2W地,有分布式事務(wù)T1和T2,T1在S1場地的操作為R1(x)W1(x)R1(y)W1(y),T2在S1場地的操作為R2(x)R2(y)W2(y);T1在S2地上的操作作為R1(u)R1(v)W1(u),T2在S2地上的操作作為W2(u)R2(v)W2(v)。對下述2種情況,各舉一種可能的局部歷程(H1ftH2),并說明理由364.5.1.局部分別是可串行化,而全局是不可用行化的364.5.2.局部和全局都是可用行化的。374.5.3.要求按照嚴(yán)格的2PL議,加上適當(dāng)?shù)募渔i和解鎖命令,(注意,用rl(x)表示加讀鎖,

10、wl(x)表示加對x加寫鎖,ul(x)表示解鎖)375 .二零年秋試題375.1.概念題375.1.1.解釋對象數(shù)據(jù)庫系統(tǒng)中面向?qū)ο蟮南嚓P(guān)概念375.1.2.從概念上比較對象數(shù)據(jù)庫模型與對象關(guān)系模型385.1.3.利用左深樹、右深樹、濃密樹來進(jìn)行查詢優(yōu)化的各自特點(diǎn)385.1.4.試解釋影響并行數(shù)據(jù)庫系統(tǒng)中并行算法性能的三個(gè)因數(shù)395.1.5.簡述用爬山算法進(jìn)行查詢優(yōu)化的基本思想395.2.下面是某個(gè)公司一個(gè)人事關(guān)系數(shù)據(jù)庫的全局模式:EMP=ENO*,ENAME,POSITION,PHONEPAY=POSITION*,SALARYENCfc職員號,POSITIONS崗位。SALARY示崗位對應(yīng)的

11、工資,*對應(yīng)的屬性表示主關(guān)鍵字。該公司分布在兩個(gè)場地上,其中,在場地1經(jīng)常處理所有職員數(shù)據(jù),而場地2只處理工資低于1000的職員數(shù)據(jù),為了節(jié)省磁盤空間和增大處理局部性:405.2.1.將以上全局關(guān)系進(jìn)行分片設(shè)計(jì),寫出分片定義和分片條件。405.2.2.指出分片的類型,并畫出分片樹。405.2.3.給出分配設(shè)計(jì)。405.3.對題二所確定的分片模式,要求查詢崗位為“salesman”的所有職員的姓名和工資,寫出的在全局模式上的SQR詢語句,并要求轉(zhuǎn)換成相應(yīng)的關(guān)系代數(shù)表示,畫出全局查詢樹。假設(shè)“salesman”的工資為800元。要求給出中間轉(zhuǎn)換過程。415.3.1.進(jìn)行全局優(yōu)化,畫出優(yōu)化后的全局查

12、詢樹。415.3.2.進(jìn)行分片優(yōu)化,畫出優(yōu)化后的分片查詢樹。415.4.按如下給出的條件,求出半連接優(yōu)化計(jì)劃和執(zhí)行場地,并作后優(yōu)化處理.425.5.下面是當(dāng)一個(gè)數(shù)據(jù)庫系統(tǒng)出現(xiàn)故障時(shí),日志文件中的信息475.5.1.畫出對應(yīng)的事務(wù)并發(fā)執(zhí)行圖。485.5.2.找出發(fā)生故障時(shí)系統(tǒng)中的活動事務(wù),確定出反做和重做事務(wù)集。485.5.3.指出需要undo的和redo的數(shù)據(jù)記錄。495.6.設(shè)數(shù)據(jù)項(xiàng)x,y存放在S1場地,u,v存放在S2地,有分布式事務(wù)T1和T2。T1在S1場地的操作為R1(x)W1(x)R1(y)W1(y),T2在S1場地的操作為R2(x)R2(y)W2(y);T1在S2W地上的操作作為R

13、1(u)R1(v)W1(u),T2在S2W地上的操作作為W2(u)R2(v)W2(v)。對下述2種情況,各舉一種可能的局部歷程(H1ffiH2),如果是可用行化的,指出事務(wù)的執(zhí)行次序。對第3種情況,給出符合基本2PL議的調(diào)度。(T1加鎖命令用L1(X)表示,開鎖命令U1(X)表示。對任何數(shù)據(jù)的加鎖可在事務(wù)開始后立即進(jìn)行)。495.6.1.局部是不可用行化的。495.6.2.局部是可用行化的,而全局是不可用行化的。495.6.3.局部是可用行化的,全局也是可用行化的。505.7.設(shè)計(jì)一種滿足下列要求的索引結(jié)構(gòu)。515.7.1.被索引的數(shù)據(jù)集合為有序集515.7.2.在有序集上的查詢操作都是基于位

14、置來進(jìn)行的515.7.3.當(dāng)往有序集中插入或刪除一個(gè)元素時(shí),與該元素相關(guān)的后續(xù)元素的位置均要發(fā)生變化515.7.4.元素的類型可為任意類型(這一個(gè)小問題的解決需要考慮語言的特征).516 .二零一春季試題516.1.516.1.1.討論集中式數(shù)據(jù)庫和分布式數(shù)據(jù)庫各自的優(yōu)缺點(diǎn)。516.1.2.討論在局域網(wǎng)和廣域網(wǎng)兩種情況下分布庫設(shè)計(jì)的區(qū)別。516.1.3.解釋分片透明性、復(fù)制透明性和位置透明性等三級透明性的區(qū)別。.516.1.4.解釋2Po議如何在故障情況下彳證事務(wù)的原子性的526.1.5.解釋嚴(yán)格2PL議與基本2PL議的區(qū)別536.2.下面是某個(gè)公司一個(gè)人事關(guān)系數(shù)據(jù)庫的全局模式:EMP=ENO

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

16、成相應(yīng)的關(guān)系代數(shù)表示,畫出全局查詢樹。假設(shè)“salesman”的工資為1500元。要求給出中間轉(zhuǎn)換過程。546.3.1.進(jìn)行全局優(yōu)化,畫出優(yōu)化后的全局查詢樹546.3.2.進(jìn)行分片優(yōu)化,畫出優(yōu)化后的分片查詢樹。556.4.下面是當(dāng)一個(gè)數(shù)據(jù)庫系統(tǒng)出現(xiàn)故障時(shí),日志文件中的信息566.4.1.畫出對應(yīng)的事務(wù)并發(fā)執(zhí)行圖。566.4.2.找出發(fā)生故障時(shí)系統(tǒng)中的活動事務(wù),確定出反做和重做事務(wù)集。576.4.3.指出需要undo的和redo的數(shù)據(jù)記錄。576.5.設(shè)數(shù)據(jù)項(xiàng)x,y存放在S1場地,u,v存放在S2W地, 有分布式事務(wù)T1和T2,T1在S1場地的操作為R1(x)W1(x)R1(y)W1(y),T2

17、在S1場地的操作為R2(x)R2(y)W2(y);T1在S2地上的操作作為R1(u)R1(v)W1(u),T2在S2地上的操作作為W2(u)R2(v)W2(v)。對下述2種情況,各舉一種可能的局部歷程(H1ffiH2),如果是可用行化的,指出事務(wù)的執(zhí)行次序。對第3種情況,給出符合基本2PL議的調(diào)度。(T1加鎖命令用L1(X)表示,開鎖命令U1(X)表示。對任何數(shù)據(jù)的加鎖可在事務(wù)開始后立即進(jìn)行)。576.5.1.局部是不可用行化的。586.5.2.局部是可用行化的,而全局是不可用行化的。586.5.3.局部是可用行化的,全局也是可用行化的。585.%2.%3.5.%2.%3.九八年秋季試題5.概

18、念題5.1.比較半聯(lián)接方法和枚舉法的優(yōu)缺點(diǎn)。半聯(lián)接技術(shù)縮減了連接操作的操作數(shù),以降低通信費(fèi)用。枚舉法適用于縮減局部代價(jià)的情況。評估查詢操作的代價(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)簡單,枚舉法是基于直接連接的實(shí)現(xiàn)方法,此時(shí)應(yīng)采用枚舉法。半連接優(yōu)點(diǎn):傳輸代價(jià)低。半連接缺點(diǎn):沒有考慮局部代價(jià);當(dāng)“選擇度”交低時(shí),半連接技術(shù)才可行。5.1.2PL協(xié)議的基本思想。2PL協(xié)議的基本思想。并發(fā)控制是分布式事務(wù)管理的基本任務(wù)之一。 其

19、目的是保證分布式數(shù)據(jù)庫系統(tǒng)中多個(gè)事務(wù)的高效正確的執(zhí)行。有兩種模型來實(shí)現(xiàn):其中之一是以“鎖”方式為基礎(chǔ)的形式模型,一種是以時(shí)間印方式為基礎(chǔ)的時(shí)間模型。鎖方式的基本思想是:事務(wù)對任何數(shù)據(jù)的操作必須先申請數(shù)據(jù)項(xiàng)的鎖,只有申請到了鎖之后,即加鎖成功以后,才可以對數(shù)據(jù)項(xiàng)進(jìn)行操作。操作完成了以后,要釋放已經(jīng)申請的鎖。通過鎖的共享和排斥的特性,實(shí)現(xiàn)事務(wù)的可用行化調(diào)度?!版i”又可分為“讀鎖”和“寫鎖”:“讀鎖”是對數(shù)據(jù)項(xiàng)進(jìn)行讀操作時(shí)要加的鎖。由于讀操作是可共享操作,所以“讀鎖”也稱為共享鎖?!皩戞i”是對數(shù)據(jù)進(jìn)行寫入操作時(shí)要加入的鎖。寫操作是不可共享的鎖,因此也叫“排它鎖”。2PL(兩階段鎖)協(xié)議是并發(fā)控制算法

20、中的重要算法。其主要內(nèi)容是并發(fā)執(zhí)行的多個(gè)事務(wù)、在對數(shù)據(jù)進(jìn)行操作以前要進(jìn)行加鎖、 并且每個(gè)事務(wù)中的所有加鎖操作都得在第一個(gè)解鎖操作以前執(zhí)行。因此,每個(gè)事務(wù)中的加鎖操作和解鎖操作分布在兩個(gè)部分中,所以此協(xié)議稱為2PL議。在分布式數(shù)據(jù)庫系統(tǒng)中, 如果全部的分布式事務(wù)均以2PL議加鎖, 則系統(tǒng)中各個(gè)場地上的局部調(diào)度是可用行化的。因?yàn)閷γ總€(gè)局部場地而言,其上執(zhí)行的操作只是全局操作的一部分,而全局操作采用2PL議加鎖,顯然局部操作也遵循2PL議。5.1.WAL協(xié)議的主要思想。系統(tǒng)的故障恢復(fù)是以日志文件為基礎(chǔ)完成的,因此,要求事務(wù)在執(zhí)行過程中大足先寫日志協(xié)議(WAL)(Write_aheadlogginWr

21、ite_aheadloggin 。當(dāng)系統(tǒng)發(fā)生故障時(shí),可有效地采用重做(redo)和反做(undo)兩個(gè)基本恢復(fù)操作進(jìn)行恢復(fù)。先寫日志協(xié)議(WAL)含義:(1)在外存數(shù)據(jù)庫被更新之前,應(yīng)將日志文件中的反做信息寫入外存文件;(2)事務(wù)提交之前,日志文件中的有關(guān)重做信息應(yīng)在外存數(shù)據(jù)庫更新之前寫入外存文件。5.1.SSPARC.SSPARC 三級模式體系結(jié)構(gòu)。ANSI/SPARCW出將數(shù)據(jù)庫系統(tǒng)分為三種層次一、從數(shù)據(jù)庫管理系統(tǒng)的角度看,可分為三層,從外到內(nèi)依次為外模式、模式和內(nèi)模式。1、外模式:外模式又稱為用戶模式:是數(shù)據(jù)庫用戶和數(shù)據(jù)庫系統(tǒng)的接口,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖(View),是數(shù)據(jù)庫用戶可以看

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

23、式與描述物理結(jié)構(gòu)的內(nèi)模式聯(lián)系起來。2.1.1.設(shè)計(jì) OIDOID 的數(shù)據(jù)結(jié)構(gòu)時(shí)應(yīng)考慮哪些問題。OID對象標(biāo)識對象標(biāo)識在編程語言中已經(jīng)存在很長時(shí)間了,在數(shù)據(jù)庫概念中還是剛剛被提及(1989)。他的概念如下:在一個(gè)擁有對象標(biāo)識的模型中,一個(gè)對象的存在并不依賴于他的值。對象標(biāo)識不應(yīng)該依賴于它所代表的對象的值。而“對象相等”的概念反映了對象標(biāo)識與對象的值之間的關(guān)系。有兩種對象相等的意見存在,一種是兩個(gè)對象是同一個(gè),即是一個(gè)對象那么它的對象標(biāo)識就是同一個(gè)對象標(biāo)識。還有一種是指兩個(gè)對象相等,指他們的值相等而對象標(biāo)識不等。這有兩個(gè)含義,一個(gè)是對象共享,還有一個(gè)是對象更新。對象共享:在一個(gè)基于標(biāo)識的模型中,兩

24、個(gè)對象可以共享一個(gè)部件。這樣,復(fù)雜對象的圖形化表示是一個(gè)圖,而在一個(gè)沒有標(biāo)識的模型中,限制成一個(gè)樹??紤]下面的例子:一個(gè)人有姓名、一個(gè)年齡、一個(gè)孩子的集合。假設(shè)Pete和Susar有一個(gè)15歲的孩子,叫john。在實(shí)際生活中,會有兩種情況,一是Peter和Susani同一個(gè)孩子的父母,或者是有二個(gè)孩子,在沒有標(biāo)識的模型中,Peter表示成:(Peter,40,(John,15,)Susanife示成(Susan,41,(John,15,)這樣,沒有方法表示是否Peter和Susank同一個(gè)孩子的父母。在一個(gè)基于標(biāo)識的模型,那兩個(gè)結(jié)構(gòu)是否共享同一個(gè)部分(John,15,)。對象更新:假設(shè)Pete

25、和SusarS實(shí)是John的父母,在這種情況下,所有對于Susan子的更新操作也會影響到Pete的孩子。在一個(gè)基于值的系統(tǒng),這兩個(gè)子對象必須都要更新。對象標(biāo)識同時(shí)也是強(qiáng)大的數(shù)據(jù)操縱的基本要素,可以時(shí)集合、元組的基礎(chǔ)和遞歸的復(fù)雜對象操縱。支持對象標(biāo)識意味著提供對象賦值功能、對象拷貝(深拷貝和淺拷貝)、對象標(biāo)識檢測和對象比較等(深相等和淺相等)。當(dāng)然,用戶可以在基于值的系統(tǒng)上,顯式給定對象標(biāo)識來模擬。然而,這種方式會給用戶確保對象標(biāo)識的唯一性和參照完整性上增加負(fù)擔(dān),特別是類似于垃圾回收的操作。要注意的是對象標(biāo)識在編程語言中是必須的,程序中操縱的每個(gè)對象都有一個(gè)標(biāo)識可以被更新。這個(gè)標(biāo)識有時(shí)是一個(gè)變量

26、名,有時(shí)也是物理內(nèi)存中的一個(gè)地址。但是在純關(guān)系型模型中,是沒有這一概念的,因?yàn)樗且粋€(gè)基于值的模型。1某個(gè)大學(xué)中有若干系,且每個(gè)系有若干個(gè)班級和教研室,每個(gè)教研室有若干個(gè)教員,其中教授、副教授,每個(gè)人帶領(lǐng)若干名研究生。每個(gè)班有若干名學(xué)生,每個(gè)學(xué)生可選修若干門課程,每門課程可由若干學(xué)生選修。完成下列各種要求:(1)設(shè)計(jì)一個(gè)概念模式以描述上述情況,畫出E-R圖。要求補(bǔ)充每個(gè)實(shí)體的適當(dāng)屬性(2)將“E-R圖”轉(zhuǎn)換為關(guān)系模式答:系(系號, 系名)=Dept(Dno,Dname)班級(班級號, 班級名)=Class(Cno,Cname)教研室(教研室號,教研室名,系號)=StaffRoom(SRno,S

27、Rname,Dno)學(xué)生(學(xué)生號,學(xué)生名,班級號)=Student(Sno,Sname,Cno)課程(課程號,課程名)=Course(Cono,Coname)教員(教員號,教員名,職位,工資號,系號)=Teacher(Tno,Tname,Position,WageNo,Dname)選課(課程號,學(xué)號)=SelectCouse(Cono,Sno)多對多的關(guān)系必須建立一個(gè)表。班系(班級號,系號)=ClassDept(Cono,Dno)/一對多的關(guān)系可建立也可不建立看選導(dǎo)師(學(xué)號,教員號)=SelectTeacher(Sno,Tno)/一對多的關(guān)系可建立也可不建立看情況。在本題需要建立。(3)使用S

28、QL語言來完成下列查詢(a)查找計(jì)算機(jī)系的,“學(xué)號”為981001的學(xué)生選修的課程名稱和課程號。SELECTCono,ConameFROMCourseWHEREEXIST(SELECT*FROMSelectCouseWHERESno=981001”(b)求沒有帶研究生的所有教授或副教授的名稱、工資號及所在的系名。SELECTTname,WageNo,DnameFROMTeacherWHERETeacher.Position:professororvice-professorANDNOTEXIST(SELECT*FROMSelectTeacher)(c)至少有一個(gè)班級的系的名稱。SELECTDn

29、ameFROMDeptWHEREEXSIT(SELECT*FROMClassDept)1下面是某學(xué)院的一個(gè)學(xué)生檔案數(shù)據(jù)庫的全局模式:Student=sno,sname,sex,birth,major,class,dnoGrade=sno,cno,grade其中sno,sname,sex,birth內(nèi)學(xué)生的“學(xué)號”,姓名,性別和出生日期,major,class,dno為專業(yè),班級和所屬的“系號”。全學(xué)院共有8個(gè)系,dno分別J為1,2,8。其中cno為課程號,grade為考試成績。根據(jù)需要,要求將學(xué)生關(guān)系Student的sno,class保存在場地0,其他屬性和成績Grade“系號”14,56分

30、別保存在場地1和場地2上。根據(jù)上述要求,1.2.將全局模式進(jìn)行分片,寫出分片定義和分片條件。分片定義和分片條件Stu=Student二Gradesno=snoStudent1=n$的冊StuTemp=Isname,sex,birth,major,dnoStuStudent2=1:noTempStudent3=、50nofTempSiteStudent1(0),Student2(1),Student3(2);1.32指出各分片的類型,并畫出“分片樹”。Student1=nsno,class,snameStudent是垂直分片Stu(sno,sname,sex,birth,major,class,

31、dno,cno,grade)(V)Student2=、Student3=、1i.zdno:,T45:.=:dno:.:z6Temp1水平分片Temp1水平分片Student1(sno,class,sname)(0)temp(sname,sex,birth,major,dno,cno,grade)(H)Student1(sno,class,sname)Student2(sname,sex,birth,major,dno,cno,grade)Student2(sname,sex,birth,major,dno,cno,grade)(1)Student3(sname,sex,birth,major,

32、dno,cno,grade)(2)1=dno=45=dno=61.3.3.假設(shè)要求查詢“系號”是1的所有學(xué)生的姓名和成績,寫出在全局模式上的SQL查詢語句,并要求轉(zhuǎn)換成相應(yīng)的關(guān)系代數(shù)表示,畫出全局查詢樹,請依次進(jìn)行全局優(yōu)化和分片優(yōu)化,畫出優(yōu)化后的查詢樹。要求給出優(yōu)化變換過程。SELECTFROMWHEREStudno=去掉Student改口圖Student1“sname,grade|6dno=1按C1、C邠則轉(zhuǎn)換將一元操作下移。Student2(sname,sex,birth,major,dno,cno,grade)5.1 設(shè)數(shù)據(jù)項(xiàng)x,y存放在S1場地,u,v存放在S2場地,有分布式事務(wù)T1和

33、T2,T1在S1場地的操作為R1(x)W1(x)R1(y)W1(y),T2在S1場地的操作為R2(x)R2(y)W2(y);T1在S2場地上的操作作為R1(u)R1(v)W1(u),T2在S2場地上的操作作為W2(u)R2(v)W2(v)。對下述2種情況,各舉出一種可能的局部歷程(H1和H2),并說明理由。申行調(diào)度數(shù)據(jù)項(xiàng)x,yTimeSiteS1|T1T2|R1(x)|W1(x)|R1(y)|W1(y)|R2(x)|R2(y)W2(y)T1T25.1.4局部分別是可串行化,而全局是不可用行化的數(shù)據(jù)項(xiàng)x,yTimeSiteS1|T1T2|R1(x)|W1(x)|R1(y)R2(x)|W1(y)|

34、R2(y)|W2(y)T1S1T2S1Student1(sno,class,sname)6dno,1I數(shù)據(jù)項(xiàng)u,vSiteS2T1T2R1(u)R1(v)W1(u)W2(u)R2(v)W2(v)數(shù)據(jù)項(xiàng)u,vSiteS2T1T2W2(u)R1(u)R2(v)W2(v)R1(v)W1(u)T2s2T1nsname,gradeIT1、T2的所有子事務(wù)在每個(gè)站點(diǎn)都是可串行執(zhí)行的。但根據(jù)2PL協(xié)議事務(wù)T1在沒有獲得對v的鎖之前是不會釋放y的鎖,而T2在沒有獲得y的鎖之前是不會釋放v的鎖,T1和T2發(fā)生了死鎖,故T1和T2之間在全局上是不可串行化的。5.5.1.局部和全局都是可用行化的。要求按照嚴(yán)格的2P

35、L協(xié)議,加上適當(dāng)?shù)募渔i和解鎖命令,(注意,用rl(x)表示加讀鎖,wl(x)表示加對x加寫鎖,ul(x)表示解鎖)全局事務(wù)在全局范圍內(nèi)是可用行化的,必須是全局事務(wù)的所有子事務(wù)在每個(gè)局部站點(diǎn)上1.5.試述面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)中頁面服務(wù)器和對象服務(wù)器兩種Client/Server體系結(jié)構(gòu)的主要特點(diǎn),基于頁面服務(wù)的體系結(jié)構(gòu)可分為兩種:一種是基于pagetoobject的服務(wù)體系結(jié)構(gòu),這種體系結(jié)構(gòu)的特點(diǎn)是數(shù)據(jù)傳輸單位是頁面,在客戶方緩沖頁面和對象,具優(yōu)點(diǎn)是服務(wù)器的性能大大的提高了,而且在客戶和服務(wù)器之間數(shù)據(jù)傳輸較少,其缺點(diǎn)方法不能在服務(wù)器上運(yùn)行; 另一種體系結(jié)構(gòu)是基于pagetopage服務(wù)器體系結(jié)構(gòu)

36、, 這種體系結(jié)構(gòu)與前面的體系結(jié)構(gòu)非常相似,差別是客戶方僅緩沖頁面但不緩沖對象?;趯ο蠓?wù)器(OSobjectserver)白OODBMS體系結(jié)構(gòu)的特點(diǎn)是客戶器與服務(wù)器問的數(shù)據(jù)傳輸單位是對象,其優(yōu)點(diǎn)是方法在對象服務(wù)器上運(yùn)行且客戶方和服務(wù)器方均可進(jìn)行查詢處理,但這種體系結(jié)構(gòu)的缺點(diǎn)是數(shù)據(jù)傳輸量可能比較大,而服務(wù)器仍然是一個(gè)系統(tǒng)性能的瓶頸。.九九年春季試題DBMS解決了信息處理技術(shù)中的哪些挑戰(zhàn)?關(guān)系數(shù)據(jù)庫的基本理論已經(jīng)成熟,但各大公司在關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS的實(shí)現(xiàn)和產(chǎn)品開發(fā)中,都遇到了一系列技術(shù)問題,主要是在數(shù)據(jù)庫的規(guī)模愈來愈大,數(shù)據(jù)庫的結(jié)構(gòu)愈來愈復(fù)雜,又有的可用行性在調(diào)度表中出現(xiàn)的順序必須

37、相同站點(diǎn)k都有TikTjk,數(shù)據(jù)項(xiàng)x,yTimeSiteS1T1T2rl1(x)R1(x)RL2(x)wl1(x)waitrl1(y).R1(y).W1(y)U1(x).U1(y).rl2(x)R2(x)rl2(y)R2(y)wl2(y)W2(y)U2(x)U2(y)即TiATjA,則對于所有擁有Ti和Tj代理的數(shù)據(jù)項(xiàng)u,vSiteS2T1T2rl1(u)R1(u)wl2(u)rl1(v)waitR1(v).wl1(u).w1(u).u1(u)u1(v)wl2(u)w2(u)rl2(v)r2(v)wl2(v)w2(v)u2(u)u2(v)愈來愈多的用戶共享數(shù)據(jù)庫的情況下,如何保障數(shù)據(jù)的完整性(

38、Integrity)、安全性(SecuAty)、并行性(Concurrency),以及一旦出現(xiàn)故障后,數(shù)據(jù)庫如何實(shí)現(xiàn)從故障中恢復(fù)(Recovery)。這些問題如果不能圓滿解決,無論哪個(gè)公司的數(shù)據(jù)庫產(chǎn)品都無法進(jìn)入實(shí)用,最終不能被用戶所接受。正是在解決這些重大的技術(shù)問題,促使了DBMSg展和成熟。目前,DBMS單決上述問題的主要技術(shù)手段和方法如下:把對數(shù)據(jù)庫的操作劃分為稱作事務(wù)(transaction)的原子單位,對1個(gè)事務(wù)內(nèi)的操作,實(shí)行allornot的方針,即要么全做, 要么全不做。 用戶在對數(shù)據(jù)庫發(fā)出操作請求時(shí), 系統(tǒng)對有關(guān)的不同程度的數(shù)據(jù)元素(字段、記錄或文件)加鎖”(locking);操

39、作完成后再解鎖”(unlocking)。對數(shù)據(jù)庫的任何更新分兩階段提交(2PL)o建立系統(tǒng)運(yùn)行日志(log),以便在出錯(cuò)時(shí)與數(shù)據(jù)庫的備份(backup)一起將數(shù)據(jù)庫恢復(fù)到出錯(cuò)前的正常狀態(tài)。上述及其他各種方法可總稱為事務(wù)處理技術(shù)(transactionprocessingtechnique)。事務(wù)處理技術(shù)雖然誕生于數(shù)據(jù)庫研究,但對于分布式系統(tǒng),client/server結(jié)構(gòu)中的數(shù)據(jù)管理與通信,對于容錯(cuò)和高可靠性系統(tǒng),同樣具有重要的意義。在關(guān)系數(shù)據(jù)庫應(yīng)用設(shè)計(jì)中,為什么要對數(shù)據(jù)庫模式進(jìn)行規(guī)范化?關(guān)系數(shù)據(jù)庫的設(shè)計(jì)是對數(shù)據(jù)進(jìn)行組織化和結(jié)構(gòu)化的過程,核心問題是關(guān)系模型的設(shè)計(jì)。關(guān)系模型是數(shù)學(xué)化的、用二維表格

40、數(shù)據(jù)描述各實(shí)體之間的聯(lián)系的這么一種模型;它是所有的關(guān)系模式、 屬性名和關(guān)鍵字的匯集, 是關(guān)系模式描述的對象。 簡單的說關(guān)系模式是指一個(gè)關(guān)系的屬性名表,即“二維表”的“表框架”。關(guān)系模式的設(shè)計(jì)是關(guān)系模型設(shè)計(jì)的靈魂。所以,關(guān)系模式的設(shè)計(jì)是關(guān)系數(shù)據(jù)庫設(shè)計(jì)核心的核心。關(guān)系模式的設(shè)計(jì)直接決定著關(guān)系數(shù)據(jù)庫的性能。目前,在指導(dǎo)關(guān)系模式的設(shè)計(jì)中規(guī)范化(normalization)設(shè)計(jì)占有主導(dǎo)地位, 它是在數(shù)據(jù)庫幾十年的長期發(fā)展中產(chǎn)生并成熟的。 但近年來這一領(lǐng)域出現(xiàn)了一種新的趨勢,一種稱為“非規(guī)范化”(denormalization)的關(guān)系模式設(shè)計(jì)引起業(yè)界的關(guān)注并已在一定的范圍內(nèi)得到應(yīng)用。對這一新的設(shè)計(jì)思想,各

41、方反應(yīng)迥然不同褒貶不一,從而在相關(guān)的理論界掀起了一場不大不小的規(guī)范化與非規(guī)范化之爭。本文簡單介紹了規(guī)范化與非規(guī)范化設(shè)計(jì)的基本思想,綜述了正反雙方爭論的要點(diǎn),供參考。一、規(guī)范化設(shè)計(jì)關(guān)系模式規(guī)范化設(shè)計(jì)的基本思想是通過對關(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è)二維表并建

42、立表之間的關(guān)聯(lián),最終達(dá)到一個(gè)表唯一描述一個(gè)實(shí)體或者實(shí)體間的一種聯(lián)系的目標(biāo)。目前遵循的主要范式包括1NF、2NF、3NF、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ù)庫的完整性,增強(qiáng)數(shù)據(jù)庫的穩(wěn)定性、伸縮性、適應(yīng)性。通常認(rèn)為規(guī)范化設(shè)計(jì)存在的主要問題是增加了查詢時(shí)的連接“庫表”的運(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)制

43、性地對事物進(jìn)行規(guī)范化設(shè)計(jì),形式上顯得簡單化,內(nèi)容上趨于復(fù)雜化,更重要的是導(dǎo)致數(shù)據(jù)庫運(yùn)行效率的減低。非規(guī)范化要求適當(dāng)?shù)亟档蜕踔翏仐夑P(guān)系模式的范式,不再要求一個(gè)表唯一描述一個(gè)實(shí)體或者實(shí)體間的一種聯(lián)系。其主要目的在于提高數(shù)據(jù)庫的運(yùn)行效率。非規(guī)范化處理的主要技術(shù)包括增加冗余或派生列,對表進(jìn)行合并、分割或增加重復(fù)表。一般認(rèn)為,在下列情況下可以考慮進(jìn)行非規(guī)范化處理:(1)大量頻繁的查詢過程所涉及的表,都需要進(jìn)行連接的時(shí)候;(2)主要的應(yīng)用程序在執(zhí)行時(shí)要將表連接起來進(jìn)行查詢的情況下;(3)對數(shù)據(jù)的計(jì)算需要臨時(shí)表或進(jìn)行復(fù)雜的查詢時(shí)。非規(guī)范化設(shè)計(jì)的主要優(yōu)點(diǎn)是減少了查詢操作所需的連接;減少了外部鍵和索引的數(shù)量;

44、可以預(yù)先進(jìn)行統(tǒng)計(jì)計(jì)算, 提高了查詢時(shí)的響應(yīng)速度。 非規(guī)范化存在的主要問題是增加了數(shù)據(jù)冗余;影響數(shù)據(jù)庫的完整性;降低了數(shù)據(jù)更新的速度;增加了存儲表所占用的物理空間。其中最重要的是數(shù)據(jù)庫的完整性問題。這一問題一般可通過建立觸發(fā)器、應(yīng)用事務(wù)邏輯、在適當(dāng)?shù)臅r(shí)間問隔運(yùn)行批命令或存儲過程等方法得到解決。三、規(guī)范化與非規(guī)范化爭論的要點(diǎn)支持非規(guī)范化設(shè)計(jì)的一方認(rèn)為,數(shù)據(jù)庫規(guī)范化的程度越高,其中表的數(shù)量越多,規(guī)范化的程度與表的數(shù)量直接相關(guān);表的數(shù)量越多,表的連接運(yùn)算也越多;連接運(yùn)算增多,必然降低數(shù)據(jù)庫執(zhí)行的速度,影響數(shù)據(jù)庫的性能。只有通過非規(guī)范化設(shè)計(jì),顯著減少表的數(shù)量,從而減少對連接運(yùn)算的依賴,加速數(shù)據(jù)庫執(zhí)行的速

45、度,才能保證數(shù)據(jù)庫性能的正常發(fā)揮。例如目前流行于決策支持系統(tǒng)的非規(guī)范化星型模式就遠(yuǎn)勝于應(yīng)用規(guī)范化設(shè)計(jì),是非規(guī)范化設(shè)計(jì)的最好范例。非規(guī)范化設(shè)計(jì)并不意味著混亂和無視規(guī)則,它也遵循保護(hù)信息完整性等軟件工程的基本原則。支持規(guī)范化設(shè)計(jì)的一方認(rèn)為,規(guī)范化與非規(guī)范化只是一個(gè)邏輯概念,強(qiáng)調(diào)非規(guī)范化設(shè)計(jì)者混淆了邏輯與物理的關(guān)系。數(shù)據(jù)庫的性能是由物理水平?jīng)Q定的,即硬件、數(shù)據(jù)庫的大小和物理設(shè)計(jì)、數(shù)據(jù)存儲和訪問的方法、數(shù)據(jù)庫管理系統(tǒng)的優(yōu)化程度、并發(fā)訪問的數(shù)量等;非規(guī)范化設(shè)計(jì)并未改變數(shù)據(jù)庫的物理水平,因此不可能提高數(shù)據(jù)庫的性能。規(guī)范化并不只是為了避免數(shù)據(jù)冗余,更重要的是為了確保數(shù)據(jù)庫的完整性。非規(guī)范化設(shè)計(jì)的最大問題是難

46、以保證數(shù)據(jù)庫中數(shù)據(jù)的一致性,存在著破壞數(shù)據(jù)的危險(xiǎn)。止匕外,非規(guī)范化使一個(gè)表中存在多個(gè)實(shí)體,不同實(shí)體混合在一起強(qiáng)化了數(shù)據(jù)庫的復(fù)雜性,提高了用戶理解的難度,并導(dǎo)致描述問題上的困難,增加了正確響應(yīng)的風(fēng)險(xiǎn)。只有規(guī)范化設(shè)計(jì)才是解決這些問題的根本途徑。如果不摒棄非規(guī)范化設(shè)計(jì)理念,為了獲得所謂的性能的提高而漠視數(shù)據(jù)庫完整性被破壞的風(fēng)險(xiǎn),就無法激勵“開發(fā)商”去研究真正的完全規(guī)范化而高性能的關(guān)系數(shù)據(jù)庫管理系統(tǒng),其后果必然影響數(shù)據(jù)庫的健康發(fā)展。從某種意義上說,數(shù)據(jù)庫的規(guī)范化與非規(guī)范化設(shè)計(jì)并不是對立的、非此即彼的關(guān)系。也許其中一方會逐漸消亡,也許二者存在一條中間道路可走。認(rèn)識事物原本存在一個(gè)螺旋式上升的過程。這場爭

47、論尚未結(jié)束,也無法對最終的結(jié)果進(jìn)行預(yù)測。但可以肯定的是,無論結(jié)果如何,都將對未來數(shù)據(jù)庫的發(fā)展方向產(chǎn)生深遠(yuǎn)的影響。簡述ACID特性。事務(wù)具有四個(gè)特性:原子性(Atomidty)、一致性(Consistency)、隔離性(Isolation)和持續(xù)性(Durability)0這個(gè)四個(gè)特性也簡稱為ACID特性。原子性(Atomicity):事務(wù)是數(shù)據(jù)庫的邏輯工作單位,事務(wù)中包括的諸操作要么都做,要么都不做一致性(Consistency:事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。因此,當(dāng)數(shù)據(jù)庫只包含事務(wù)成功提交的結(jié)果時(shí),就說數(shù)據(jù)庫處于一致性狀態(tài)之中。如果數(shù)據(jù)庫系統(tǒng)運(yùn)行中發(fā)生故障

48、,有些事務(wù)尚未完成就被迫中斷了,系統(tǒng)就將此事務(wù)中對數(shù)據(jù)庫的所有已經(jīng)完成的操作全部撤消,滾回到事務(wù)開始時(shí)的一致狀隔離性(Isolation):一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾,即一個(gè)事務(wù)的內(nèi)部操作及其使用的數(shù)據(jù)對于其他并發(fā)事務(wù)來說是隔離的。并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干持續(xù)性(Durability):持續(xù)性也稱永久性(Permanence,指一個(gè)事務(wù)一旦提交, 它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來的其他操作或故障不應(yīng)該對其執(zhí)行結(jié)果有任何影響。事務(wù)是恢復(fù)和并發(fā)控制的基本單位。保證事務(wù)ACID特性是事務(wù)處理的重要任務(wù)。事務(wù)ACIM性可能遭到破壞的因素有:.多個(gè)事務(wù)并行運(yùn)行時(shí),不同事務(wù)的操

49、作交叉執(zhí)行。.事務(wù)在運(yùn)行過程中被強(qiáng)行停止。在第一種情況下,數(shù)據(jù)庫管理系統(tǒng)必須保證多個(gè)事務(wù)的交叉運(yùn)行不影響這些事務(wù)的原子性。在第二種情況下,數(shù)據(jù)庫管理系統(tǒng)必須保證被強(qiáng)行終止的事務(wù)對數(shù)據(jù)庫和其它事務(wù)沒有任何影響。這些就是數(shù)據(jù)庫管理系統(tǒng)中恢復(fù)機(jī)制和并發(fā)控制機(jī)制的責(zé)任。長事務(wù)處理有哪些特性,如何解決?通常DBMS采用鎖定-修改-釋放的策略以實(shí)現(xiàn)其對多用戶并發(fā)操作數(shù)據(jù)庫的控制。但這種策略不很適合用于處理地理數(shù)據(jù)的DBMS對地理數(shù)據(jù)的編輯工作, 可以幾分鐘做完, 也可能要拖上幾個(gè)月。這種情形即是所謂“長事務(wù)處理”。ArcSDE8對長事務(wù)處理提供了底層的支持。當(dāng)ArcSD由艮務(wù)器的一個(gè)實(shí)例(instance

50、)第一次啟動時(shí),就建立了數(shù)據(jù)庫缺省的狀態(tài)和版本。用戶可在此基礎(chǔ)上建立公共的或私有的數(shù)據(jù)版本。用戶各自在自己的數(shù)據(jù)版本上工作,因而無須對多個(gè)用戶同時(shí)訪問的數(shù)據(jù)對象進(jìn)行鎖定。每個(gè)用戶都是在直接對數(shù)據(jù)庫進(jìn)行操作(編輯、修改),但是ArcSD時(shí)其建立了記錄所有修改痕跡”的增量記錄,即版本。用戶在這個(gè)數(shù)據(jù)版本進(jìn)行編輯修改時(shí),并不用關(guān)心其他用戶是不是也在對同一數(shù)據(jù)進(jìn)行操作。只有當(dāng)用戶完成了他的(長)事務(wù)處理工作時(shí),系統(tǒng)才將其當(dāng)時(shí)的數(shù)據(jù)版本“合并”到原來的數(shù)據(jù)版本中去,“沖突”也是在此時(shí)再加以處理。系統(tǒng)為用戶提供了解決沖突的三種選擇:維持原狀、否決自己的修改或否決別人的修改。長事務(wù)(longtransact

51、ion)的應(yīng)急之策事務(wù)(transaction)是一個(gè)不可分的工作單位,一個(gè)事務(wù)中包含的操作要么全部執(zhí)行,要么全部不執(zhí)行.如果數(shù)據(jù)庫中只包含成功事務(wù)提交的結(jié)果,則數(shù)據(jù)庫的狀態(tài)稱為一致狀態(tài)”.為了保證數(shù)據(jù)庫一致狀態(tài),Informix-online采取如下機(jī)制:對于帶日志的數(shù)據(jù)庫(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)將對該事務(wù)做撤銷處理(undo)。 具體做法就是反向閱讀日志文件, 對該事務(wù)的每一個(gè)更新操作做反操作。注意,“事務(wù)回滾”作為事

52、務(wù)一部分也要向邏輯日志寫紀(jì)錄。當(dāng)一個(gè)事務(wù)很大時(shí),有可能在其運(yùn)行過程中橫跨所有的日志文件。此時(shí)所有的邏輯日志文件都包含該活動事務(wù),包含活動事務(wù)的邏輯日志文件是不能被釋放的。如果此事務(wù)還沒有結(jié)束,或者因?yàn)槌鲥e(cuò)需要“回滾”,那么就需要繼續(xù)寫邏輯日志而此時(shí)沒有空閑的日志空間可被利用,就會造成了系統(tǒng)癱瘓。Informix管理系統(tǒng)為了避免此類情況發(fā)生定義了一個(gè)參數(shù)LTXHWM,般情況下, 設(shè)置它的值為50,即一個(gè)事務(wù)橫跨的邏輯日志達(dá)到整個(gè)邏輯日志模塊的50摩被定義為長事務(wù).系統(tǒng)將強(qiáng)制其“回滾”(rollback).由于存儲空間的有限性,業(yè)務(wù)的快速增長一升級步伐沒有跟上,我們銀行業(yè)務(wù)中長事務(wù)偶爾會在關(guān)鍵時(shí)出

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

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

55、在分布式數(shù)據(jù)庫管理系統(tǒng)中,每個(gè)用戶所使用的數(shù)據(jù)可以不存儲在自己使用的計(jì)算機(jī)上,而是由分布式數(shù)據(jù)庫管理系統(tǒng)在機(jī)器之間通過網(wǎng)絡(luò)從其它機(jī)器上傳輸過來??蛻?服務(wù)器數(shù)據(jù)庫系統(tǒng)將數(shù)據(jù)處理任務(wù)分為兩個(gè)系統(tǒng),客戶機(jī)運(yùn)行數(shù)據(jù)庫應(yīng)用,數(shù)據(jù)庫服務(wù)器運(yùn)行實(shí)際的數(shù)據(jù)庫管理系統(tǒng)(DBMS)o并行數(shù)據(jù)庫系統(tǒng)是指利用多處理器平臺的能力,同時(shí)運(yùn)行多個(gè)事務(wù)處理,具有支持分布式操作、多線程處理、聯(lián)機(jī)事務(wù)處理和決策處理等能力,從而提高數(shù)據(jù)庫系統(tǒng)的響應(yīng)時(shí)間和事務(wù)吞吐量。并行數(shù)據(jù)庫的體系結(jié)構(gòu):并行數(shù)據(jù)庫的體系結(jié)構(gòu)有3種;共享內(nèi)存、共享磁盤和無共享資源結(jié)構(gòu)。并行處理技術(shù):并行數(shù)據(jù)庫系統(tǒng)通常采用多進(jìn)程多線索結(jié)構(gòu),提供以下4種不同粒度的并行

56、性:不同用戶事務(wù)間的并行性;同一事務(wù)內(nèi)不同查詢問的并行性;同一查詢內(nèi)不同操作間的并行性;同一操作內(nèi)的并行性。線程和進(jìn)程:在一個(gè)事務(wù)處理中,每個(gè)用戶的連接都能由操作系統(tǒng)進(jìn)程或線程由操作系統(tǒng)生成的工作單元分別完成。由于線程使用很少的內(nèi)存和CPU資源,因此線程的效率比“進(jìn)程”的效率高。決策支持類應(yīng)用與OLTP用對于數(shù)據(jù)庫系統(tǒng)的要求有哪些不同,支持前者的關(guān)鍵技術(shù)有哪些,并簡述之OLTP:On-LineTransactionProcessing在線事務(wù)處理。DSSDecisionSupportSystem決策支持系統(tǒng)。DS思在管理信息系統(tǒng)(MIS)基礎(chǔ)上發(fā)展起來的。MIS是利用數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)各級管理者的

57、管理業(yè)務(wù),在計(jì)算機(jī)上進(jìn)行各種事務(wù)處理工作。DSSW是要為各級管理者提供輔助決策的能力。決策支持系統(tǒng)主要是以模型庫系統(tǒng)為主體,通過定量分析進(jìn)行輔助決策。其模型庫中的模型已經(jīng)由“數(shù)學(xué)模型”擴(kuò)大到數(shù)據(jù)處理模型、圖形模型等多種形式,可以概括為廣義模型。決策支持系統(tǒng)的本質(zhì)是將多個(gè)廣義模型有機(jī)組合起來,對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行處理而形成決策問題大模型。決策支持系統(tǒng)的輔助決策能力從運(yùn)籌學(xué)、管理科學(xué)的單模型輔助決策發(fā)展到多模型綜合決策,使輔助決策能力上了一個(gè)新臺階。注:(數(shù)據(jù)操彳語言 DML,即 DatamanipulationLanguage)聯(lián)機(jī)分析處理(OLAP)的概念最早是由關(guān)系數(shù)據(jù)庫之父E.F.Codd

58、于199孫提出的, 他同時(shí)提出了關(guān)于OLA的12條準(zhǔn)則。OLAP勺提出引起了很大的反響,OLA祚為一類產(chǎn)品同聯(lián)機(jī)事務(wù)處理(OLTP)明顯區(qū)分開來當(dāng)今的數(shù)據(jù)處理大致可以分成兩大類:聯(lián)機(jī)事務(wù)處理OLTP(on-linetransactionprocessing)、聯(lián)機(jī)分析處理OLAP(On-LineAnalyticalProcessing)。OLTP!傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的主要應(yīng)用,主要是基本的、日常的事務(wù)處理,例如銀行交易。OLAP1數(shù)據(jù)倉庫系統(tǒng)的主要應(yīng)用,支持復(fù)雜的分析操作,側(cè)重決策支持,并且提供直觀易懂的查詢結(jié)果。下表列出了OLTPfOLA之問的比較。OLTPOLAP用戶操作人員,低層管理人員

59、決策人員,高級管理人員OLTP數(shù)據(jù)庫DSS數(shù)據(jù)庫OLTP=onlinetransactionprocessing聯(lián)機(jī)事物處理例如:飛機(jī)訂票,網(wǎng)上交易,BBS等大量的在線用戶和DML操作大量基于索引的查詢用B-tree,reversekey索引,定期索引重建需要較多的小的“回退段”不要用分布式查詢數(shù)據(jù)對象的存儲參數(shù)pctfree20或者更高共享程序代碼和各種變量常量啟動多線索服務(wù)使用較大的日志文件listener開多個(gè)響應(yīng)端口DSS=datawarehousing數(shù)據(jù)倉庫例如:各種資源資料查詢系統(tǒng)很少的DML操作大量的全表掃描的查詢用bitmap索引需要較少的大的“回退段”用分布式查詢數(shù)據(jù)對象的

60、存儲參數(shù)pctfree0字符變量和線索使用大的數(shù)據(jù)塊,db_file_mutiblock_read_count使用較小的日志文件增力口sortareasize功能日常操作處理分析決策設(shè)面向應(yīng)用面向主題數(shù)據(jù)當(dāng)前的,最新的細(xì)節(jié)的,二維的分立的歷史的,聚集的,多維的集成的,天的|存取讀/寫數(shù)十條記錄讀上白刃條記錄工作單位簡單的事務(wù)復(fù)雜的查詢用戶數(shù)上千個(gè)上百個(gè)DB大100MB-GB100GB-TBI1面向?qū)ο蟮臄?shù)據(jù)庫是如何產(chǎn)生的,具基本原理是什么?有哪些創(chuàng)新特性?面向?qū)ο蟮臄?shù)據(jù)庫OODB面向?qū)ο蠓椒ㄅc數(shù)據(jù)庫技術(shù)的結(jié)合領(lǐng)域。OODB需要具備傳統(tǒng)數(shù)據(jù)庫的必備功能,也需要具有面向?qū)ο蠓椒ǖ幕咎卣?。例如:?/p>

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論