數(shù)據(jù)庫(kù)系統(tǒng)概論第四版課后習(xí)題答案_第1頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論第四版課后習(xí)題答案_第2頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論第四版課后習(xí)題答案_第3頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論第四版課后習(xí)題答案_第4頁(yè)
數(shù)據(jù)庫(kù)系統(tǒng)概論第四版課后習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第1章緒論1.試述數(shù)據(jù)、數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)的概念。答:(l)數(shù)據(jù)(Data):描述事物的符號(hào)記錄稱為數(shù)據(jù)。數(shù)據(jù)是數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象。(2)數(shù)據(jù)庫(kù)(DataBase,簡(jiǎn)稱DB):數(shù)據(jù)庫(kù)是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。(3)數(shù)據(jù)庫(kù)系統(tǒng)(DataBas。Sytem,簡(jiǎn)稱DBS):數(shù)據(jù)庫(kù)系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成,一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員構(gòu)成。(4)數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseMana

2、gementsytem,簡(jiǎn)稱DBMs):數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,用于科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)。5.試述數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)。答:數(shù)據(jù)庫(kù)系統(tǒng)的主要特點(diǎn)有:(1)數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,這是數(shù)據(jù)庫(kù)的主要特征之一,也是數(shù)據(jù)庫(kù)系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。(2)數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充(3)數(shù)據(jù)獨(dú)立性高數(shù)據(jù)獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性和數(shù)據(jù)的邏輯獨(dú)立性。數(shù)據(jù)庫(kù)管理系統(tǒng)的模式結(jié)構(gòu)和二級(jí)映像功能保證了數(shù)據(jù)庫(kù)中的數(shù)據(jù)具有很高的物理獨(dú)立性和邏輯獨(dú)立性。(4)數(shù)據(jù)由DBMS統(tǒng)一管理和控制DBMS必須提供統(tǒng)一的數(shù)據(jù)控制功能,包括數(shù)據(jù)的安全性保護(hù)、

3、數(shù)據(jù)的完整性檢查、并發(fā)控制和數(shù)據(jù)庫(kù)恢復(fù)。6.數(shù)據(jù)庫(kù)管理系統(tǒng)的主要功能有哪些?答:DBMS的主要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)組織、存儲(chǔ)和管理、數(shù)據(jù)操縱功能、數(shù)據(jù)庫(kù)的事務(wù)管理和運(yùn)行管理、數(shù)據(jù)庫(kù)的建立和維護(hù)功能。9.定義并解釋概念模型中以下術(shù)語(yǔ):實(shí)體,實(shí)體型,實(shí)體集,屬性,碼,實(shí)體聯(lián)系圖(E一R圖)答:實(shí)體:客觀存在并可以相互區(qū)分的事物。實(shí)體型:具有相同屬性的實(shí)體具有相同的特征和性質(zhì),用實(shí)體名及其屬性名集合來(lái)抽象和刻畫同類實(shí)體實(shí)體集:同型實(shí)體的集合稱為實(shí)體集。屬性:實(shí)體所具有的某一特性,一個(gè)實(shí)體可由若干個(gè)屬性來(lái)刻畫。碼:惟一標(biāo)識(shí)實(shí)體的屬性集稱為碼。實(shí)體聯(lián)系圖(ER圖):提供了表示實(shí)體型、屬性和聯(lián)系的方

4、法:實(shí)體型:用矩形表示屬性:用橢圓形表示聯(lián)系:用菱形表示,12 .;每個(gè)班有若干學(xué)生,每個(gè)學(xué)生選修若干課程,每門課可由若干學(xué)生選修。請(qǐng)用ER圖畫出此學(xué)校的概念模型。答:13 .某工廠生產(chǎn)若干產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的零件可用在不同的產(chǎn)品上。這些零件由不同的原材料制成,不同零件所用的材料可以相同。這些零件按所屬的不同產(chǎn)品分別放在倉(cāng)庫(kù)中,原材料按照類別放在若干倉(cāng)庫(kù)中。請(qǐng)用E一R圖畫出此工廠產(chǎn)品、零件、材料、倉(cāng)庫(kù)的概念模型。答:(l)關(guān)系(2)屬性(3)域(4)18.試述關(guān)系模型的概念,定義并解釋以下術(shù)語(yǔ):元組(5)主碼(6)分量(7)關(guān)系模式答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系

5、完整性約束三部分組成。在用戶觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。(l)關(guān)系:一個(gè)關(guān)系對(duì)應(yīng)通常說(shuō)的一張表;(2)屬性:表中的一列即為一個(gè)屬性;(3)域:屬性的取值范圍;(4)元組:表中的一行即為一個(gè)元組;(5)主碼:表中的某個(gè)屬性組,它可以惟一確定一個(gè)元組;(6)分量:元組中的一個(gè)屬性值;(7)關(guān)系模式:對(duì)關(guān)系的描述,一般表示為關(guān)系名(屬性1,屬性2,屬性n)20.試述數(shù)據(jù)庫(kù)系統(tǒng)三級(jí)模式結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)點(diǎn)是什么?答:數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)由外模式、模式和內(nèi)模式組成。外模式,亦稱子模式或用戶模式,是數(shù)據(jù)庫(kù)用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)

6、構(gòu)和特征的描述,是數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。模式,亦稱邏輯模式,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)。外模式涉及的是數(shù)據(jù)的局部邏輯結(jié)構(gòu),通常是模式的子集。內(nèi)模式,亦稱存儲(chǔ)模式,是數(shù)據(jù)在數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別,它把數(shù)據(jù)的具體組織留給DBMs管理,使用戶能邏輯抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的表示和存儲(chǔ)。為了能夠在內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫(kù)系統(tǒng)在這三級(jí)模式之間提供了兩層映像:外模式/模式映像和模式/內(nèi)模式映

7、像。正是這兩層映像保證了數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。DDL:數(shù)據(jù)定義語(yǔ)言,用來(lái)定義數(shù)據(jù)庫(kù)模式、外模式、內(nèi)模式的語(yǔ)言。DML:數(shù)據(jù)操縱語(yǔ)言,用來(lái)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢、插入、刪除和修改的語(yǔ)句。22.什么叫數(shù)據(jù)與程序的物理獨(dú)立性?什么叫數(shù)據(jù)與程序的邏輯獨(dú)立性?為什么數(shù)據(jù)庫(kù)系統(tǒng)具有數(shù)據(jù)與程序的獨(dú)立性?答:數(shù)據(jù)與程序的邏輯獨(dú)立性:當(dāng)模式改變時(shí)(例如增加新的關(guān)系、新的屬性、改變屬性的數(shù)據(jù)類型等),由數(shù)據(jù)庫(kù)管理員對(duì)各個(gè)外模式/模式的映像做相應(yīng)改變,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡(jiǎn)稱數(shù)據(jù)的邏輯獨(dú)立性。

