2016年數(shù)據(jù)庫系統(tǒng)概論(簡答)_第1頁
2016年數(shù)據(jù)庫系統(tǒng)概論(簡答)_第2頁
2016年數(shù)據(jù)庫系統(tǒng)概論(簡答)_第3頁
2016年數(shù)據(jù)庫系統(tǒng)概論(簡答)_第4頁
2016年數(shù)據(jù)庫系統(tǒng)概論(簡答)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第1章緒論1.試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。答:(1)數(shù)據(jù):描述事物的符號記錄稱為數(shù)據(jù)。數(shù)據(jù)的種類有數(shù)字、文字、圖形、圖像、聲音、正文等。數(shù)據(jù)與其語義是不可分的。(2)數(shù)據(jù)庫:數(shù)據(jù)庫是長期儲(chǔ)存在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。(3)數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成,一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員構(gòu)成。(4)數(shù)據(jù)庫管理系統(tǒng)(簡稱DBMs):數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)

2、管理軟件,用于科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)。DBMS的主要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫的運(yùn)行管理功能、數(shù)據(jù)庫的建立和維護(hù)功能。2,使用數(shù)據(jù)庫系統(tǒng)有什么好處?答:使用數(shù)據(jù)庫系統(tǒng)的好處是由特點(diǎn)或優(yōu)點(diǎn)決定的??梢源蟠筇岣邞?yīng)用開發(fā)的效率,方便用戶的使用,減輕數(shù)據(jù)庫系統(tǒng)管理人員維護(hù)的負(fù)擔(dān),等等。還有,當(dāng)應(yīng)用邏輯改變,數(shù)據(jù)的邏輯結(jié)構(gòu)也需要改變時(shí),由于數(shù)據(jù)庫系統(tǒng)提供了數(shù)據(jù)與程序之間的獨(dú)立性,數(shù)據(jù)邏輯結(jié)構(gòu)的改變是DBA的責(zé)任,開發(fā)人員不必修改應(yīng)用程序,或者只需要修改很少的應(yīng)用程序,從而既簡化了應(yīng)用程序的編制,又大大減少了應(yīng)用程序的維護(hù)和修改。使用數(shù)據(jù)庫系統(tǒng)可以減輕數(shù)據(jù)庫系統(tǒng)管理人員

3、維護(hù)系統(tǒng)的負(fù)擔(dān)。3 .試述文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)別和聯(lián)系。答:文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)別是:文件系統(tǒng)面向某一應(yīng)用程序,共享性差,冗余度大,數(shù)據(jù)獨(dú)立性差,記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu),由應(yīng)用程序自己控制。數(shù)據(jù)庫系統(tǒng)面向現(xiàn)實(shí)世界,共享性高,冗余度小,具有較高的物理獨(dú)立性和一定的邏輯獨(dú)立性,整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述,由數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)的安全性、完整性、并發(fā)控制和恢復(fù)能力。文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的聯(lián)系是:文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)都是計(jì)算機(jī)系統(tǒng)中管理數(shù)據(jù)的軟件。解析文件系統(tǒng)是操作系統(tǒng)的重要組成部分;而DBMS是獨(dú)立于操作系統(tǒng)的軟件。但是DBMS是在操作系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)的;數(shù)據(jù)庫中數(shù)據(jù)的組織和存儲(chǔ)是通過操

4、作系統(tǒng)中的文件系統(tǒng)來實(shí)現(xiàn)的。4 .舉出適合用文件系統(tǒng)而不是數(shù)據(jù)庫系統(tǒng)的例子;再舉出適合用數(shù)據(jù)庫系統(tǒng)的應(yīng)用例子。答:(D適用于數(shù)據(jù)的備份、臨時(shí)數(shù)據(jù)存儲(chǔ)。早期功能比較簡單的應(yīng)用系統(tǒng)也適合用文件系統(tǒng)。(2)適用于數(shù)據(jù)庫系統(tǒng)而非文件系統(tǒng)的應(yīng)用例子:目前,幾乎所有企業(yè)或部門的信息系統(tǒng)都以數(shù)據(jù)庫系統(tǒng)為基礎(chǔ),都使用數(shù)據(jù)庫。例如,一個(gè)工廠的管理信息系統(tǒng)5 .試述數(shù)據(jù)庫系統(tǒng)的特點(diǎn)。答:數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)有:(1)數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,這是數(shù)據(jù)庫的主要特征之一,也是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。(2)數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充數(shù)據(jù)庫的數(shù)據(jù)不再面向某個(gè)應(yīng)用而是面向整個(gè)系統(tǒng),因此可以被多

5、個(gè)用戶、多個(gè)應(yīng)用以多種不同的語言共享使用。(3)數(shù)據(jù)獨(dú)立性高數(shù)據(jù)獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。(4)數(shù)據(jù)由DBMS統(tǒng)一管理和控制數(shù)據(jù)庫的共享是并發(fā)的共享,即多個(gè)用戶可以同時(shí)存取數(shù)據(jù)庫中的數(shù)據(jù)甚至可以同時(shí)存取數(shù)據(jù)庫中同一個(gè)數(shù)據(jù)。6 .數(shù)據(jù)庫管理系統(tǒng)的主要功能有哪些?答:(1)數(shù)據(jù)庫定義功能;(2)數(shù)據(jù)存取功能;(3)數(shù)據(jù)庫運(yùn)行管理;(4)數(shù)據(jù)庫的建立和維護(hù)功能。7 .試述數(shù)據(jù)模型的概念、數(shù)據(jù)模型的作用和數(shù)據(jù)模型的三個(gè)要素。答:數(shù)據(jù)模型是嚴(yán)格定義的概念的集合。通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成。(1)數(shù)據(jù)結(jié)構(gòu):是所研究的對象類型的集合,是對系統(tǒng)靜態(tài)特性的描述。(2)數(shù)據(jù)

6、操作:是指對數(shù)據(jù)庫中各種對象(型)的實(shí)例(值)允許進(jìn)行的操作的集合,包括操作及有關(guān)的操作規(guī)則,是對系統(tǒng)動(dòng)態(tài)特性的描述。(3)數(shù)據(jù)的約束條件:是一組完整性規(guī)則的集合。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)。根據(jù)模型應(yīng)用的不同目的,可以將模型分成兩類或者說兩個(gè)層次:一類是概念模型,用于信息世界的建模,概念簡單清晰;另一類是數(shù)據(jù)模型,用于機(jī)器世界,一般需要有嚴(yán)格的形式化定義和一組嚴(yán)格定義了語法和語義的語言。8 .試述概念模型的作用。答:概念模型用于信息世界的建模,是數(shù)據(jù)庫設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的有力工具,也是數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言。9 .試述網(wǎng)狀、層次數(shù)據(jù)庫的優(yōu)缺點(diǎn)。答:層次模型的優(yōu)點(diǎn)主要有:(

7、1)模型簡單(2)用層次模型的應(yīng)用系統(tǒng)性能好(3)層次數(shù)據(jù)模型提供了良好的完整性支持。層次模型的缺點(diǎn)主要有:(1)現(xiàn)實(shí)世界中很多聯(lián)系是非層次性的,層次模型不能自然地表示這類聯(lián)系;(2)對插入和刪除操作的限制比較多;(3)查詢子女結(jié)點(diǎn)必須通過雙親結(jié)點(diǎn)。網(wǎng)狀數(shù)據(jù)模型的優(yōu)點(diǎn)主要有:(1)能夠更為直接地描述現(xiàn)實(shí)世界(2)存取效率較高。網(wǎng)狀數(shù)據(jù)模型的缺點(diǎn)主要有:(1)結(jié)構(gòu)比較復(fù)雜;(2)語言復(fù)雜,用戶不容易使用。10 .試述關(guān)系模型的概念,定義并解釋以下術(shù)語:關(guān)系屬性域元組主碼分量關(guān)系模式答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。在用戶觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維

8、表,它由行和列組成。關(guān)系:一個(gè)關(guān)系對應(yīng)通常說的一張表;屬性:表中的一列即為一個(gè)屬性;域:屬性的取值范圍;元組:表中的一行即為一個(gè)元組;主碼:表中的某個(gè)屬性組,它可以惟一確定一個(gè)元組;分量:元組中的一個(gè)屬性值;關(guān)系模式:對關(guān)系的描述,一般表示為關(guān)系名(屬性1,屬性2,,屬性n)11 .試述關(guān)系數(shù)據(jù)庫的特點(diǎn)。答:關(guān)系數(shù)據(jù)模型具有下列優(yōu)點(diǎn):(1)是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的。(2)關(guān)系模型的概念單一。(3)用戶透明,具有更高的數(shù)據(jù)獨(dú)立性、更好的安全保密性,也簡化工作。查詢效率往往不如非關(guān)系數(shù)據(jù)模型。優(yōu)化,增加難度。12 .試述數(shù)據(jù)庫系統(tǒng)三級模式結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)點(diǎn)是什么?答:數(shù)據(jù)庫系統(tǒng)的三級模式

9、結(jié)構(gòu)由外模式、模式和內(nèi)模式組成。外模式,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,模式,亦稱邏輯模式,是所有用戶的公共數(shù)據(jù)視圖。模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)。外模式涉及的是數(shù)據(jù)的局部邏輯結(jié)構(gòu),通常是模式的子集。內(nèi)模式,是數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)部的表示,即對數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述。數(shù)據(jù)庫系統(tǒng)的三級模式使用戶能邏輯抽象地處理數(shù)據(jù),數(shù)據(jù)庫系統(tǒng)在這三級模式之間提供了兩層映像:外模式/模式映像和模式/內(nèi)模式映像。正是這兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。13 .DDL:數(shù)據(jù)定義語言,用來定義數(shù)據(jù)庫模式、外模式、內(nèi)模式的語言。DML:數(shù)據(jù)操縱語言,用來對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢、插入、

10、刪除和修改的語句。14 .什么叫數(shù)據(jù)與程序的物理獨(dú)立性?什么叫數(shù)據(jù)與程序的邏輯獨(dú)立性?為什么數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)與程序的獨(dú)立性?答:數(shù)據(jù)與程序的邏輯獨(dú)立性:當(dāng)模式改變時(shí),外模式保持不變,應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改。數(shù)據(jù)與程序的物理獨(dú)立性:當(dāng)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)改變了,可以使模式保持不變,從而應(yīng)用程序也不必改變。15 .DBA的職責(zé)是什么?答:負(fù)責(zé)全面地管理和控制數(shù)據(jù)庫系統(tǒng)。具體職責(zé)包括:決定數(shù)據(jù)庫的信息內(nèi)容和結(jié)構(gòu);決定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)和存取策略;定義數(shù)據(jù)的安全性要求和完整性約束條件;監(jiān)督和控制數(shù)據(jù)庫的使用和運(yùn)行;改進(jìn)和重組數(shù)據(jù)庫系統(tǒng)。16 .系統(tǒng)分析員、數(shù)據(jù)庫設(shè)計(jì)人員、應(yīng)

11、用程序員的職責(zé)是什么?答系統(tǒng)分析員負(fù)責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)范說明,參與數(shù)據(jù)庫系統(tǒng)的概要設(shè)計(jì)。數(shù)據(jù)庫設(shè)計(jì)人員負(fù)責(zé)數(shù)據(jù)庫中數(shù)據(jù)的確定、數(shù)據(jù)庫各級模式的設(shè)計(jì)。第2章關(guān)系數(shù)據(jù)庫17試述關(guān)系模型的三個(gè)組成部分。答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。18試述關(guān)系數(shù)據(jù)語言的特點(diǎn)和分類。答:關(guān)系數(shù)據(jù)語言可以分為三類:關(guān)系代數(shù)語言。關(guān)系演算語言:元組關(guān)系演算語言和域關(guān)系演算語言。SQL:具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語言。這些關(guān)系數(shù)據(jù)語言的共同特點(diǎn)是,語言具有完備的表達(dá)能力,是非過程化的集合操作語言,功能強(qiáng),能夠嵌入高級語言中使用。19試述關(guān)系模型的完整性規(guī)則。在參照完整性中,

12、為什么外部碼屬性的值也可以為空?什么情況下才可以為空?答:實(shí)體完整性規(guī)則是指若屬性是基本關(guān)系的主屬性,則屬性不能取空值。R中每個(gè)元組在F上的值F本身不是主屬性,則可若屬性是基本關(guān)系的外碼,它與基本關(guān)系的主碼相對應(yīng),則對于S中某個(gè)元組的主碼值。即屬性必須為:或者取空值,或者等于以取空值,否則不能取空值。20設(shè)有一個(gè)SPJ數(shù)據(jù)庫,包括S,P,J,SPJ四個(gè)關(guān)系模式:1)求供應(yīng)工程J1零件的供應(yīng)商號碼SNO:兀 Sno (rSno= J1'(SP J)2)求供應(yīng)工程J1零件P1的供應(yīng)商號碼SNO:TtSno(rSno= J1'A Pno= 1 P1 (SPJ)3)求供應(yīng)工程J1零件為