8、數(shù)據(jù)與程序的物理獨(dú)立性:當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)改變了,由數(shù)據(jù)庫(kù)管理員對(duì)模式/內(nèi)模式映像做相應(yīng)改變,可以使模式保持不變,從而應(yīng)用程序也不必改變,保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡(jiǎn)稱數(shù)據(jù)的物理獨(dú)立性。數(shù)據(jù)庫(kù)管理系統(tǒng)在三級(jí)模式之間提供的兩層映像保證了數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。第2章關(guān)系數(shù)據(jù)庫(kù)1.試述關(guān)系模型的三個(gè)組成部分。答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。3、(1)域,笛卡爾積,關(guān)系,元祖,屬性(2)主碼,候選碼,外部碼主碼:若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼候選碼:若關(guān)系中的某一屬性組的值能夠唯一的標(biāo)識(shí)一個(gè)元組外部碼:(3)關(guān)系模

9、式,關(guān)系,關(guān)系數(shù)據(jù)庫(kù)關(guān)系:關(guān)系是笛卡爾積的有限子集,是一個(gè)二維表關(guān)系模式:是對(duì)關(guān)系的描述關(guān)系數(shù)據(jù)庫(kù):在一個(gè)給定的應(yīng)用領(lǐng)域中(關(guān)系模式),所有實(shí)體及實(shí)體之間的聯(lián)系(關(guān)系)的關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫(kù)關(guān)系模式是靜態(tài)的,關(guān)系是動(dòng)態(tài)的,關(guān)系模式是型,關(guān)系是值,關(guān)系數(shù)據(jù)庫(kù)的值是這些關(guān)系模式在某一時(shí)刻對(duì)應(yīng)的關(guān)系的集合。4.試述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外部碼屬性的值也可以為空?什么情況下才可以為空?答:實(shí)體完整性規(guī)則是指若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中

10、每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值);或者等于S中某個(gè)元組的主碼值。即屬性F本身不是主屬性,則可以取空值,否則不能取空值。6 .試述等值連接與自然連接的區(qū)別和聯(lián)系。答:連接運(yùn)算符是“=”的連接運(yùn)算稱為等值連接。它是從關(guān)系R與S的廣義笛卡爾積中選取A,B屬性值相等的那些元組自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉。7 .關(guān)系代數(shù)的基本運(yùn)算有哪些?如何用這些基本運(yùn)算來(lái)表示其他運(yùn)算?答:并、差、笛卡爾積、投影和選擇5種運(yùn)算為基本的運(yùn)算。其他3種運(yùn)算,即交、連接和除,均可以用這5種基本運(yùn)算來(lái)表達(dá)。第3章關(guān)系

11、數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL3 .用sQL語(yǔ)句建立第二章習(xí)題5中的4個(gè)表。答:對(duì)于S表:S(SNO,SNAME,STATUS,CITY);建S表:CREATETABLES(SnoC(2)UNIQUE,SnameC(6),StatusC(2),CityC(4);對(duì)于P表:P(PNO,PNAME,COLOR,WEIGHT);建P表:CREATETABLEP(PnoC(2)UNIQUE,PnameC(6),COLORC(2),WEIGHTINT);對(duì)于J表:J(JNO,JNAME,CITY);建J表:CREATETABLEJ(JnoC(2)UNlQUE,JNAMEC(8),CITYC(4)對(duì)于sPJ表:sP

12、J(sNo,PNo,JNo,QTY);建SPJ表:SPJ(SNO,PNO,JNO,QTY)CREATETABLESPJ(SnoC(2),PnoC(2),JNOC(2),QTYINT)4 .針對(duì)上題中建立的4個(gè)表試用sQL語(yǔ)言完成第二章習(xí)題5中的查詢。(l)求供應(yīng)工程Jl零件的供應(yīng)商號(hào)碼SNO;SELECTDISTSNOFROMSPJWHEREJNOJ1'(2)求供應(yīng)工程Jl零件Pl的供應(yīng)商號(hào)碼SNO;SELECTDISTSNOFROMSPJWHEREJNO='J1'ANDPNO='P1'(3)求供應(yīng)工程Jl零件為紅色的供應(yīng)商號(hào)碼SNO;SELECTSNO

13、FROMSPJ,PWHEREJNO='J1'ANDSPJ.PNO=P.PNOANDCOLORS(4)求沒(méi)有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)JNO;SELECTDISTJNOFROMSPJWHEREJNONOTIN(SELEJNOFROMSPJ,P,SWHERES.CITY='天津'ANDCOLOR='紅'ANDS.SNO=SPJ.SNOANDP.PNO=SPJ.PNO)。(5)求至少用了供應(yīng)商Sl所供應(yīng)的全部零件的工程號(hào)JNO;由于VFP不允許子查詢嵌套太深,將查詢分為兩步A、查詢S1供應(yīng)商供應(yīng)的零件號(hào)SELECTDISTPNOFROMSPJ

14、WHERESNO='例果是(P1,P2)B、查詢哪一個(gè)工程既使用P1零件又使用P2零件。SELECTJNOFROMSPJWHEREPNO='P1'ANDJNOIN(SELECTJNOFROMSPJWHEREPNO='P2')5 .針對(duì)習(xí)題3中的四個(gè)表試用SQL語(yǔ)言完成以下各項(xiàng)操作:(1)找出所有供應(yīng)商的姓名和所在城市。SELECTSNAME,CITYFROMS(2)找出所有零件的名稱、顏色、重量。SELECTPNAME,COLOR,WEIGHTFROMP(3)找出使用供應(yīng)商S1所供應(yīng)零件的工程號(hào)碼。SELECTDISTJNOFROMSPJWHERESNO

15、='S1'(4)找出工程項(xiàng)目J2使用的各種零件的名稱及其數(shù)量。SELECTPNAME,QTYFROMSPJ,PWHEREP.PNO=SPJ.PNOANDSPJ.JNO='J2'(5)找出上海廠商供應(yīng)的所有零件號(hào)碼。SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='上海'(6)出使用上海產(chǎn)的零件的工程名稱。SELECTJNAMEFROMSPJ,S,JWHERES.SNO=SPJ.SNOANDS.CITY='上海'ANDJ.JNO=SPJ.JNO(7)找出沒(méi)有使用天津產(chǎn)的零件的工程號(hào)碼。注意:S

16、ELECTDISPJNOFROMSPJWHEREJNONOTIN(SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY='天津')適用于JNO是唯一或不唯一的情況.注意:SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY<>'天津'適用于JNO是唯一的情況(8)把全部紅色零件的顏色改成藍(lán)色。UPDATEPSETCOLOR='藍(lán)'WHERECOLOR='紅'(9)由S5供名J4的零件P6改為由S3供應(yīng)。UPDATESPJSETS

17、NO='S3'WHERESNO='S5'ANDJNO='J4'ANDPNO='P6'(10)從供應(yīng)商關(guān)系中刪除供應(yīng)商號(hào)是S2的記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄。A、DELETEFROMSWHERESNO='S2'B、DELETEFROMSPJWHERESNO='S2'(11)請(qǐng)將(S2,J6,P4,200)插入供應(yīng)情況關(guān)系。INSERTINTOSPJVALUES('S2','J6','P4',200)6 .什么是基本表?什么是視圖?答兩者的區(qū)別和

18、聯(lián)系是什么?基本表是本身獨(dú)立存在的表,在sQL中一個(gè)關(guān)系就對(duì)應(yīng)一個(gè)表。視圖是從一個(gè)或幾個(gè)基本表導(dǎo)出的表。視圖本身不獨(dú)立存儲(chǔ)在數(shù)據(jù)庫(kù)中,是一個(gè)虛表。即數(shù)據(jù)庫(kù)中只存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。7 .試述視圖的優(yōu)點(diǎn)。答(l)視圖能夠簡(jiǎn)化用戶的操作;(2)視圖使用戶能以多種角度看待同一數(shù)據(jù);(3)視圖對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)立性;(4)視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù)。8 .所有的視圖是否都可以更新?為什么?答:不是。視圖是不實(shí)際存儲(chǔ)數(shù)據(jù)的虛表,因此對(duì)視圖的更新,最終要

19、轉(zhuǎn)換為對(duì)基本表的更新。因?yàn)橛行┮晥D的更新不能惟一有意義地轉(zhuǎn)換成對(duì)相應(yīng)基本表的更新,所以,并不是所有的視圖都是可更新的9 .哪類視圖是可以更新的?哪類視圖是不可更新的?各舉一例說(shuō)明。答:基本表的行列子集視圖一般是可更新的。若視圖的屬性來(lái)自集函數(shù)、表達(dá)式,則該視圖肯定是不可以更新的。11.請(qǐng)為三建工程項(xiàng)目建立一個(gè)供應(yīng)情況的視圖,包括供應(yīng)商代碼(SNO)、零件代碼(PNO)、供應(yīng)數(shù)量(QTY)。CREATEVIEWVSPASSELECTSNO,PNO,QTYFROMSPJ,JWHERESPJ.JNO=J.JNOANDJ.JNAME='三建'針對(duì)該視圖VSP完成下列查詢:(1)找出三建

20、工程項(xiàng)目使用的各種零件代碼及其數(shù)量。SELECTDISTPNO,QTYFROMVSP(2)找出供應(yīng)商S1的供應(yīng)情況。SELECTDIST*FROMVSPWHERESNO='S1'第4章數(shù)據(jù)庫(kù)安全性5.試述實(shí)現(xiàn)數(shù)據(jù)庫(kù)安全性控制的常用方法和技術(shù)。答:實(shí)現(xiàn)數(shù)據(jù)庫(kù)安全性控制的常用方法和技術(shù)有:(l)用戶標(biāo)識(shí)和鑒別:該方法由系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)自己的名字或身份。每次用戶要求進(jìn)入系統(tǒng)時(shí),由系統(tǒng)進(jìn)行核對(duì),通過(guò)鑒定后才提供系統(tǒng)的使用權(quán)。(2)存取控制:通過(guò)用戶權(quán)限定義和合法權(quán)檢查確保只有合法權(quán)限的用戶訪問(wèn)數(shù)據(jù)庫(kù),所有未被授權(quán)的人員無(wú)法存取數(shù)據(jù)。例如CZ級(jí)中的自主存取控制(DAC),Bl

21、級(jí)中的強(qiáng)制存取控制(MAC)。(3)視圖機(jī)制:為不同的用戶定義視圖,通過(guò)視圖機(jī)制把要保密的數(shù)據(jù)對(duì)無(wú)權(quán)存取的用戶隱藏起來(lái),從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù)。(4)審計(jì):建立審計(jì)日志,把用戶對(duì)數(shù)據(jù)庫(kù)的所有操作自動(dòng)記錄下來(lái)放入審計(jì)日志中,DBA可以利用審計(jì)跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫(kù)現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。(5)數(shù)據(jù)加密:對(duì)存儲(chǔ)和傳輸?shù)臄?shù)據(jù)進(jìn)行加密處理,從而使得不知道解密算法的人無(wú)法獲知數(shù)據(jù)的內(nèi)容。6 .什么是數(shù)據(jù)庫(kù)中的自主存取控制方法和強(qiáng)制存取控制方法?答:自主存取控制方法:定義各個(gè)用戶對(duì)不同數(shù)據(jù)對(duì)象的存取權(quán)限。當(dāng)用戶對(duì)數(shù)據(jù)庫(kù)訪問(wèn)時(shí)首先檢查用戶的存取權(quán)限。防止

22、不合法用戶對(duì)數(shù)據(jù)庫(kù)的存取。強(qiáng)制存取控制方法:每一個(gè)數(shù)據(jù)對(duì)象被(強(qiáng)制地)標(biāo)以一定的密級(jí),每一個(gè)用戶也被(強(qiáng)制地)授予某一個(gè)級(jí)別的許可證。系統(tǒng)規(guī)定只有具有某一許可證級(jí)別的用戶才能存取某一個(gè)密級(jí)的數(shù)據(jù)對(duì)象。7 .SQL語(yǔ)言中提供了哪些數(shù)據(jù)控制(自主存取控制)的語(yǔ)句?請(qǐng)?jiān)嚺e幾例說(shuō)明它們的使用方法。答:SQL中的自主存取控制是通過(guò)GRANT語(yǔ)句和REVOKE語(yǔ)句來(lái)實(shí)現(xiàn)的。如:GRANTSELECT,INSERTONStudentTO王平WITHGRANTOPTION;就將Student表的SELECT和INSERT權(quán)限授予了用戶王平,后面的“WITHGRANTOPTION”子句表示用戶王平同時(shí)也獲得了“