13、紅色的供應(yīng)商號碼SNO:TtSno(rPno= P1 1(TCOLORu 紅(P)8 SPJ)4)求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號JNO :兀 Jno(SPJ)-兀 JNO (0代丫='天津S Color='紅(S°oSPJoo p)5)求至少用了供應(yīng)商S1所供應(yīng)的全部零件的工程號JNO:兀Jno,Pno(SPJ)+兀Pn。(<rSno=1S11(SPJ)21試述等值連接與自然連接的區(qū)別和聯(lián)系。答:連接運(yùn)算符是“二”的連接運(yùn)算稱為等值連接。自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉。2

14、2關(guān)系代數(shù)的基本運(yùn)算有哪些?如何用這些基本運(yùn)算來表示其他運(yùn)算?答:并、差、笛卡爾積、投影和選擇5種運(yùn)算為基本的運(yùn)算。其他3種運(yùn)算,即交、連接和除,均可以用這5種基本運(yùn)算來表達(dá)。第4章數(shù)據(jù)庫安全性1 .什么是數(shù)據(jù)庫的安全性?答:數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。2 .舉例說明數(shù)據(jù)安全性產(chǎn)生威脅的因素非授權(quán)用戶對數(shù)據(jù)庫的惡意存取和破壞數(shù)據(jù)庫中重要或敏感的數(shù)據(jù)被泄露安全環(huán)境的脆弱性3 .數(shù)據(jù)庫安全性和計(jì)算機(jī)系統(tǒng)的安全性有什么關(guān)系?答:安全性問題不是數(shù)據(jù)庫系統(tǒng)所獨(dú)有的,用戶直接共享,從而使安全性問題更為突出。系統(tǒng)安全保護(hù)措施是否有效是數(shù)據(jù)庫系統(tǒng)的主要指標(biāo)之一。

15、數(shù)據(jù)庫的安全性和計(jì)算機(jī)系統(tǒng)的安全性,包括操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)的安全性是緊密聯(lián)系、相互支持的,4 .試述實(shí)現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術(shù)。答:實(shí)現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術(shù)有:(1)用戶標(biāo)識和鑒別(2)存取控制(3)視圖機(jī)制(4)審計(jì)(5)數(shù)據(jù)加密5 .什么是數(shù)據(jù)庫中的自主存取控制方法和強(qiáng)制存取控制方法?答:自主存取控制方法:當(dāng)用戶對數(shù)據(jù)庫訪問時(shí)首先檢查用戶的存取權(quán)限。防止不合法用戶對數(shù)據(jù)庫的存取。強(qiáng)制存取控制方法:系統(tǒng)規(guī)定只有具有某一許可證級別的用戶才能存取某一個(gè)密級的數(shù)據(jù)對象。6 .為什么強(qiáng)制存取控制提供了更高級別的數(shù)據(jù)庫安全性?答:強(qiáng)制存取控制(MAC)是對數(shù)據(jù)本身進(jìn)行密級標(biāo)記,無

16、論數(shù)據(jù)如何復(fù)制,標(biāo)記與數(shù)據(jù)是一個(gè)不可分的整體,只有符合密級標(biāo)記要求的用戶才可以操縱數(shù)據(jù),從而提供了更高級別的安全性。7 .理解并解釋MAC機(jī)制中主體、客體、敏感度標(biāo)記的含義。答:主體是系統(tǒng)中的活動(dòng)實(shí)體,包括實(shí)際用戶以及用戶的各進(jìn)程??腕w是系統(tǒng)中的被動(dòng)實(shí)體,是受主體操縱的,包括文件、基表、索引、視圖等。對于主體和客體,DBMS為它們指派一個(gè)敏感度標(biāo)記。敏感度標(biāo)記被分成若干級別,例如絕密、機(jī)密、可信、公開等。主體的敏感度標(biāo)記稱為許可證級別,客體的敏感度標(biāo)記稱為密級。8 .什么是數(shù)據(jù)庫的審計(jì)功能,為什么要提供審計(jì)功能?答:審計(jì)功能是指DBMS的審計(jì)模塊在用戶對數(shù)據(jù)庫執(zhí)行操作的同時(shí)把所有操作自動(dòng)記錄到

17、系統(tǒng)的審計(jì)日志中。因?yàn)槿魏蜗到y(tǒng)的安全保護(hù)措施都不是完美無缺的。利用數(shù)據(jù)庫的審計(jì)功能,DBA可以重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。9 .統(tǒng)計(jì)數(shù)據(jù)庫中存在何種特殊的安全性問題?答:統(tǒng)計(jì)數(shù)據(jù)庫允許用戶查詢聚集類型的信息,如合計(jì)、平均值、最大值、最小值等,不允許查詢單個(gè)記錄信息。但是,人們可以從合法的查詢中推導(dǎo)出不合法的信息,即可能存在隱蔽的信息通道,這是統(tǒng)計(jì)數(shù)據(jù)庫要研究和解決的特殊的安全性問題。第7章數(shù)據(jù)庫設(shè)計(jì)1.試述數(shù)據(jù)庫設(shè)計(jì)過程。答:這里只概要列出數(shù)據(jù)庫設(shè)計(jì)過程的六個(gè)階段:(1)需求分析;(2)概念結(jié)構(gòu)設(shè)計(jì);(3)邏輯結(jié)構(gòu)設(shè)計(jì);(4)數(shù)據(jù)庫物理設(shè)計(jì);(5)數(shù)

18、據(jù)庫實(shí)施;(6)數(shù)據(jù)庫運(yùn)行和維護(hù)。這是一個(gè)完整的實(shí)際數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的設(shè)計(jì)過程。不僅包括設(shè)計(jì)數(shù)據(jù)庫本身,還包括數(shù)據(jù)庫的實(shí)施、運(yùn)行和維護(hù)。設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個(gè)階段的不斷反復(fù)。2.試述數(shù)據(jù)庫設(shè)計(jì)過程各個(gè)階段上的設(shè)計(jì)描述。答:各階段的設(shè)計(jì)要點(diǎn)如下:(1)需求分析:準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)。(1)概念結(jié)構(gòu)設(shè)計(jì):通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型。(3)邏輯結(jié)構(gòu)設(shè)計(jì):將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型,并對其進(jìn)行優(yōu)化。(4)數(shù)據(jù)庫物理設(shè)計(jì):為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法)。(5

19、)數(shù)據(jù)庫實(shí)施:設(shè)計(jì)人員運(yùn)用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。(6)數(shù)據(jù)庫運(yùn)行和維護(hù):在數(shù)據(jù)庫系統(tǒng)運(yùn)行過程中對其進(jìn)行評價(jià)、調(diào)整與修改。3.試述數(shù)據(jù)庫設(shè)計(jì)過程中結(jié)構(gòu)設(shè)計(jì)部分形成的數(shù)據(jù)庫模式。答:數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的不同階段形成數(shù)據(jù)庫的各級模式,即:(1)ER圖;(2)將ER圖轉(zhuǎn)換成數(shù)據(jù)模型,如關(guān)系模型,然后再建立必要的視圖,形成數(shù)據(jù)的外模式;(3)根據(jù)DBMS特點(diǎn)和處理的需要,進(jìn)行物理存儲(chǔ)安排,建立索引,形成數(shù)據(jù)庫內(nèi)模式。4.試述數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)。答:數(shù)據(jù)庫設(shè)計(jì)既是一項(xiàng)涉及多學(xué)科的綜合性技術(shù)又是一項(xiàng)龐大的工程

20、項(xiàng)目。其主要特點(diǎn)有:(1)數(shù)據(jù)庫建設(shè)是硬件、軟件和干件的結(jié)合。(2)數(shù)據(jù)庫設(shè)計(jì)應(yīng)該和應(yīng)用系統(tǒng)設(shè)計(jì)相結(jié)合5.需求分析階段的設(shè)計(jì)目標(biāo)是什么?調(diào)查的內(nèi)容是什么?答:需求分析階段的設(shè)計(jì)目標(biāo)是通過詳細(xì)調(diào)查對象,了解工作概況,明確用戶需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。調(diào)查的內(nèi)容是“數(shù)據(jù)'和“處理”,即獲得用戶對數(shù)據(jù)庫的如下要求:(1)信息要求(2)處理要求(3)安全性與完整性要求。6.數(shù)據(jù)字典的內(nèi)容和作用是什么?答:數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合。數(shù)據(jù)字典的內(nèi)容通常包括:(1)數(shù)據(jù)項(xiàng);(2)數(shù)據(jù)結(jié)構(gòu);(3)數(shù)據(jù)流;(4)數(shù)據(jù)存儲(chǔ);(5)處理過程五個(gè)部分。其中數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小組成單位,若干

21、個(gè)數(shù)據(jù)項(xiàng)可以組成一個(gè)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)字典描述數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)的邏輯內(nèi)容。數(shù)據(jù)字典的作用:數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,是下一步進(jìn)行概念設(shè)計(jì)的基礎(chǔ),并在數(shù)據(jù)庫設(shè)計(jì)過程中不斷修改、充實(shí)、完蓋。7.什么是數(shù)據(jù)庫的概念結(jié)構(gòu)?試述其特點(diǎn)和設(shè)計(jì)策略。答:概念結(jié)構(gòu)是信息世界的結(jié)構(gòu),即概念模型,其主要特點(diǎn)是:(1)能真實(shí)反映現(xiàn)實(shí)世界,能滿足用戶要求(2)易于理解(3)易于更改(4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。概念結(jié)構(gòu)的設(shè)計(jì)策略通常有四種:(1)自頂向下,全局到細(xì)化(2)自底向上局部到全局(3)逐步擴(kuò)張,首先定義核心概念結(jié)構(gòu),然后向外擴(kuò)充(4)混合策略,即將自頂向下和自底向上相結(jié)合8.什么叫數(shù)據(jù)

22、抽象?試舉例說明。答:數(shù)據(jù)抽象是對實(shí)際的人、物、事和概念進(jìn)行人為處理,抽取所關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。如“分類'夕這種抽象是:定義某一類概念作為現(xiàn)實(shí)世界中一組對象的類型。這些對象具有某些共同的特性和行為。它抽象了對象值和型之間的,1i5memberof”的語義。在ER模型中,實(shí)體型就是這種抽象。例如在學(xué)校環(huán)境中,李英是老師,表示李英是教師類型中的一員,則教師是實(shí)體型,李英是教師實(shí)體型中的一個(gè)實(shí)體值,具有教師共同的特性和行為:在某個(gè)系某個(gè)專業(yè)教學(xué),講授某些課程,從事某個(gè)方向的科研。9試述數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)的重要性和設(shè)計(jì)

23、步驟。答:重要性:數(shù)據(jù)庫概念設(shè)計(jì)是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵,將在需求分析階段所得到的應(yīng)用需求首先抽象為概念結(jié)構(gòu),以此作為各種數(shù)據(jù)模型的共同基礎(chǔ),從而能更好地、更準(zhǔn)確地用某一DBMS實(shí)現(xiàn)這些需求。設(shè)計(jì)步驟:概念結(jié)構(gòu)的設(shè)計(jì)方法有多種,其中最經(jīng)常采用的策略是自底向上方法,該方法的設(shè)計(jì)步驟通常分為兩步:第1步是抽象數(shù)據(jù)并設(shè)計(jì)局部視圖,第2步是集成局部視圖,得到全局的概念結(jié)構(gòu)。10 .為什么要視圖集成?視圖集成的方法是什么?答:在對數(shù)據(jù)庫系統(tǒng)進(jìn)行概念結(jié)構(gòu)設(shè)計(jì)時(shí)一般采用自底向上的設(shè)計(jì)方法,把繁雜的大系統(tǒng)分解子系統(tǒng)。首先設(shè)計(jì)各個(gè)子系統(tǒng)的局部視圖,然后通過視圖集成的方式將各子系統(tǒng)有機(jī)地融合起來,綜合成一個(gè)系統(tǒng)的總

24、視圖。這樣,設(shè)計(jì)清晰,由簡到繁。由于數(shù)據(jù)庫系統(tǒng)是從整體角度看待和描述數(shù)據(jù)的,因此數(shù)據(jù)不再面向某個(gè)應(yīng)用而是整個(gè)系統(tǒng)。因此必須進(jìn)行視圖集成,使得數(shù)據(jù)庫能被全系統(tǒng)的多個(gè)用戶、多個(gè)應(yīng)用共享使用。一般說來,視圖集成可以有兩種方式:(1)多個(gè)分E-R圖一次集成;(2)逐步集成,用累加的方式一次集成兩個(gè)分ER圖。無論采用哪種方式,每次集成局部E-R圖時(shí)都需要分兩步走:(1)合并,解決各分E-R圖之間的沖突,將各分E-R圖合并起來生成初步E一R圖;(2)修改和重構(gòu),消除不必要的冗余,生成基本ER圖。11 .什么是數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)?試述其設(shè)計(jì)步驟。答:數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)就是把E-R圖轉(zhuǎn)換為與邏輯結(jié)構(gòu)。設(shè)計(jì)