23、授權(quán)”的權(quán)限,即可以把得到的權(quán)限繼續(xù)授予其他用戶。REVOKEINSERTONStudentFROM王平CASCADE;就將Student表的INSERT權(quán)限從用戶王平處收回,選項(xiàng)CASCADE表示,如果用戶王平將Student的INSERT權(quán)限又轉(zhuǎn)授給了其他用戶,那么這些權(quán)限也將從其他用戶處收回。8.請(qǐng)用SQL的GRANT和REVOKE語(yǔ)句(加上視圖機(jī)制)完成以下授權(quán)定義或存取控制功能:(a)用戶王明對(duì)兩個(gè)表有SELECT權(quán)力。GRANTSELECTON職工,部門TO王明(b)用戶李勇對(duì)兩個(gè)表有INSERT和DELETE權(quán)力。GRANTINSERT,DELETEON職工,部門TO李勇(c)每

24、個(gè)職工只對(duì)自己的記錄有SELECT權(quán)力。GRANTSELECTON職工WHENUSER(尸NAMETOALL;(d)用戶劉星對(duì)職工表有SELECT權(quán)力,對(duì)工資字段具有更新權(quán)力。GRANTSELECT,UPDATE(工資)ON職工TO劉星(e)用戶張新具有修改這兩個(gè)表的結(jié)構(gòu)的權(quán)力。GRANTALTERTABLEON職工,部門TO張新;(f)用戶周平具有對(duì)兩個(gè)表所有權(quán)力(讀,插,改,刪數(shù)據(jù)),并具有給其他用戶授權(quán)的權(quán)力。GRANTALLPRIVILIGESON職工,部門TO周平WITHGRANTOPTION;(g)用戶楊蘭具有從每個(gè)部門職工中SELECT最高工資、最低工資、平均工資的權(quán)力,他不能查

25、看每個(gè)人的工資。CREATEVIEW部門工資ASSELECT部門.名稱,MAX(工資),MIN(工資),AVG(工資)FROM職工,部門WHERE職工.部門號(hào)二部門.部門號(hào)GROUPBY職工.部門號(hào)GRANTSELECTON部門工資TO楊蘭;13.什么是數(shù)據(jù)庫(kù)的審計(jì)功能,為什么要提供審計(jì)功能?答:審計(jì)功能是指DBMS的審計(jì)模塊在用戶對(duì)數(shù)據(jù)庫(kù)執(zhí)行操作的同時(shí)把所有操作自動(dòng)記錄到系統(tǒng)的審計(jì)日志中。因?yàn)槿魏蜗到y(tǒng)的安全保護(hù)措施都不是完美無(wú)缺的,蓄意盜竊破壞數(shù)據(jù)的人總可能存在。利用數(shù)據(jù)庫(kù)的審計(jì)功能,DBA可以根據(jù)審計(jì)跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫(kù)現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。第5章

26、數(shù)據(jù)庫(kù)完整性1什么是數(shù)據(jù)庫(kù)的完整性?答:數(shù)據(jù)庫(kù)的完整性是指數(shù)據(jù)的正確性和相容性。2 .數(shù)據(jù)庫(kù)的完整性概念與數(shù)據(jù)庫(kù)的安全性概念有什么區(qū)別和聯(lián)系?答:數(shù)據(jù)的完整性和安全性是兩個(gè)不同的概念,但是有一定的聯(lián)系。前者是為了防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義的數(shù)據(jù),防止錯(cuò)誤信息的輸入和輸出,即所謂垃圾進(jìn)垃圾出(Garba:eInGarba:eout)所造成的無(wú)效操作和錯(cuò)誤結(jié)果。后者是保護(hù)數(shù)據(jù)庫(kù)防止惡意的破壞和非法的存取。也就是說(shuō),安全性措施的防范對(duì)象是非法用戶和非法操作,完整性措施的防范對(duì)象是不合語(yǔ)義的數(shù)據(jù)。3 .什么是數(shù)據(jù)庫(kù)的完整性約束條件?可分為哪幾類?答完整性約束條件是指數(shù)據(jù)庫(kù)中的數(shù)據(jù)應(yīng)該滿足的語(yǔ)義約束條件

27、。一般可以分為六類:靜態(tài)列級(jí)約束、靜態(tài)元組約束、靜態(tài)關(guān)系約束、動(dòng)態(tài)列級(jí)約束、動(dòng)態(tài)元組約束、動(dòng)態(tài)關(guān)系約束。靜態(tài)列級(jí)約束是對(duì)一個(gè)列的取值域的說(shuō)明,包括以下幾個(gè)方面:(1)對(duì)數(shù)據(jù)類型的約束,包括數(shù)據(jù)的類型、長(zhǎng)度、單位、精度等;(2)對(duì)數(shù)據(jù)格式的約束;(3)對(duì)取值范圍或取值集合的名束;(4)對(duì)空值的約束;(5)其他約束。靜態(tài)元組約束就是規(guī)定組成一個(gè)元組的各個(gè)列之間的約束關(guān)系,靜態(tài)元組約束只局限在單個(gè)元組上。靜態(tài)關(guān)系約束是在一個(gè)關(guān)系的各個(gè)元組之間或者若干關(guān)系之間常常存在各種聯(lián)系或約束。常見的靜態(tài)關(guān)系約束有:(l)實(shí)體完整性約束;(2)參照完整性約束;(3)函數(shù)依賴約束。動(dòng)態(tài)列級(jí)約束是修改列定義或列值時(shí)應(yīng)

28、滿足的約束條件,包括下面兩方面:(l)修改列定義時(shí)的約束;(2)修改列值時(shí)的約束。動(dòng)態(tài)元組約束是指修改某個(gè)元組的值時(shí)需要參照其舊值,并且新舊值之間需要滿足某種約束條件。動(dòng)態(tài)關(guān)系約束是加在關(guān)系變化前后狀態(tài)上的限制條件,例如事務(wù)一致性、原子性等約束條件。4 .DBMS的完整性控制機(jī)制應(yīng)具有哪些功能?答:DBMS的完整性控制機(jī)制應(yīng)具有三個(gè)方面的功能:(l)定義功能,即提供定義完整性約束條件的機(jī)制;(2)檢查功能,即檢查用戶發(fā)出的操作請(qǐng)求是否違背了完整性約束條件;(3)違約反應(yīng):如果發(fā)現(xiàn)用戶的操作請(qǐng)求使數(shù)據(jù)違背了完整性約束條件,則采取一定的動(dòng)作來(lái)保證數(shù)據(jù)的完整性。5 .RDBMS在實(shí)現(xiàn)參照完整性時(shí)需要