25、步驟為:(1)將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;)(2)將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向數(shù)據(jù)模型轉(zhuǎn)換;(3)對數(shù)據(jù)模型進(jìn)行優(yōu)化。14 .規(guī)范化理論對數(shù)據(jù)庫設(shè)計(jì)有什么指導(dǎo)意義?答:規(guī)范化理論為數(shù)據(jù)庫設(shè)計(jì)人員判斷關(guān)系模式的優(yōu)劣提供了理論標(biāo)準(zhǔn),可以指導(dǎo)關(guān)系數(shù)據(jù)模型的優(yōu)化,用來預(yù)測模式可能出現(xiàn)的問題,為設(shè)計(jì)人員提供了自動(dòng)產(chǎn)生各種模式的算法工具,使數(shù)據(jù)庫設(shè)計(jì)工作有了嚴(yán)格的理論基礎(chǔ)。15 .試述數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容和步驟。答:數(shù)據(jù)庫在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu)。為邏輯數(shù)據(jù)模型選取一個(gè)最適合要求的物理結(jié)構(gòu),就是數(shù)據(jù)庫的物理設(shè)計(jì)的主要內(nèi)容。數(shù)據(jù)庫的物理設(shè)計(jì)步驟通常分為兩步:(

26、1)確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲(chǔ)結(jié)構(gòu);(2)對物理結(jié)構(gòu)進(jìn)行評價(jià),評價(jià)的重點(diǎn)是時(shí)間效率和空間效率。16 .數(shù)據(jù)輸入在實(shí)施階段的重要性是什么?如何保證輸入數(shù)據(jù)的正確性?答:數(shù)據(jù)庫是用來對數(shù)據(jù)進(jìn)行存儲(chǔ)、管理與應(yīng)用的,數(shù)據(jù)量一般都很大,而且數(shù)據(jù)來源復(fù)雜。數(shù)據(jù)的組織方式、結(jié)構(gòu)和格式都與新設(shè)計(jì)的數(shù)據(jù)庫系統(tǒng)有相當(dāng)?shù)牟罹?,組織數(shù)據(jù)錄入就要將各類源數(shù)據(jù)分類轉(zhuǎn)換,最后綜合成符合新設(shè)計(jì)的數(shù)據(jù)庫結(jié)構(gòu)的形式,輸入數(shù)據(jù)庫。因此這樣的數(shù)據(jù)轉(zhuǎn)換是相當(dāng)費(fèi)力費(fèi)時(shí)的工作。保證輸入數(shù)據(jù)正確性的方法:為提高數(shù)據(jù)輸入工作的效率和質(zhì)量,應(yīng)該針對具體的應(yīng)用環(huán)境設(shè)計(jì)一個(gè)數(shù)據(jù)錄入子系統(tǒng),由計(jì)算機(jī)來完成數(shù)據(jù)入庫的任務(wù)。

27、在源數(shù)據(jù)入庫之前要采用多種方法對它們進(jìn)行檢驗(yàn),以防止不正確的數(shù)據(jù)入庫。17 .什么是數(shù)據(jù)庫的再組織和重構(gòu)造?為什么要進(jìn)行數(shù)據(jù)庫的再組織和重構(gòu)造?答:數(shù)據(jù)庫的再組織是指:按原設(shè)計(jì)要求重新安排存儲(chǔ)位置、回收垃圾、減少指針鏈等,以提高系統(tǒng)性能。數(shù)據(jù)庫的重構(gòu)造則是指部分修改數(shù)據(jù)庫的模式和內(nèi)模式。數(shù)據(jù)庫的再組織是不修改數(shù)據(jù)庫的模式和內(nèi)模式的。進(jìn)行數(shù)據(jù)庫的再組織和重構(gòu)造的原因:數(shù)據(jù)庫運(yùn)行一段時(shí)間后,數(shù)據(jù)的存取效率降低,數(shù)據(jù)庫性能下降,這時(shí)就要對數(shù)據(jù)庫進(jìn)行重組織。DBMS一般都提供用于數(shù)據(jù)重組織的實(shí)用程序。數(shù)據(jù)庫應(yīng)用環(huán)境常常發(fā)生變化,使原有的數(shù)據(jù)庫設(shè)計(jì)不能滿足新的需求,需要調(diào)整數(shù)據(jù)庫的模式和內(nèi)模式。這就要進(jìn)

28、行數(shù)據(jù)庫重構(gòu)造。第10章數(shù)據(jù)庫恢復(fù)技術(shù)1 .試述事務(wù)的概念及事務(wù)的4個(gè)特性。答:事務(wù)是用戶定義的一個(gè)數(shù)據(jù)庫操作序列,這些操作要么全做要么全不做,是一個(gè)不可分割的工作單位。事務(wù)具有4個(gè)特性:原子性、一致性、隔離性和持續(xù)性。原子性:事務(wù)是數(shù)據(jù)庫的邏輯工作單位。一致性:事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。隔離性:一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。持續(xù)性:指一個(gè)事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來的其他操作或故障無有任何影響。2 .為什么事務(wù)非正常結(jié)束時(shí)會(huì)影響數(shù)據(jù)庫數(shù)據(jù)的正確性,請列舉一例說明之。答:事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個(gè)一致性狀態(tài)變到

29、另一個(gè)一致性狀態(tài)。如果數(shù)據(jù)庫系統(tǒng)運(yùn)行中發(fā)生故障,有些事務(wù)尚未完成就被迫中斷,這時(shí)數(shù)據(jù)庫就處于一種不一致的狀態(tài)。例如某工廠的庫存管理系統(tǒng)中,要把數(shù)量為Q的某種零件從倉庫1移到倉庫2存放。則可以定義一個(gè)事務(wù)T,T包括兩個(gè)操作;QI二QIQ,Q2=Q2+Q。如果T非正常終止時(shí)只做了第一個(gè)操作,則數(shù)據(jù)庫就處于不一致性狀態(tài),庫存量無緣無故少了Qo3,數(shù)據(jù)庫中為什么要有恢復(fù)子系統(tǒng)?它的功能是什么?答:因?yàn)橛?jì)算機(jī)系統(tǒng)中硬件的故障、軟件的錯(cuò)誤、操作員的失誤以及惡意的破壞是不可避免的,這些故障輕則影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,重則破壞數(shù)據(jù)庫,使數(shù)據(jù)庫中全部或部分?jǐn)?shù)據(jù)丟失,因此必須要有恢復(fù)子系統(tǒng)。恢復(fù)子系統(tǒng)的功能是:

30、把數(shù)據(jù)庫從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)4 .數(shù)據(jù)庫運(yùn)行中可能產(chǎn)生的故障有哪幾類?哪些故障影響事務(wù)的正常執(zhí)行?哪些故障破壞數(shù)據(jù)庫數(shù)據(jù)?答:數(shù)據(jù)庫系統(tǒng)中可能發(fā)生各種各樣的故障,大致可以分以下幾類:(1)事務(wù)內(nèi)部的故障;(2)系統(tǒng)故障;(3)介質(zhì)故障;(4)計(jì)算機(jī)病毒。事務(wù)故障、系統(tǒng)故障和介質(zhì)故障影響事務(wù)的正常執(zhí)行;介質(zhì)故障和計(jì)算機(jī)病毒破壞數(shù)據(jù)庫數(shù)據(jù)。5 .數(shù)據(jù)庫恢復(fù)的基本技術(shù)有哪些?答:數(shù)據(jù)轉(zhuǎn)儲(chǔ)和登錄日志文件是數(shù)據(jù)庫恢復(fù)的基本技術(shù)。當(dāng)系統(tǒng)運(yùn)行過程中發(fā)生故障,利用轉(zhuǎn)儲(chǔ)的數(shù)據(jù)庫后備副本和日志文件就可以將數(shù)據(jù)庫恢復(fù)到故障前的某個(gè)一致性狀態(tài)。6 .數(shù)據(jù)庫轉(zhuǎn)儲(chǔ)的意義是什么?試比較各種數(shù)據(jù)轉(zhuǎn)儲(chǔ)方法。答:數(shù)

31、據(jù)轉(zhuǎn)儲(chǔ)是數(shù)據(jù)庫恢復(fù)中采用的基本技術(shù)。所謂轉(zhuǎn)儲(chǔ)即定期地將數(shù)據(jù)庫復(fù)制保存。當(dāng)數(shù)據(jù)庫遭到破壞后可以將后備副本重新裝入,將數(shù)據(jù)庫恢復(fù)到轉(zhuǎn)儲(chǔ)時(shí)的狀態(tài)。靜態(tài)轉(zhuǎn)儲(chǔ):在系統(tǒng)中無運(yùn)行事務(wù)時(shí)進(jìn)行的轉(zhuǎn)儲(chǔ)操作,靜態(tài)轉(zhuǎn)儲(chǔ)簡單,但必須等待正運(yùn)行的用戶事務(wù)結(jié)束才能進(jìn)行。顯然,這會(huì)降低數(shù)據(jù)庫的可用性。動(dòng)態(tài)轉(zhuǎn)儲(chǔ):指轉(zhuǎn)儲(chǔ)期間允許對數(shù)據(jù)庫進(jìn)行存取或修改。動(dòng)態(tài)轉(zhuǎn)儲(chǔ)可克服靜態(tài)轉(zhuǎn)儲(chǔ)的缺點(diǎn),它不用等待正在運(yùn)行的用戶事務(wù)結(jié)束,也不會(huì)影響新事務(wù)的運(yùn)行。但是,轉(zhuǎn)儲(chǔ)結(jié)束時(shí)后援副本上的數(shù)據(jù)并不能保證正確有效。轉(zhuǎn)儲(chǔ)還可以分為海量轉(zhuǎn)儲(chǔ)和增量轉(zhuǎn)儲(chǔ)兩種方式。海量轉(zhuǎn)儲(chǔ)是指每次轉(zhuǎn)儲(chǔ)全部數(shù)據(jù)庫。增量轉(zhuǎn)儲(chǔ)則指每次只轉(zhuǎn)儲(chǔ)上一次轉(zhuǎn)儲(chǔ)后更新過的數(shù)據(jù)。從恢復(fù)角度看,使用海

32、量轉(zhuǎn)儲(chǔ)得到的后備副本進(jìn)行恢復(fù)一般說來更簡單些。但如果數(shù)據(jù)庫很大,則增量轉(zhuǎn)儲(chǔ)方式更實(shí)用更有效。7 什么是日志文件?為什么要設(shè)立日志文件?答:(1)日志文件是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件。(2)設(shè)立日志文件的目的是:進(jìn)行事務(wù)故障恢復(fù);進(jìn)行系統(tǒng)故障恢復(fù);協(xié)助后備副本進(jìn)行介質(zhì)故障恢復(fù)。8 .登記日志文件時(shí)為什么必須先寫日志文件,后寫數(shù)據(jù)庫?答:把對數(shù)據(jù)的修改寫到數(shù)據(jù)庫中和把日志記錄寫到日志文件中是兩個(gè)不同的操作。有可能在這兩個(gè)操作之間發(fā)生故障,即這兩個(gè)寫操作只完成了一個(gè)。如果先寫了數(shù)據(jù)庫修改,而在運(yùn)行記錄中沒有登記這個(gè)修改,則以后就無法恢復(fù)這個(gè)修改了。如果先寫日志,但沒有修改數(shù)據(jù)庫,并不會(huì)影響

33、數(shù)據(jù)庫的正確性。所以一定要先寫日志文件,然后寫數(shù)據(jù)庫的修改。9 .針對不同的故障,試給出恢復(fù)的策略和方法。(即如何進(jìn)行事務(wù)故障的恢復(fù)?系統(tǒng)故障的恢復(fù)?介質(zhì)故障恢復(fù)?)答:事務(wù)故障的恢復(fù):事務(wù)故障的恢復(fù)是由DBMS自動(dòng)完成的,對用戶是透明的。執(zhí)行恢復(fù)步驟是:(1)反向掃描文件日志,查找更新操作;(2)對更新操作執(zhí)行逆操作(3)繼續(xù)反向掃描日志文件,做同樣處理;(4)如此處理下去,直至讀到此事務(wù)的開始標(biāo)記,該事務(wù)故障的恢復(fù)就完成了。系統(tǒng)故障的恢復(fù):系統(tǒng)故障可能會(huì)造成數(shù)據(jù)庫處于不一致狀態(tài):一是未完成事務(wù)可能已寫入數(shù)據(jù)庫;二是已提交事務(wù)可能還留在緩沖區(qū),沒來得及寫入數(shù)據(jù)庫。因此恢復(fù)操作就是要撤銷故障發(fā)