29、考慮哪些方面?答RDBMs在實(shí)現(xiàn)參照完整性時(shí)需要考慮以下幾個(gè)方面:(l)外碼是否可以接受空值。(2)冊(cè)l除被參照關(guān)系的元組時(shí)的考慮,這時(shí)系統(tǒng)可能采取的作法有三種:l)級(jí)聯(lián)刪除(CASCADES);2)受限刪除(RESTRICTED);3)置空值刪除(NULLIFIES)。(3)在參照關(guān)系中插入元組時(shí)的問(wèn)題,這時(shí)系統(tǒng)可能采取的作法有:l)受限插入;2)遞歸插入。(4)修改關(guān)系中主碼的問(wèn)題。一般是不能用UPDATE語(yǔ)句修改關(guān)系主碼的。如果需要修改主碼值,只能先刪除該元組,然后再把具有新主碼值的元組插入到關(guān)系中。如果允許修改主碼,首先要保證主碼的惟一性和非空,否則拒絕修改。然后要區(qū)分是參照關(guān)系還是被

30、參照關(guān)系。6 .假設(shè)有下面兩個(gè)關(guān)系模式:職工(職工號(hào),姓名,年齡,職務(wù),工資,部門號(hào)),其中職工號(hào)為主碼;部門(部門號(hào),名稱,經(jīng)理名,電話),其中部門號(hào)為主碼。用sQL語(yǔ)言定義這兩個(gè)關(guān)系模式,要求在模式中完成以下完整性約束條件的定義:定義每個(gè)模式的主碼;定義參照完整性;定義職工年齡不得超過(guò)60歲。答CREATETABLEDEPT(DeptnoNUMBER(2),DeptnameVARCHAR(10),ManagerVARCHAR(10),PhoneNumberChar(12)CONSTRAINTPK_SCRIMARYKEY(Deptno);CREATETABLEEMP(EmpnoNUMBER(

31、4),EnameVARCHAR(10),AgeNUMBER(2),CONSTRAINTC1CHECK(Aage<=60),JobVARCHAR(9),SalNUMBER(7,2),DeptnoNUMBER(2),CONSTRAINTFK_DEPTNOFOREIGNKEY(Deptno)REFFERENCESDEPT(Deptno);7 .關(guān)系系統(tǒng)中,當(dāng)操作違反實(shí)體完整性、參照完整性和用戶定義的完整性約束條件時(shí),一般是如何分別進(jìn)行處理的?答:對(duì)于違反實(shí)體完整性和用戶定義的完整性的操作一般都采用拒絕執(zhí)行的方式進(jìn)行處理。而對(duì)于違反參照完整性的操作,并不都是簡(jiǎn)單地拒絕執(zhí)行,有時(shí)要根據(jù)應(yīng)用語(yǔ)義執(zhí)行

32、一些附加的操作,以保證數(shù)據(jù)庫(kù)的正確性。第6章關(guān)系數(shù)據(jù)庫(kù)理論1 .理解并給出下列術(shù)語(yǔ)的定義:函數(shù)依賴、部分函數(shù)依賴、完全函數(shù)依賴、傳遞依賴、候選碼、主碼、外碼、全碼(All一key)、1NF、ZNF、3NF、BcNF、多值依賴、4NF。定義1:設(shè)R(U)是屬性集U上的關(guān)系模式。X,Y是屬性集U的子集。若對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數(shù)確定Y或Y函數(shù)依賴于X,記作XY。(即只要X上的屬性值相等,Y上的值一定相等。)術(shù)語(yǔ)和記號(hào):XY,但Y不是X的子集,則稱XY是非平凡的函數(shù)依賴。若不特別聲明,總是討論非平凡的函數(shù)依賴。XY

33、,但Y是X的子集,則稱XY是平凡的函數(shù)依賴。若XY,則X叫做決定因素(Determinant)。若XY,YX,則記作XY。、若Y不函數(shù)依賴于X,則記作XY。定義2:在R(U)中,如果XY,并且對(duì)于X的任何一個(gè)真子集'X',都有X'Y,則稱Y對(duì)X完全函數(shù)依賴若XY,但Y不完全函數(shù)依賴于X,則稱Y對(duì)X部分函數(shù)依賴定義3:若關(guān)系模式R的每一個(gè)分量是不可再分的數(shù)據(jù)項(xiàng),則關(guān)系模式R屬于第一范式(1NF)。定義4:若關(guān)系模式RC1NF,且每一個(gè)非主屬性完全函數(shù)依賴于碼,則關(guān)系模式RC2NF。(即1NF消除了非主屬性對(duì)碼的部分函數(shù)依賴則成為2NF)。定義5:關(guān)系模式R<U,F&

34、gt;中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z不是Y的子、集)使得XY,YX,YZ成立,則稱R<U,F>C3NF。定義6:關(guān)系模式R<U,F>C1NF。若XY且Y不是X的子集時(shí),X必含有碼,則R<U,F>£BCNF。定義7:關(guān)系模式R<U,F>C1NF,如果對(duì)于R的每個(gè)非平凡多值依賴XY(Y不是X的子集,Z=U-X-Y不為空),X都含有碼,則稱R<U,F>4NFo2 .建立一個(gè)關(guān)于系、學(xué)生、班級(jí)、學(xué)會(huì)等諸信息的關(guān)系數(shù)據(jù)庫(kù)。學(xué)生:學(xué)號(hào)、姓名、出生年月、系名、班號(hào)、宿舍區(qū)。班級(jí):班號(hào)、專業(yè)名、系名、人數(shù)、入校年份。系:系名

35、、系號(hào)、系辦公地點(diǎn)、人數(shù)。學(xué)會(huì):學(xué)會(huì)名、成立年份、辦公地點(diǎn)、人數(shù)。語(yǔ)義如下:一個(gè)系有若干專業(yè),每個(gè)專業(yè)每年只招一個(gè)班,每個(gè)班有若干學(xué)生。一個(gè)系的學(xué)生住在同一宿舍區(qū)。每個(gè)學(xué)生可參加若干學(xué)會(huì),每個(gè)學(xué)會(huì)有若干學(xué)生。學(xué)生參加某學(xué)會(huì)有一個(gè)入會(huì)年份。請(qǐng)給出關(guān)系模式,寫出每個(gè)關(guān)系模式的極小函數(shù)依賴集,指出是否存在傳遞函數(shù)依賴,對(duì)于函數(shù)依賴左部是多屬性的情況討論函數(shù)依賴是完全函數(shù)依賴,還是部分函數(shù)依賴。指出各關(guān)系模式的候選碼、外部碼,有沒(méi)有全碼存在?解:(1)關(guān)系模式如下:學(xué)生:S(Sno,Sname,Sbirth,Dept,Class,Rno)班級(jí):C(Class,Pname,Dept,Cnum,Cyear

36、)系:D(Dept,Dno,Office,Dnum)學(xué)會(huì):M(Mname,Myear,Maddr,Mnum)(2)每個(gè)關(guān)系模式的最小函數(shù)依賴集如下:A、學(xué)生S(Sno,Sname,Sbirth,Dept,Class,Rno)的最小函數(shù)依賴集如下:SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno傳遞依賴如下:由于SnoDept,而DeptSno,DeptRno(宿舍區(qū))所以Sno與Rno之間存在著傳遞函數(shù)依賴。由于ClassDept,DeptClass,DeptRno所以Class與Rno之間存在著傳遞函數(shù)依賴。由于SnoClass,ClassSno,C

37、lassDept所以Sno與Dept之間存在著傳遞函數(shù)依賴。B、班級(jí)C(Class,Pname,Dept,Cnum,Cyear)的最小函數(shù)依賴集如下:ClassPname,ClassCnum,ClassCyear,PnameDept.由于ClassPname,PnameClass,PnameDept所以C1ass與Dept之間存在著傳遞函數(shù)依賴。C、系D(Dept,Dno,Office,Dnum)的最小函數(shù)依賴集如下:DeptDno,DnoDept,DnoOffice,DnoDnum根據(jù)上述函數(shù)依賴可知,Dept與Office,Dept與Dnum之間不存在傳遞依賴。D、學(xué)會(huì)M(Mname,My

38、ear,Maddr,Mnum)的最小函數(shù)依賴集如下:MnameMyear,MnameMaddr,MnameMnum該模式不存在傳遞依賴。(3)各關(guān)系模式的候選碼、外部碼,全碼如下:A、學(xué)生S候選碼:Sno;外部碼:Dept、Class;無(wú)全碼B、班級(jí)C候選碼:Class;外部碼:Dept;無(wú)全碼C、系D候選碼:Dept或Dno;無(wú)外部碼;無(wú)全碼D、學(xué)會(huì)M候選碼:Mname;無(wú)外部碼;無(wú)全碼10、?每個(gè)訂貨單ORDNO包含顧客號(hào)CUSTNO、收貨地址ADDRESS、訂貨日期DATE、訂貨細(xì)則LINENO(每個(gè)訂貨單有若干條),每條訂貨細(xì)則內(nèi)容為貨物號(hào)ITEMNO及訂貨數(shù)據(jù)QTYORD。每種貨物包

39、含貨物號(hào)ITEMNO(唯一的)、制造廠商PLANTNO、每個(gè)廠商的實(shí)際存貨量QTYOH、規(guī)定的最低存貨量DANGER和貨物描述DESCN。為這些數(shù)據(jù)設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù),首先給出合理的數(shù)據(jù)依賴。答:其語(yǔ)義假設(shè)如下:(1)任何兩個(gè)顧客的收貨地址都不相;(2)每一訂單都有一個(gè)唯一的訂單號(hào)碼;(3)每個(gè)訂單的訂單細(xì)則在該訂單里有一個(gè)唯一的編號(hào)。函數(shù)依賴如下:CUSTNOfBAL,CUSTNOCREDLIM,CUSTN。fDISCOUNTADDRESSCUSTNO?ORDNODATE(ORDNO-LINENO)tQTYORD.CORDNO,LINENO)tQTYOUT(ORDNO,LINENO).(ITEM

40、NO,PLANTNO)(ITEMNO,PLANTNO)->QTYOH(ITEMNO,PLANTNO)-DANGERITEMNODESCN相應(yīng)的BCNF如下:顧客:CUST(CUSTNO,BAL,CREDLIM,DISCOUNT)發(fā)貨:SHOPTO(ADDRESS,CUSTNO)訂貨單:ORDHEAD(ORDNO,ADDRESS,DATE)訂貨細(xì)則:ORDLINE(ORDNO,LINENO,ITEMNO,QTYORD,QTYOUT)貨物:ITEM(ITEMNO,DESCN)供貨:IP(ITEMNO,PLANTNO,QTYOH,DANGER)第7章數(shù)據(jù)庫(kù)設(shè)計(jì)1 .試述數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程。答:這里

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

42、據(jù)模型,并對(duì)其進(jìn)行優(yōu)化。(4)數(shù)據(jù)庫(kù)物理設(shè)計(jì):為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法)。(5)數(shù)據(jù)庫(kù)實(shí)施:設(shè)計(jì)人員運(yùn)用DBMS提供的數(shù)據(jù)語(yǔ)言、工具及宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù),編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。(6)數(shù)據(jù)庫(kù)運(yùn)行和維護(hù):在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程中對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改。6.數(shù)據(jù)字典的內(nèi)容和作用是什么?答:數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合。數(shù)據(jù)字典的內(nèi)容通常包括:(l)數(shù)據(jù)項(xiàng);(2)數(shù)據(jù)結(jié)構(gòu);(3)數(shù)據(jù)流;(4)數(shù)據(jù)存儲(chǔ);(5)處理過(guò)程五個(gè)部分。其中數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小組成單位,若干個(gè)數(shù)據(jù)項(xiàng)可以組成一個(gè)數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)

43、字典通過(guò)對(duì)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的定義來(lái)描述數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)的邏輯內(nèi)容。數(shù)據(jù)字典的作用:數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫(kù)中數(shù)據(jù)的描述,在需求分析階段建立,是下一步進(jìn)行概念設(shè)計(jì)的基礎(chǔ),并在數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中不斷修改、充實(shí)、完蓋。12?18 .現(xiàn)有一局部應(yīng)用,包括兩個(gè)實(shí)體:“出版社”和“作者”,這兩個(gè)實(shí)體是多對(duì)多的聯(lián)系,請(qǐng)讀者自己設(shè)計(jì)適當(dāng)?shù)膶傩?,畫出ER圖,再將其轉(zhuǎn)換為關(guān)系模型(包括關(guān)系名、屬性名、碼和完整性約束條件)。答:圖為;關(guān)系模型為:作者(作者號(hào),姓名,年齡,性別,電話,地址)出版社(出版社號(hào),名稱,地址,聯(lián)系電話)出版(作者號(hào),出版社號(hào),書的數(shù)量)出版關(guān)系的主碼作者號(hào),出版社號(hào)分別參照作者關(guān)系的主碼作者號(hào)和