34、生時(shí)未完成的事務(wù),重做已完成的事務(wù)。系統(tǒng)的恢復(fù)步驟是:(1)正向掃描日志文件,找出在故障發(fā)生前已經(jīng)提交的事務(wù)隊(duì)列和未完成的事務(wù)隊(duì)列。(2)對撤銷隊(duì)列中的各個(gè)事務(wù)進(jìn)行UNDO處理。進(jìn)行UNDO處理的方法是,反向掃描日志文件,對每個(gè)UNDO事務(wù)的更新操作執(zhí)行逆操作。(2)對重做隊(duì)列中的各個(gè)事務(wù)進(jìn)行REDO處理。進(jìn)行REDO處理的方法是:正向掃描日志文件,對每個(gè)REDO事務(wù)重新執(zhí)行日志文件登記的操作。介質(zhì)故障的恢復(fù):介質(zhì)故障是最嚴(yán)重的一種故障?;謴?fù)方法是重裝數(shù)據(jù)庫,然后重做已完成的事務(wù)。具體過程是:(1)DBA裝入最新的數(shù)據(jù)庫后備副本,(2)DBA裝入轉(zhuǎn)儲(chǔ)結(jié)束時(shí)刻的日志文件副本;(3)DBA啟動(dòng)系統(tǒng)

35、恢復(fù)命令10 .什么是檢查點(diǎn)記錄?檢查點(diǎn)記錄包括哪些內(nèi)容?答:檢查點(diǎn)記錄是一類新的日志記錄。它的內(nèi)容包括:建立檢查點(diǎn)時(shí)刻所有正在執(zhí)行的事務(wù)清單這些事務(wù)的最近一個(gè)日志記錄的地址。11 .具有檢查點(diǎn)的恢復(fù)技術(shù)有什么優(yōu)點(diǎn)?試舉一個(gè)具體的例子加以說明。答答:利用日志技術(shù)進(jìn)行數(shù)據(jù)庫恢復(fù)時(shí),恢復(fù)子系統(tǒng)必須搜索日志,確定哪些事務(wù)需要重做哪些事務(wù)需要撤銷。一般來說,需要檢查所有日志記錄。這樣做有兩個(gè)問題:一是搜索整個(gè)日志將耗費(fèi)大量的時(shí)間;二是很多需要重做處理的事務(wù)實(shí)際上已經(jīng)將它們的更新操作結(jié)果寫到數(shù)據(jù)庫中了,恢復(fù)子系統(tǒng)又重新執(zhí)行了這些操作,浪費(fèi)了大量時(shí)間。檢查點(diǎn)技術(shù)就是為了解決這些問題。在采用檢查點(diǎn)技術(shù)之前,

36、恢復(fù)時(shí)需要從頭掃描日志文件,而利用檢查點(diǎn)技術(shù)只需要從T。開始掃描日志,這就縮短了掃描日志的時(shí)間。事務(wù)TI的更新操作實(shí)際上已經(jīng)寫到數(shù)據(jù)庫中了,進(jìn)行恢復(fù)時(shí)沒有必要再REDO處理,采用檢查點(diǎn)技術(shù)做到了這一點(diǎn)。12 .試述使用檢查點(diǎn)方法進(jìn)行恢復(fù)的步驟。答:(1)從重新開始文件中找到最后一個(gè)檢查點(diǎn)記錄在日志文件中的地址,由該地址在日志文件中找到最后一個(gè)檢查點(diǎn)記錄。(2)由該檢查點(diǎn)記錄得到檢查點(diǎn)建立時(shí)刻所有正在執(zhí)行的事務(wù)清單ACTIVE-LIST。這里建立兩個(gè)事務(wù)隊(duì)列:1 )UNDO-LIST:需要執(zhí)行undo操作的事務(wù)集合;2 )REDO-LIST:需要執(zhí)行redo操作的事務(wù)集合。把ACTIVE-LIS

37、T暫時(shí)放入U(xiǎn)NDO-LIST隊(duì)列,REDO隊(duì)列暫為空。3 )從檢查點(diǎn)開始正向掃描日志文件:如有新開始的事務(wù)T,把T暫時(shí)放入U(xiǎn)NDO-LIsT隊(duì)列;如有提交的事務(wù)毛,把T從UNDO-LIST隊(duì)列移到REDO-LIST隊(duì)列,直到日志文件結(jié)束;4)對UNDO-LIST中的每個(gè)事務(wù)執(zhí)行UNDO操作,對REDO-LIST中的每個(gè)事務(wù)執(zhí)行REDO操作。13.什么是數(shù)據(jù)庫鏡像?它有什么用途?答:數(shù)據(jù)庫鏡像自動(dòng)把整個(gè)數(shù)據(jù)庫或者其中的部分關(guān)鍵數(shù)據(jù)復(fù)制到另一個(gè)磁盤上。每當(dāng)主數(shù)據(jù)庫更新時(shí),DBMS自動(dòng)把更新后的數(shù)據(jù)復(fù)制過去,自動(dòng)保證鏡像數(shù)據(jù)與主數(shù)據(jù)的一致性。數(shù)據(jù)庫鏡像的用途有:一是用于數(shù)據(jù)庫恢復(fù)。二是提高數(shù)據(jù)庫的可

38、用性。在沒有出現(xiàn)故障時(shí),當(dāng)一個(gè)用戶對某個(gè)數(shù)據(jù)加排它鎖進(jìn)行修改時(shí),其他用戶可以讀鏡像數(shù)據(jù)庫上的數(shù)據(jù),而不必等待該用戶釋放鎖。第11章并發(fā)控制1.在數(shù)據(jù)庫中為什么要并發(fā)控制?答:數(shù)據(jù)庫是共享資源,通常有許多個(gè)事務(wù)同時(shí)在運(yùn)行。當(dāng)多個(gè)事務(wù)并發(fā)地存取數(shù)據(jù)庫時(shí)就會(huì)產(chǎn)生同時(shí)讀取和/或修改同一數(shù)據(jù)的情況。若對并發(fā)操作不加控制就可能會(huì)存取和存儲(chǔ)不正確的數(shù)據(jù),破壞數(shù)據(jù)庫的一致性。所以數(shù)據(jù)庫管理系統(tǒng)必須提供并發(fā)控制機(jī)制。2.并發(fā)操作可能會(huì)產(chǎn)生哪幾類數(shù)據(jù)不一致?用什么方法能避免各種不一致的情況?答:并發(fā)操作帶來的數(shù)據(jù)不一致性包括三類:丟失修改、不可重復(fù)讀和讀“臟數(shù)據(jù)。(1)丟失修改(2)不可重復(fù)讀讀“臟”數(shù)據(jù)避免不一