44、出版社關(guān)系的主碼出版社號(hào)。19 .請(qǐng)?jiān)O(shè)計(jì)一個(gè)圖書館數(shù)據(jù)庫(kù),此數(shù)據(jù)庫(kù)中對(duì)每個(gè)借閱者保存讀者記錄,包括:讀者號(hào),姓名,地址,性別,年齡,單位。對(duì)每本書存有:書號(hào),書名,作者,出版社。對(duì)每本被借出的書存有讀者號(hào)、借出日期和應(yīng)還日期。要求:給出ER圖,再將其轉(zhuǎn)換為關(guān)系模型。答:ER圖為:關(guān)系模型為:讀者(讀者號(hào),姓名,地址,性別書(書號(hào),書名,作者,出版社)借書(讀者號(hào),書號(hào),借出日期,年齡,單位)應(yīng)還日期)第10章數(shù)據(jù)庫(kù)恢復(fù)技術(shù)1.試述事務(wù)的概念及事務(wù)的4個(gè)特性。答:事務(wù)是用戶定義的一個(gè)數(shù)據(jù)庫(kù)操作序列,這些操作要么全做要么全不做,是一個(gè)不可分割的工作單位。事務(wù)具有4個(gè)特性:原子性(Atomicity

45、)、一致性(consistency)、隔離性(Isolation)和持續(xù)性(Durability)。這4個(gè)特性也簡(jiǎn)稱為ACID特性。原子性:事務(wù)是數(shù)據(jù)庫(kù)的邏輯工作單位,事務(wù)中包括的諸操作要么都做,要么都不做。一致性:事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。隔離性:一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。即一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對(duì)其他并發(fā)事務(wù)是隔離的,并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾。持續(xù)性:持續(xù)性也稱永久性(Pe而anence),指一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來(lái)的其他操作或故障不應(yīng)該對(duì)其執(zhí)行結(jié)果有任何影響。4 .數(shù)據(jù)庫(kù)運(yùn)行中可能產(chǎn)

46、生的故障有哪幾類?哪些故障影響事務(wù)的正常執(zhí)行?哪些故障破壞數(shù)據(jù)庫(kù)數(shù)據(jù)?答:數(shù)據(jù)庫(kù)系統(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ù)庫(kù)數(shù)據(jù)。5 .數(shù)據(jù)庫(kù)恢復(fù)的基本技術(shù)有哪些?答:數(shù)據(jù)轉(zhuǎn)儲(chǔ)和登錄日志文件是數(shù)據(jù)庫(kù)恢復(fù)的基本技術(shù)。當(dāng)系統(tǒng)運(yùn)行過(guò)程中發(fā)生故障,利用轉(zhuǎn)儲(chǔ)的數(shù)據(jù)庫(kù)后備副本和日志文件就可以將數(shù)據(jù)庫(kù)恢復(fù)到故障前的某個(gè)一致性狀態(tài)。6 .數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ)的意義是什么?試比較各種數(shù)據(jù)轉(zhuǎn)儲(chǔ)方法。答:數(shù)據(jù)轉(zhuǎn)儲(chǔ)是數(shù)據(jù)庫(kù)恢復(fù)中采用的基本技術(shù)。所謂轉(zhuǎn)儲(chǔ)即DBA定期地將數(shù)據(jù)庫(kù)

47、復(fù)制到磁帶或另一個(gè)磁盤上保存起來(lái)的過(guò)程。當(dāng)數(shù)據(jù)庫(kù)遭到破壞后可以將后備副本重新裝入,將數(shù)據(jù)庫(kù)恢復(fù)到轉(zhuǎn)儲(chǔ)時(shí)的狀態(tài)。靜態(tài)轉(zhuǎn)儲(chǔ):在系統(tǒng)中無(wú)運(yùn)行事務(wù)時(shí)進(jìn)行的轉(zhuǎn)儲(chǔ)操作,如上圖所示。靜態(tài)轉(zhuǎn)儲(chǔ)簡(jiǎn)單,但必須等待正運(yùn)行的用戶事務(wù)結(jié)束才能進(jìn)行。同樣,新的事務(wù)必須等待轉(zhuǎn)儲(chǔ)結(jié)束才能執(zhí)行。顯然,這會(huì)降低數(shù)據(jù)庫(kù)的可用性。動(dòng)態(tài)轉(zhuǎn)儲(chǔ):指轉(zhuǎn)儲(chǔ)期間允許對(duì)數(shù)據(jù)庫(kù)進(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ù)并不能保證正確有效。因?yàn)檗D(zhuǎn)儲(chǔ)期間運(yùn)行的事務(wù)可能修改了某些數(shù)據(jù),使得后援副本上的數(shù)據(jù)不是數(shù)據(jù)庫(kù)的一致版本。為此,必須把轉(zhuǎn)儲(chǔ)期間各事務(wù)對(duì)數(shù)據(jù)庫(kù)的

48、修改活動(dòng)登記下來(lái),建立日志文件(109file)。這樣,后援副本加上日志文件就能得到數(shù)據(jù)庫(kù)某一時(shí)刻的正確狀態(tài)。轉(zhuǎn)儲(chǔ)還可以分為海量轉(zhuǎn)儲(chǔ)和增量轉(zhuǎn)儲(chǔ)兩種方式。海量轉(zhuǎn)儲(chǔ)是指每次轉(zhuǎn)儲(chǔ)全部數(shù)據(jù)庫(kù)。增量轉(zhuǎn)儲(chǔ)則指每次只轉(zhuǎn)儲(chǔ)上一次轉(zhuǎn)儲(chǔ)后更新過(guò)的數(shù)據(jù)。從恢復(fù)角度看,使用海量轉(zhuǎn)儲(chǔ)得到的后備副本進(jìn)行恢復(fù)一般說(shuō)來(lái)更簡(jiǎn)單些。但如果數(shù)據(jù)庫(kù)很大,事務(wù)處理又十分頻繁,則增量轉(zhuǎn)儲(chǔ)方式更實(shí)用更有效。7 .什么是日志文件?為什么要設(shè)立日志文件?答:(1)日志文件是用來(lái)記錄事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新操作的文件。(2)設(shè)立日志文件的目的是:進(jìn)行事務(wù)故障恢復(fù);進(jìn)行系統(tǒng)故障恢復(fù);協(xié)助后備副本進(jìn)行介質(zhì)故障恢復(fù)。8 .登記日志文件時(shí)為什么必須先寫日志文