39、致性的方法和技術(shù)就是并發(fā)控制。最常用的技術(shù)是封鎖技術(shù)。也可以用其他技術(shù),例如在分布式數(shù)據(jù)庫系統(tǒng)中可以采用時(shí)間戳方法來進(jìn)行并發(fā)控制。3.什么是封鎖?基本的封鎖類型有幾種?試述它們的含義。答:封鎖就是事務(wù)T在對某個(gè)數(shù)據(jù)對象例如表、記錄等操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖后事務(wù)T就對該數(shù)據(jù)對象有了一定的控制,在事務(wù)T釋放它的鎖之前,其他的事務(wù)不能更新此數(shù)據(jù)對象。封鎖是實(shí)現(xiàn)并發(fā)控制的一個(gè)非常重要的技術(shù)?;镜姆怄i類型有兩種:排它鎖(簡稱x鎖)和共享鎖(簡稱S鎖)o排它鎖又稱為寫鎖。若事務(wù)T對數(shù)據(jù)對象A加上X鎖,則只允許T讀取和修改A,其他任何事務(wù)都不能再對A加任何類型的鎖,直到T釋放A上的鎖。

40、這就保證了其他事務(wù)在T釋放A上的鎖之前不能再讀取和修改Ao共享鎖又稱為讀鎖。若事務(wù)T對數(shù)據(jù)對象A加上S鎖,則事務(wù)T可以讀A但不能修改A,其他事務(wù)只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。這就保證了其他事務(wù)可以讀A,但在T釋放A上的S鎖之前不能對A做任何修改。4.如何用封鎖機(jī)制保證數(shù)據(jù)的一致性?答:DBMS在對數(shù)據(jù)進(jìn)行讀、寫操作之前首先對該數(shù)據(jù)執(zhí)行封鎖操作,例如事務(wù)TI在對A進(jìn)行修改之前先對A加x鎖。這樣,當(dāng)請求對A加x鎖時(shí)就被拒絕,只能等待TI釋放A上的鎖后才能獲得對A的x鎖,這時(shí)它讀到的A是TI更新后的值,再按此新的A值進(jìn)行運(yùn)算。這樣就不會(huì)丟失TI的更新。T(T2CD秋得:Xkw

41、liA®A-:等恂寫回A-產(chǎn)i等將Oifivnii號將I仙M;等特*代用XkirkAiif15:A-A-I:寫A.14*Cotnmii/IiikrkADBMS按照一定的封鎖協(xié)議,對并發(fā)操作進(jìn)行控制,使得多個(gè)并發(fā)操作有序地執(zhí)行,就可以避免丟失修改、不可重復(fù)讀和讀“臟夕數(shù)據(jù)等數(shù)據(jù)不一致性。5 .什么是活鎖?什么是死鎖?6 .試述活鎖的產(chǎn)生原因和解決方法。答:活鎖產(chǎn)生的原因:當(dāng)一系列封鎖不能按照其先后順序執(zhí)行時(shí),就可能導(dǎo)致活鎖。避免活鎖的簡單方法是采用先來先服務(wù)的策略。當(dāng)多個(gè)事務(wù)請求封鎖同一數(shù)據(jù)對象時(shí),按請求封鎖的先后次序?qū)κ聞?wù)排隊(duì)。11 .請給出檢測死鎖發(fā)生的一種方法,當(dāng)發(fā)生死鎖后如何解

42、除死鎖?診斷死鎖的方法與操作系統(tǒng)類似,一般使用超時(shí)法或事務(wù)等待圖法。超時(shí)法是:如果一個(gè)事務(wù)的等待時(shí)間超過了規(guī)定的時(shí)限,就認(rèn)為發(fā)生了死鎖。答:數(shù)據(jù)庫系統(tǒng)一般采用允許死鎖發(fā)生,DBMS檢測到死鎖后加以解除的方法。DBMS 中超時(shí)法實(shí)現(xiàn)簡單,但有可能誤判死鎖,事務(wù)因其他原因長時(shí)間等待超過時(shí)限時(shí),系統(tǒng)會(huì)誤認(rèn)為發(fā)生了死鎖。通常采用的方法是選擇一個(gè)處理死鎖代價(jià)最小的事務(wù),將其撤消,釋放此事務(wù)持有的所有鎖,使其他事務(wù)得以繼續(xù)運(yùn)行下去。當(dāng)然,對撤銷的事務(wù)所執(zhí)行的數(shù)據(jù)修改操作必須加以恢復(fù)。12 .什么樣的并發(fā)調(diào)度是正確的調(diào)度?答:可串行化的調(diào)度是正確的調(diào)度??纱谢恼{(diào)度的定義:多個(gè)事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且

43、僅當(dāng)其結(jié)果與按某一次序串行執(zhí)行它們時(shí)的結(jié)果相同,稱這種調(diào)度策略為可串行化的調(diào)度。9.設(shè)TI,幾,幾是如下的3個(gè)事務(wù):TI:A:=A+2;T2:A:=A*2;T3:A:=A*2;(A<-A*A)設(shè)A的初值為0。(I)若這3個(gè)事務(wù)允許并行執(zhí)行,則有多少可能的正確結(jié)果,請一一列舉出來。答:A的最終結(jié)果可能有2、4、8、16。因?yàn)榇袌?zhí)行次序有TIT2T3、TIT3T2、T2T1T3、T2T3TI、T3T1T2.T3T2TI。對應(yīng)的執(zhí)行結(jié)果是16、84242o(2)請給出一個(gè)可串行化的調(diào)度,并給出執(zhí)行結(jié)果答:Sk»rkAY,AIulIfdu.RX-UIdlorkA等時(shí)等忖等修寫回M-4)AUlAbnLAKMAABYa7%:n舟IIIJari-L4.最后結(jié)果A為16,是可串行化的調(diào)度。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論