49、件,后寫數(shù)據(jù)庫(kù)?答:把對(duì)數(shù)據(jù)的修改寫到數(shù)據(jù)庫(kù)中和把表示這個(gè)修改的日志記錄寫到日志文件中是兩個(gè)不同的操作。有可能在這兩個(gè)操作之間發(fā)生故障,即這兩個(gè)寫操作只完成了一個(gè)。如果先寫了數(shù)據(jù)庫(kù)修改,而在運(yùn)行記錄中沒(méi)有登記這個(gè)修改,則以后就無(wú)法恢復(fù)這個(gè)修改了。如果先寫日志,但沒(méi)有修改數(shù)據(jù)庫(kù),在恢復(fù)時(shí)只不過(guò)是多執(zhí)行一次UNDO操作,并不會(huì)影響數(shù)據(jù)庫(kù)的正確性。所以一定要先寫日志文件,即首先把日志記錄寫到日志文件中,然后寫數(shù)據(jù)庫(kù)的修改。(即如何進(jìn)行事務(wù)故障的恢復(fù)?系統(tǒng)故障9 .針對(duì)不同的故障,試給出恢復(fù)的策略和方法。的恢復(fù)?介質(zhì)故障恢復(fù)?)答:事務(wù)故障的恢復(fù):事務(wù)故障的恢復(fù)是由DBMSDBMs執(zhí)行恢復(fù)步驟是:自動(dòng)

50、完成的,對(duì)用戶是透明的。(1)反向掃描文件日志(即從最后向前掃描日志文件),查找該事務(wù)的更新操作;(2)對(duì)該事務(wù)的更新操作執(zhí)行逆操作,即將日志記錄中“更新前的值”寫入數(shù)據(jù)庫(kù);(3)繼續(xù)反向掃描日志文件,做同樣處理;(4)如此處理下去,直至讀到此事務(wù)的開始標(biāo)記,該事務(wù)故障的恢復(fù)就完成了。系統(tǒng)故障的恢復(fù):系統(tǒng)故障可能會(huì)造成數(shù)據(jù)庫(kù)處于不一致狀態(tài):一是未完成事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新可能已寫入數(shù)據(jù)庫(kù);二是已提交事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新可能還留在緩沖區(qū),沒(méi)來(lái)得及寫入數(shù)據(jù)庫(kù)。因此恢復(fù)操作就是要撤銷(UNDO)故障發(fā)生時(shí)未完成的事務(wù),重做(REDO)已完成的事務(wù)。系統(tǒng)的恢復(fù)步驟是:(1)正向掃描日志文件,找出在故障發(fā)生前

51、已經(jīng)提交的事務(wù)隊(duì)列(REDO隊(duì)列)和未完成的事務(wù)隊(duì)列(uNDO隊(duì)列)。(2)對(duì)撤銷隊(duì)列中的各個(gè)事務(wù)進(jìn)行UNDO處理。進(jìn)彳TUNDO處理的方法是,反向掃描日志文件,對(duì)每個(gè)UNDO事務(wù)的更新操作執(zhí)行逆操作,即將日志記錄中“更新前的值"BeforeImage)寫入數(shù)據(jù)庫(kù)。(3)對(duì)重做隊(duì)列中的各個(gè)事務(wù)進(jìn)行REDO處理。進(jìn)彳TREDO處理的方法是:正向掃描日志文件,對(duì)每個(gè)REDO事務(wù)重新執(zhí)行日志文件登記的操作。即將日志記錄中“更新后的值”Afte,Image)寫入數(shù)據(jù)庫(kù)。介質(zhì)故障的恢復(fù):介質(zhì)故障是最嚴(yán)重的一種故障?;謴?fù)方法是重裝數(shù)據(jù)庫(kù),然后重做已完成的事務(wù)。具體過(guò)程是:(1)DBA裝入最新的數(shù)

52、據(jù)庫(kù)后備副本(離故障發(fā)生時(shí)刻最近的轉(zhuǎn)儲(chǔ)副本),使數(shù)據(jù)庫(kù)恢復(fù)到轉(zhuǎn)儲(chǔ)時(shí)的一致性狀態(tài);(2)DBA裝入轉(zhuǎn)儲(chǔ)結(jié)束時(shí)刻的日志文件副本;(3)DBA啟動(dòng)系統(tǒng)恢復(fù)命令,由DBMS完成恢復(fù)功能,即重做已完成的事務(wù)。第11章并發(fā)控制2 .并發(fā)操作可能會(huì)產(chǎn)生哪幾類數(shù)據(jù)不一致?用什么方法能避免各種不一致的情況?答:并發(fā)操作帶來(lái)的數(shù)據(jù)不一致性包括三類:丟失修改、不可重復(fù)讀和讀“臟夕數(shù)據(jù)。(l)丟失修改(lostupdate)兩個(gè)事務(wù)Tl和T2讀入同一數(shù)據(jù)并修改,T2提交的結(jié)果破壞了(覆蓋了)Tl提交的結(jié)果,導(dǎo)致Tl的修改被丟失。(2)不可重復(fù)讀(Non一RepeatableRead)不可重復(fù)讀是指事務(wù)Tl讀取數(shù)據(jù)后,事務(wù)幾執(zhí)行更新操作,使Tl無(wú)法再現(xiàn)前一次讀取結(jié)果。(3)讀“臟”數(shù)據(jù)(DirtyRead)讀“臟夕數(shù)據(jù)是指事務(wù)Tl修改某一數(shù)據(jù),并將其寫回磁盤,事務(wù)幾讀取同一數(shù)據(jù)后,Tl由于某種原因被撤銷,這時(shí)Tl已修改過(guò)的數(shù)據(jù)恢復(fù)原值,幾讀到的數(shù)據(jù)就與數(shù)據(jù)庫(kù)中的數(shù)據(jù)不一致,則幾讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)據(jù)。避免不

溫馨提示

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