數(shù)據(jù)庫原理課后題答案_第1頁
數(shù)據(jù)庫原理課后題答案_第2頁
數(shù)據(jù)庫原理課后題答案_第3頁
數(shù)據(jù)庫原理課后題答案_第4頁
數(shù)據(jù)庫原理課后題答案_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第11.試述數(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ù)庫是長期儲存在計算機(jī)內(nèi)的、 有組織的、 可共享的數(shù)據(jù)集合。 數(shù)據(jù)庫中的數(shù)據(jù)按照一定的數(shù)據(jù)模型組織。 描述和儲存, 具有較小的冗余度、 較 高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。(3)數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)是指在計算機(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):數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)

2、據(jù) 管理軟件,用于科學(xué)地組織和存儲數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)。 DBMS 的主要 功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操作功能、數(shù)據(jù)庫的建立和維護(hù)功能。6. 試述數(shù)據(jù)庫系統(tǒng)三級模式結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)點(diǎn)是什么? 答:數(shù)據(jù)庫系統(tǒng)的三級模式機(jī)構(gòu)由外模式、模式和內(nèi)模式組成。外模式,亦稱子模式或用戶模式, 是數(shù)據(jù)庫用戶 (包括應(yīng)用程序員和最終用戶) 能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視 圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。模式亦稱邏輯模式, 是數(shù)據(jù)庫中全體數(shù)據(jù)呃邏輯結(jié)構(gòu)和特征的描述, 是所有用 戶的公共數(shù)據(jù)視圖。 模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)。 外模式涉及的是數(shù)據(jù)的 內(nèi)部邏輯結(jié)

3、構(gòu),通常是模式的子集。內(nèi)模式, 亦稱存儲模式, 是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示, 即對數(shù)據(jù)的物理結(jié)構(gòu)和 存儲方式的描述。數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個抽象級別,它對數(shù)據(jù)的具體組織留給 DBMS管理,使用戶能邏輯抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機(jī)中的表示 和存儲。為了能夠在內(nèi)部實(shí)現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫系統(tǒng)在這三級模式 之間提供了兩層映像: 外模式模式映像和模式內(nèi)模式映像。 正是這兩層映像 保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。7. 定義并解釋下列術(shù)語。外模式:亦稱子模 式 或用戶 模 式,是 數(shù)據(jù)庫用戶 (包括 應(yīng)用程序員 和最 終用戶)能夠看見和使用的局

4、部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述, 是數(shù)據(jù)庫用戶的 數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。內(nèi)模式: 亦稱存儲模式, 是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示, 即對數(shù)據(jù)的物理結(jié)構(gòu)和存 儲方式的描述。模式:亦稱邏輯模式, 是數(shù)據(jù)庫中全體數(shù)據(jù)邏輯結(jié)構(gòu)和特征的描述, 是所有用戶 的公共數(shù)據(jù)視圖。 模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)。 外模式涉及的是數(shù)據(jù)的內(nèi) 部邏輯結(jié)構(gòu),通常是模式的子集。DDL:數(shù)據(jù)庫定義語言,用來定義數(shù)據(jù)庫模式、外模式、內(nèi)模式的語言。DML:數(shù)據(jù)操縱語言,用來對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行查詢、插入、刪除和修改的語 句。8. 什么叫數(shù)據(jù)與程序的物理獨(dú)立性?什么叫數(shù)據(jù)與程序的邏輯獨(dú)立性?為什么 數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)

5、與程序的獨(dú)立性? 答:數(shù)據(jù)與程序的邏輯獨(dú)立性:當(dāng)模式改變時 (例如增加新的關(guān)系、新的屬性、 改變屬性的數(shù)據(jù)類型等 ),由數(shù)據(jù)庫管理員各個外模式模式的映像做相應(yīng)改變, 可以使外模式保持不變。 應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的, 從而應(yīng)用程序不 必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡稱數(shù)據(jù)的邏輯獨(dú)立性。數(shù)據(jù)與程序的物理獨(dú)立性: 當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了, 有數(shù)據(jù)庫管理員對 模式內(nèi)模式映像做相應(yīng)改變, 可以使模式保持不變, 從而應(yīng)用程序也不必改變, 保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡稱數(shù)據(jù)的物理獨(dú)立性。數(shù)據(jù)庫管理系統(tǒng)在三級模式之間提供的兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù) 據(jù)具有較高的邏輯獨(dú)立性和物理獨(dú)立

6、性。第 2 章 數(shù)據(jù)模型3試描述數(shù)據(jù)模型的三個要素。 數(shù)據(jù)模型由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成。( 1)數(shù)據(jù)結(jié)構(gòu):是所研究的對象類型的集合,是對系統(tǒng)靜態(tài)特性的描述。( 2)數(shù)據(jù)操作:是對數(shù)據(jù)庫中各種對象(型 ) 的實(shí)例(值)允許進(jìn)行的操作的集 合,包括操作及有關(guān)的操作規(guī)則,是對系統(tǒng)動態(tài)特性的描述。(3) 數(shù)據(jù)的約束條件 : 是一組完整性規(guī)則的集合。 完整性規(guī)則是給定的數(shù)據(jù)模型 中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則, 用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài) 以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。7. 試述關(guān)系模型的概念,定義并解釋以下術(shù)語。 答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和

7、關(guān)系完整性約束三部分組成。(1)關(guān)系:一個關(guān)系對應(yīng)通常說法的一張表( 2)關(guān)系模式:對關(guān)系的描述,一般表示為:關(guān)系名(屬性 1,屬性 2,屬 性 n )(3)元祖:表中的一行即為一個元組(4)屬性:表中的一列即為一個屬性(5)碼:表中的某個屬性組,它可以惟一確定一個元組(6)域:屬性的取值范圍(7)分量:元組中的一個屬性值第 3 章 關(guān)系數(shù)據(jù)庫 3定義并理解下列術(shù)語,說明它們之間的聯(lián)系與區(qū)別。( 1)域:域是一組具有相同數(shù)據(jù)類型的值的集合 ;笛卡兒積:給定一組域 D1,D2,Dn,這些域中可以有相同的。 D1,D2, Dn的笛卡爾積為:D1D2 D(nd=1,d2,dn)|diDi,i=1,2

8、,n 其中每一個元素( d1, d2, dn)叫做一個 n 元組或簡稱元組。元素中的 每一個值 di 叫做一個分量。關(guān)系:在域 D1,D2,Dn上笛卡爾積 D1D2Dn 的子集稱為關(guān)系,表示為 R (D1,D2,Dn)元組:關(guān)系中的每個元素是關(guān)系中的元組。 屬性:關(guān)系也是一個二維表, 表的每行對應(yīng)一個元組, 表的每列對應(yīng)一個域。 由于域可以相同,為了加以區(qū)分,必須對每列起一個名字,稱為屬性。(2)候選碼:若關(guān)系中的某一屬性組的值能唯一地標(biāo)識一個元組,則稱該屬性 組為候選碼。主碼:若一個關(guān)系有多個候選碼,則選定其中一個為主碼。外部碼:設(shè) F 是基本關(guān)系 R的一個或一組屬性,但不是關(guān)系 R的碼,如

9、果 F與基本關(guān)系 S的主碼 Ks相對應(yīng),則稱 F 是基本關(guān)系 R的外部碼,簡稱外碼。基本關(guān)系 R稱為參照關(guān)系,基本關(guān)系 S 稱為被參照關(guān)系或目標(biāo)關(guān)系。關(guān)系R 和 S 可以是相同的關(guān)系。(3)關(guān)系模式: 關(guān)系的描述稱為關(guān)系模式。 它可以形式化地表示為 R(U,D,dom, F)其中 R為關(guān)系名, U為組成該關(guān)系的屬性名集合, D為屬性組 U 中屬性所來 自的域, dom 為屬性向域的映像集合, F 為屬性間數(shù)據(jù)的依賴關(guān)系集合。關(guān)系:在域 D1,D2,,Dn 上笛卡兒積 D1D2Dn 的子集稱為關(guān)系,表 示為 R(D1,D2,Dn ),關(guān)系是關(guān)系模式在某一時刻的狀態(tài)或內(nèi)容。關(guān)系模式 是靜止的、穩(wěn)定

10、的;而關(guān)系是動態(tài)的、隨時間不斷變化的,因?yàn)殛P(guān)系操作在不斷 更新著數(shù)據(jù)庫中的數(shù)據(jù)。關(guān)系數(shù)據(jù)庫: 關(guān)系數(shù)據(jù)庫也有型和值之分。 關(guān)系數(shù)據(jù)庫的型也稱為關(guān)系數(shù)據(jù) 庫模式,是對關(guān)系數(shù)據(jù)庫的描述, 它包括若干域的定義以及在這些域上定義的若 干關(guān)系模式。 關(guān)系數(shù)據(jù)庫的值是這些關(guān)系模式在某一時刻對應(yīng)的關(guān)系的集合, 通 常就稱為關(guān)系數(shù)據(jù)庫。4 試述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外部碼屬性的值也可 以為空?什么情況下才可以為空?答:關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件。 關(guān)系模型中可以有三類 完整性約束:實(shí)體完整性、參照完整性和用戶定義的完整性。其中實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整

11、性約束條件, 被稱 做事關(guān)系的兩個不變性,應(yīng)該由關(guān)系系統(tǒng)自動支持。(1)實(shí)體完整性規(guī)則:若屬性 A 是基本關(guān)系 R 的主屬性,則屬性 A 不能取空 值。(2)參照完整性規(guī)則:若屬性(或?qū)傩越M) F 是基本關(guān)系 R 的外碼,它與基 本關(guān)系 S 的主碼 Ks 相對應(yīng)(基本關(guān)系 R 和 S 不一定是不同的關(guān)系) ,則對于 R 中每個元組在 F 上的值必須為:1)或者取空值( F 的每個屬性值均為空值)2)或者等于 S 中的某個元組的主碼值。(3)用戶定義的完整性是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件。 它反映某一具 體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。在參照完整性中, 外部碼屬性的值可以為空, 它表示

12、該屬性的值尚未確定, 但前提條件是該外部碼屬性不是其所在關(guān)系的主屬性。例如,在下面的“學(xué)生”表中, “專業(yè)號”是一個外部碼,不是學(xué)生表的主 屬性,可以為空,其語義是,該學(xué)生的專業(yè)尚未確定。學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡) 專業(yè)(專業(yè)號,專業(yè)名)而在下面的“選修”表中的“課程號”雖然也是一個外部碼屬性,但它又是 “課程”表的主屬性,所以不能為空,因?yàn)殛P(guān)系模型必須滿足實(shí)體完整性。課程(課程號,課程名,學(xué)分) 選修(學(xué)號,課程號,成績) p61 5、設(shè)有一個 SPJ數(shù)據(jù)庫,包括 S、P、J、 SPJ四個關(guān)系模式: S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COL

13、OR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供應(yīng)商表 S 由供應(yīng)商代碼( SNO)、供應(yīng)商姓名( SNAME)、供應(yīng)商狀態(tài)( STATUS、) 供應(yīng)商所在城市( CITY)組成;零件表 P 由零件代碼 (PNO)、零件名( PNAME)、顏色( COLOR、) 重量( WEIGHT) 組成;工程項目表 J 由工程項目代碼( JNO)、工程項目名( JNAME)、工程項目所在城市 (CITY)組成;供應(yīng)情況表 SPJ由供應(yīng)商代碼( SNO)、零件代碼( PNO)、工程項目代碼( JNO)、 供應(yīng)數(shù)量( QTY)組成,表示某供應(yīng)商供應(yīng)某種零件

14、給某工程項目的數(shù)量為QTY。今有若干數(shù)據(jù)如下:S表SNOSNAMESTATUSCITYS1精益20天津S2盛錫10北京S3東方紅30北京S4豐泰盛20天津S5為民30上海P表PNOPNAMECOLORWEIGHTP1螺母紅12P2螺栓綠17P3螺絲刀藍(lán)14P4螺絲刀紅14P5凸輪藍(lán)40P6齒輪紅30J表JNOJNAMECITYJ1三建北京J2一汽長春J3彈簧廠天津J4造船廠天津J5機(jī)車廠唐山J6無線電廠常州J7半導(dǎo)體廠南京SPJ表SNOPNOJNOQTYS1P1J1200S1P1J3100S1P1J4700S1P2J2100S2P3J1400S2P3J2200S2P3J4500S2P3J540

15、0S2P5J1400S2P5J2100S3P1J1200S3P3J1200S4P5J1100S4P6J3300S4P6J4200S5P2J4100S5P3J1200S5P6J2200S5P6J4500試分別用關(guān)系代數(shù)完成如下查詢:(1)求供應(yīng)工程 J1 零件的供應(yīng)商號 SNO; 答關(guān)系代數(shù)SNO(JNO=J1 ( SPJ)(2)求供應(yīng)工程 J1零件 P1 的供應(yīng)商號 SNO; 答關(guān)系代數(shù)SNO(JNO=J1PNO=P1(SPJ)(3)求供應(yīng)工程 J1 零件為紅色的供應(yīng)商號 SNO; 答關(guān)系代數(shù)SNO(SNO,PNO(JNO=J1(SPJ)? PNO(COLOR=紅 (P)(4)求沒有使用天津供

16、應(yīng)商生產(chǎn)的紅色零件的工程號JNO;答關(guān)系代數(shù)JNO(J)-JNO(SNO(CITY=天津SNO,PN0,JNO(SPJ)PNO(COLOR=紅 (P)解析減法運(yùn)算中被減的部分是使用了天津供應(yīng)商生產(chǎn)的紅色零件的所有工程號, JNO( J)是全部工程的工程號, 兩者相減就是沒有使用天津供應(yīng)商生出的紅色零件的工程號, 包括沒有 使用任何零件的工程號。(5)求至少用了 S1 供應(yīng)商所供應(yīng)的全部零件的工程號JNO;答關(guān)系代數(shù)JNO, PNO(SPJ)PNO(SNO=s1(SPJ)解析 上面公式中除號前的部分是所有工程與該工程所用的零件,除號后的部分是 S1 所供應(yīng) 的全部零件號。對于 SPJ表中的某一個

17、 JNO,如果該工程使用的所有零件的集合包含S1 所 供應(yīng)的全部零件號,則該 JNO 符合本題條件,在除法運(yùn)算的結(jié)果集中??梢钥吹?,使用關(guān) 系代數(shù)的除法運(yùn)算概念清晰,語言表達(dá)也很簡單。7關(guān)系代數(shù)的基本運(yùn)算有哪些? 選擇、投影、并、差和笛卡兒積五種。 第 4 章 關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言 SQL 5針對習(xí)題 3 中的 4 個表試用 SQL完成如下操作。(1)找出所有供應(yīng)商的姓名和所在的城市。SELECT SNAM,E CITYFROM S; (5)找出上海廠同提供的所有零件號碼SELECT DISTINCT PNOFROM SPJ WHERE SNO IN(SELECT SNO FROM S WHE

18、RE CITY上=海); (8)把所有紅色的零件的顏色改成藍(lán)色UPDATE P SET COLOR藍(lán)= WHERE COLOR=紅 (10) 從供應(yīng)商的關(guān)系中刪除 S2 的記錄,并從供應(yīng)關(guān)系中刪除相應(yīng)記錄。DELETE FROM SPJ WHERE SNO2=; DELETE FROM S WHERE SNO=S2; 6什么是基本表?什么是視圖?兩者的區(qū)別和聯(lián)系是什么? 基本表是本身獨(dú)立存在的表。視圖是人一個或幾個基本表導(dǎo)出的表。 視圖本身不獨(dú)立存儲在數(shù)據(jù)庫中, 是一個虛表。 即數(shù) 據(jù)庫中只存放視圖的定義而不存放視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表 中。用戶可以如同基本表那樣使用視

19、圖,可以在視圖上再定義視圖。7試述視圖的優(yōu)點(diǎn)。1)視圖能簡化用戶的操作;2)視圖使用戶能以多種角度看待同一數(shù)據(jù);3)視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨(dú)立性;4)視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù)。9哪類視圖是可以更新的? 基本表的行列子集視圖是可以更新的。第 5 章 數(shù)據(jù)庫的安全性1 什么是數(shù)據(jù)庫的安全性? 答:數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露,更改過破壞。 試述實(shí)現(xiàn)數(shù)據(jù)庫安全性控制的常見方法和技術(shù)3 實(shí)現(xiàn)數(shù)據(jù)庫安全性控制的常見方法和技術(shù)有: (1)用戶標(biāo)識和鑒別:該方法由系統(tǒng)提供一定的方式讓用戶標(biāo)識自己的名字或身份。每次 用戶要求進(jìn)入系統(tǒng)時,由系統(tǒng)進(jìn)行核對,通過

20、鑒定后才提供系統(tǒng)的使用權(quán)。(2)存取控制:通過用戶權(quán)限定義和合法權(quán)檢查確保只有合法權(quán)限的用戶訪問數(shù)據(jù)庫,所 有未被授權(quán)的人無法存取數(shù)據(jù)。 例如 C2 集中地自主存取控制 (DAC),B1 集中的強(qiáng)制存取控 制( MAC)。(3)視圖機(jī)制:為不同的用戶定義視圖,通過視圖機(jī)制把要保密的數(shù)據(jù)對無權(quán)存取的用戶 隱藏起來,從而自動地對數(shù)據(jù)提供一定程度的安全保護(hù)。(4)審計: 建立審計日志, 把用戶對數(shù)據(jù)庫的所有操作自動記錄下來放入審計日志中,DBA可以利用審計跟蹤的信息, 重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件, 找出非法存取數(shù)據(jù)的人、 時間和內(nèi)容等。(5)數(shù)據(jù)加密:對存儲和傳輸?shù)臄?shù)據(jù)進(jìn)行加密處理,從而使得

21、不知道解密算法的人無法獲 知數(shù)據(jù)的內(nèi)容。6. 什么是數(shù)據(jù)庫的審計功能,為什么要提供審計功能? 答:審計功能是指 DBMS 的審計模塊在用戶對數(shù)據(jù)庫執(zhí)行操作的同時把所有操作自動記錄到 系統(tǒng)的審計日志中。因?yàn)槿魏蜗到y(tǒng)的安全保護(hù)措施都不是完美無缺的, 蓄意盜竊破壞數(shù)據(jù)的人總可能存在。 利用 數(shù)據(jù)庫的審計功能, DBA 可以根據(jù)審計跟蹤的信息, 重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件, 找出非法存取數(shù)據(jù)的人、時間和內(nèi)容等。第 6 章 數(shù)據(jù)庫的完整性1什么是數(shù)據(jù)庫的完整性? 答:數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。6假設(shè)有下面兩個關(guān)系模式: 職工(職工號,姓名,年齡,職務(wù),工資,部門號) ,其中職工號為

22、主碼; 部門(部門號,名稱,經(jīng)理名,地址,電話號) ,其中部門號是主碼。用 SQL 語言定義這兩個關(guān)系模式,要求在模式中完成以下完整性約束條件的定義: 定義每個模式的主碼;定義參照完整性;定義職工年齡不超過 60 歲。 答: CREATE TABLE DEPT(Deptno NUMBER(2),Deptname VARCHAR(10),Manager VARCHAR(10),PhoneNumber Char(12)CONSTRAINT PK_SC PRIMARY KEY (Deptno);CREATE TABLE EMP(Empno NUMBER(4) primary key,Ename VA

23、RCHAR(10),Age NUMBER(2),CONSTRAINT C1 CHECK (Aage =60),Job VARCHAR(9),Sal NUMBER(7,2),Deptno NUMBER(2), CONSTRAINT FK_DEPTNOFOREIGN KEY(Deptno) REFERENCES DEPT(Deptno);7 關(guān)系系統(tǒng)中,當(dāng)操作違反實(shí)體完整性、參照完整性和用戶定義的完整性約束條件時,一般 是如何分別進(jìn)行處理的?答:對于違反實(shí)體完整性和用戶定義完整性的操作, 一般都采用拒絕執(zhí)行的方式處理。 而對 于違反參照完整性的操作, 并不都是簡單地拒絕執(zhí)行, 有時要根據(jù)應(yīng)用語義執(zhí)

24、行一些附加的 操作,以保證數(shù)據(jù)的正確性。第 7 章 數(shù)據(jù)庫恢復(fù)技術(shù)5數(shù)據(jù)庫的恢復(fù)技術(shù)有哪些? 數(shù)據(jù)轉(zhuǎn)儲和登錄日志文件是數(shù)據(jù)庫恢復(fù)的基本技術(shù)。當(dāng)系統(tǒng)運(yùn)行過程中發(fā)生故障, 利用轉(zhuǎn)儲的數(shù)據(jù)庫后備副本和日志文件就可以將數(shù)據(jù)庫恢復(fù)到 故障前的某個一致性狀態(tài)。第 8 章 并發(fā)控制1. 在數(shù)據(jù)庫中為什么要并發(fā)控制?答:數(shù)據(jù)庫是共享資源, 通常有許多個事務(wù)同時在運(yùn)行。 當(dāng)多個事務(wù)并發(fā)地存取 數(shù)據(jù)庫時就會產(chǎn)生同時讀取和或修改同一數(shù)據(jù)的情況。 若對并發(fā)操作不加控制 就可能讀取和存儲不正確的數(shù)據(jù), 破壞數(shù)據(jù)庫的一致性。 所以數(shù)據(jù)庫管理系統(tǒng)必 須提供并發(fā)控制機(jī)制。2. 并發(fā)操作可能會產(chǎn)生哪幾類數(shù)據(jù)不一致?用什么方法能

25、避免各種不一致的情 況?答:并發(fā)操作帶來的數(shù)據(jù)不一致性包括三類:丟失修改、不可重復(fù)讀和讀“臟” 數(shù)據(jù)。(1) 丟失修改兩個事務(wù) T1和 T2讀入同一數(shù)據(jù)并修改, T2提交的結(jié)果破壞了(覆蓋了)T1 提交的結(jié)果,導(dǎo)致 T1的修改被丟失。(2) 不可重復(fù)讀不可重復(fù)讀是指事務(wù) T1 讀取數(shù)據(jù)后,事務(wù) T2提交執(zhí)行更新操作,使 T1無 法再現(xiàn)前一次讀取結(jié)果。(3) 讀”臟”數(shù)據(jù)讀“臟”數(shù)據(jù)是指事務(wù) T1 修改某一數(shù)據(jù),并將其寫回磁盤,事務(wù) T2讀取同 一數(shù)據(jù)后, T1由于某種原因被撤銷, 這時 T1已修改過的數(shù)據(jù)恢復(fù)原值, T2 讀到 的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則 T2 讀到的數(shù)據(jù)就為“臟”數(shù)據(jù)

26、,即不正 確的數(shù)據(jù)。避免不一致性的方法和技術(shù)就是并發(fā)控制。 最常用的技術(shù)是封鎖技術(shù)。 也可 以用其他技術(shù),例如在分布式數(shù)據(jù)庫系統(tǒng)中可以采用時間戳方法來進(jìn)行并發(fā)控 制。4基本的封鎖類型有幾種?試述它們的含義。 答:基本的封鎖類型有兩種:排它鎖和共享鎖。排它鎖又稱為寫鎖。 若事務(wù) T 對數(shù)據(jù)對象 A加上 X鎖,則只允許 T讀取和修 改 A,其他任何事務(wù)都不能再對 A加任何類型的鎖,直到 T 釋放 A上的鎖。這就 保證了其他事務(wù)在 T釋放 A上的鎖之前不能再讀取和修改 A。共享鎖又稱為讀鎖。若事務(wù) T對數(shù)據(jù)對象 A加上 S鎖,則事務(wù) T 可以讀 A 但不能修改 A,其他事務(wù)只能再對 A加 S鎖,而不

27、能加 X鎖,直到 T 釋放 A上的 S鎖。這就保證了其他事務(wù)可以讀 A,但在 T 釋放 A 上的 S鎖之前不能對 A做任 何修改。5如何用封鎖機(jī)制保證數(shù)據(jù)的一致性? 答:DBMS在對數(shù)據(jù)進(jìn)行讀、寫操作之前首先對該數(shù)據(jù)執(zhí)行封鎖操作,例如下 圖中事務(wù) T1在對進(jìn)行修改之前先對 A執(zhí)行Xock(A),即對 A加X鎖。這樣,當(dāng) T2請求對 A加 X鎖是就被拒絕, T2只能等待 T1 釋放 A上的鎖后才能獲得對 A 的 X 鎖,這時它讀到的 A是 T1 更新后的值, 再按此新的 A 值進(jìn)行運(yùn)算。 這樣 就 不會丟失 T1 的更新。T1T2 XlockA 獲得 讀 A=16Xlock A A A-1等待寫

28、回 A=15等待Commit等待Unlock A等待獲得 Xlock A 讀 A=15 AA-1寫回 A=14CommitUnlock ADBMS按照一定的封鎖協(xié)議,對并發(fā)控制進(jìn)行控制,使得多個并發(fā)操作有序地執(zhí) 行,就可以避免丟失修改、不可重復(fù)讀和讀“臟”數(shù)據(jù)等數(shù)據(jù)不一致性。5. 什么是封鎖協(xié)議?不同級別的封鎖協(xié)議的主要區(qū)別是什么? 答:在運(yùn)用封鎖技術(shù)對數(shù)據(jù)加鎖時,要約定一些規(guī)則。例如,在運(yùn)用X 鎖和 S鎖對數(shù)據(jù)對象加鎖時, 要約定何時申請 X 鎖或 S鎖、何時釋放封鎖等。 這些約定 或者規(guī)則稱為封鎖協(xié)議。 對封鎖方式約定不同的規(guī)則, 就形成了各種不同的封鎖 協(xié)議、不同級別的封鎖協(xié)議, 例如三

29、級封鎖協(xié)議, 三級封鎖協(xié)議的主要區(qū)別在于什么操作需要申請封鎖,何時申請封鎖以及何時釋放鎖(即持鎖時間的長短) 。 一級封鎖協(xié)議:事務(wù) T在修改數(shù)據(jù) R之前必須先對其加 X鎖,直到事務(wù)結(jié)束 才釋放。二級封鎖協(xié)議: 一級封鎖協(xié)議加上事務(wù) T 在讀取數(shù)據(jù) R之前必須先對其加 S 鎖,讀完后即可釋放 S 鎖。三級封鎖協(xié)議: 一級封鎖協(xié)議加上事務(wù) T 在讀取數(shù)據(jù) R之前必須先對其加 S 鎖,直到事務(wù)結(jié)束才釋放。8什么是活鎖?什么是死鎖?答:T1 T2 T3 T4Lock RUnlockLock R 等待 等待 等待 等待 等待 等待lock RLock RUnlockLock R等待等待 等待 Lock

30、 RT2等待。 T3 也請求如果事務(wù) T1封鎖了數(shù)據(jù) R,事務(wù) T2又請求封鎖 R,于是 封鎖 R,當(dāng) T1釋放了 R上的封鎖之后系統(tǒng)首先批準(zhǔn)了 T3的請求, T2仍然等待。 然后T4又請求封鎖 R,當(dāng)T3釋放了 R上的封鎖之后系統(tǒng)又批準(zhǔn)了 T4的請 求 T2 有可能永遠(yuǎn)等待,這就是活鎖的情形?;铈i的含義是該等待事務(wù)等待 時間太長,似乎被鎖住了,實(shí)際上可能被激活如果事務(wù) T1 封鎖了數(shù)據(jù) R1,T2封鎖了數(shù)據(jù) R2,然后 T1 又請求封鎖 R2, 因 T2 已封鎖了 R2,于是 T1 等待 T2 釋放 R2 上的鎖。接著 T2 又申請分所 R1 , 因 T1 已封鎖了 R1,也只能 T1 釋放

31、 R1上的鎖。這樣就出現(xiàn)了 T1 在等待 T2,而 T2又在等待 T1的局面,T1和 T2兩個事務(wù)永遠(yuǎn)不能結(jié)束,形成死鎖。T1T2lock R1Lock R2Lock R2等待lock R1.8.試述活鎖的產(chǎn)生原因和解決方法。答:活鎖產(chǎn)生的原因: 當(dāng)一系列封鎖不能按照其先后順序執(zhí)行時, 就可能導(dǎo)致 一些事務(wù)無限期等待某個封鎖,從而導(dǎo)致活鎖。避免活鎖的簡單方法是采用先來先服務(wù)的策略。當(dāng)多個事務(wù)請求封鎖同一數(shù) 據(jù)對象時, 封鎖子系統(tǒng)按請求封鎖的先后次序?qū)κ聞?wù)排隊, 數(shù)據(jù)對象上的鎖一旦 釋放就批準(zhǔn)申請隊列中的第一個事務(wù)獲得鎖。 10請給出預(yù)防死鎖的若干方法。 答:在數(shù)據(jù)庫中,產(chǎn)生死鎖的原因是兩個或多

32、個事務(wù)都已封鎖了一些數(shù)據(jù)對象, 然后又都請求已被其他事務(wù)封鎖的數(shù)據(jù)加鎖,從而出現(xiàn)死等待。防止死鎖的發(fā)生其實(shí)就是要破壞產(chǎn)生死鎖的條件。預(yù)防死鎖通常有兩種方 法:(1)一次封鎖法,要求每個事務(wù)必須一次將所有要使用的數(shù)據(jù)全部加鎖, 否則就不能繼續(xù)執(zhí)行;(2)順序封鎖法,預(yù)先對數(shù)據(jù)對象規(guī)定一個封鎖順序,所有事務(wù)都能按這 個順序?qū)嵭蟹怄i。不過,預(yù)防死鎖的策略不大適合數(shù)據(jù)庫系統(tǒng)的特點(diǎn), 具體原因可參加 概論8.4。11請給出檢測死鎖發(fā)生的一種方法,當(dāng)發(fā)生死鎖后如何解除死鎖?答 :數(shù)據(jù)庫系統(tǒng)一般采用允許死鎖發(fā)生, DBMS檢測到死鎖后加以解除的方法。 DBMS中診斷死鎖的方法與操作系統(tǒng)類似,一般使用超時法或

33、事務(wù)等待圖法。 超時法是: 如果一個事務(wù)的等待時間超過了規(guī)定的時限, 就認(rèn)為發(fā)生了死鎖。 超時法實(shí)現(xiàn)簡單,但有可能誤判死鎖,事務(wù)因其他原因長時間等待超過時限時, 系統(tǒng)會誤認(rèn)為發(fā)生了死鎖。若時限設(shè)置的太長,又不能及時發(fā)現(xiàn)死鎖發(fā)生。DBMS并發(fā)控制子系統(tǒng)檢測到死鎖后,就要設(shè)法解除。通常采用的方法是選 擇一個處理死鎖代價最小的事務(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)度的定義: 多個事務(wù)的并發(fā)執(zhí)行是正確的, 當(dāng)且僅當(dāng)其結(jié)果 與按某一

34、次序串行執(zhí)行它們時的結(jié)果相同,稱這種調(diào)度策略為可串行化的調(diào)度。 13設(shè) T1,T2, T3是如下的 3 個事務(wù):T1:A=A+2;T2:A=A*2;T3: A=A*2;(AA 2)設(shè) A 的初值為 0.(1)若這三個事務(wù)允許并行執(zhí)行,則有多少可能的正確結(jié)果,請一一列舉 出來。答:A 的最終結(jié)果可能有 2、4、8、16。因?yàn)榇袌?zhí)行次序有 T1T2T3、T1T3T2、T2T1T3、T2T3T1、T3T1T2、T3T2T1 。 對應(yīng)的執(zhí)行結(jié)果是 16 、8、4、2、4、2。(2)請給出一個可串行化的調(diào)度,并給出執(zhí)行結(jié)果。答:T1T2T3Slock AY=A=0Unlock AXlock AA=Y+

35、2 寫回 A( =2)Unlock ASlock A 等待 等待 等待 Y=A=2Unlock AXlock ASlock AA=Y*2等待寫回 A( =4)等待Unlock A等待Y=A=4Unlock AXlock AA=Y*2 寫回 A( =16)Unlock A最后結(jié)果 A 為 16,是可串行化的調(diào)度。(3)請給出一個非串行化的調(diào)度,并給出執(zhí)行結(jié)果T1T2T3Slock AY=A=0Unlock AXlock ASlock AY=A=0等待A=Y+2Unlock A寫回 A( =2)Slock AUnlock AXlock A等待Y=A=2Unlock AXlock A等待Y=Y*2等

36、待 等待 A=Y*2寫回 A( =4)Unlock A寫回 A( =0)Unlock A最后結(jié)果 A 為 0,為非串行化的調(diào)度。(4)若這 3個事務(wù)都遵守兩段鎖協(xié)議, 請給出一個不穿生死鎖的可串行化調(diào)度 答:T1 T2 T3Slock AY=A=0Xlock AA=Y+2 寫回 A( =2) Unlock AUnlock ASlock A等待等待Y=A=2Xlock A 等待A=Y*2 寫回 A(=4) Unlock AUnlock ASlock A等待等待等待Y=A=4Xlock AA=Y*2寫回 A( =16)Unlock AUnlock A(5)若這 3 個事務(wù)都遵守兩段鎖協(xié)議,請給出一

37、個產(chǎn)生死鎖的調(diào)度答:T1T2T3Slock AY=A=0Slock AY=A=0Xlock A等待Xlock A等待Slock AY=A=0Xlock A14. 試述兩段鎖協(xié)議的概念。 等待 答:兩段鎖協(xié)議是指所有事務(wù)必須分兩個階段對數(shù)據(jù)項加鎖和解鎖。在對任何數(shù)據(jù)進(jìn)行讀、寫操作之前,首先要申請并獲得對該數(shù)據(jù)的封鎖; 在釋放一個封鎖之后,事務(wù)不再申請和獲得任何其他封鎖?!皟啥巍钡暮x是,事務(wù)分為兩個階段:第一階段是獲得封鎖, 也稱為擴(kuò)展階段, 在這個階段, 事務(wù)可以申請獲得任何 數(shù)據(jù)項上的任何類型的鎖,但是不能釋放任何鎖;第二階段是釋放封鎖,也稱為收縮階段,在這階段,事務(wù)釋放已經(jīng)獲得的鎖, 但是

38、不能再申請任何鎖。第十章 概念模型與 E-R方法1什么是概念模型?概念模型的作用是什么? 答:概念模型實(shí)際上是現(xiàn)實(shí)世界機(jī)器的一個中間層次。 概念模型用于信息世界的建模, 是現(xiàn) 實(shí)世界到信息世界的第一層抽象, 是數(shù)據(jù)庫設(shè)計人員進(jìn)行數(shù)據(jù)庫設(shè)計的有力工具, 也是數(shù)據(jù) 庫人員和用戶之間進(jìn)行交流的語言。4試給出 3 個實(shí)際部門的 E-R 圖,要求實(shí)體型之間具有一對一,一對多,多對多各種不同和副教授沒人各帶若干研究生, 每個學(xué)生選修若干課程, 每門課程可由若干學(xué)生選修。 請用 E-R圖畫出此學(xué)校的概念模型。答:學(xué)校n系班級 教研室課程10某工廠生產(chǎn)若干個產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的零件可用在不同的

39、產(chǎn)品上。 這些零件由不同的原材料制成, 不同零件所用的材料可以相同。 這些零件按所屬的不同產(chǎn)品 分別放在倉庫中,原材料按照類別放在若干倉庫中。請用E-R圖畫出此工廠產(chǎn)品,零件,材料,倉庫的概念模型。答:產(chǎn)品第十二章 數(shù)據(jù)庫設(shè)計步驟1.試述數(shù)據(jù)庫設(shè)計過程( 1)需求分析(2)概念結(jié)構(gòu)設(shè)計(3)邏輯結(jié)構(gòu)設(shè)計(4)數(shù)據(jù)庫物理設(shè)計(5)數(shù)據(jù)庫實(shí)施(6)數(shù)據(jù)庫運(yùn)行和維護(hù)這是一個完整的實(shí)際數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的設(shè)計過程。 不僅包括設(shè)計數(shù)據(jù)庫本 身,還包括數(shù)據(jù)庫的實(shí)施、運(yùn)行和維護(hù)。設(shè)計一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個階段的不斷重復(fù)。5. 需求分析階段的設(shè)計目標(biāo)是什么?調(diào)查的內(nèi)容是什么?需求分析階段的設(shè)計

40、目標(biāo)是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對象 (組織、部門、 企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機(jī)系統(tǒng))工作概況,明確用戶的各 種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。調(diào)查的內(nèi)容是“數(shù)據(jù)”和“處理” ,即獲得用戶對數(shù)據(jù)庫的如下要求:(1)信息要求,指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì),由信息要求 可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中可以儲存哪些數(shù)據(jù);(2)處理要求, 指用戶要完成什么處理功能, 對處理的響應(yīng)時間有什么要求, 處理方式是批處理還是聯(lián)機(jī)處理;(3)安全性與完整性要求。6. 數(shù)據(jù)字典的內(nèi)容和作用是什么? 數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合。數(shù)據(jù)字典的內(nèi)容通常包括:(1)數(shù)據(jù)項(2)數(shù)據(jù)

41、結(jié)構(gòu)(3)數(shù)據(jù)流(4)數(shù)據(jù)儲存(5)處理過程五個部分其中數(shù)據(jù)項是數(shù)據(jù)的最小組成單位, 若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構(gòu)。 數(shù) 據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流和數(shù)據(jù)儲存的邏輯內(nèi)容。數(shù)據(jù)字典的作用:數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述, 在需求分析階段建立, 是下一步進(jìn)行概念設(shè)計的基礎(chǔ),并在數(shù)據(jù)庫設(shè)計過程中不斷修改、充實(shí)、完善。7. 什么是數(shù)據(jù)庫的概念結(jié)構(gòu)?試述其特點(diǎn)和設(shè)計策略。 概念結(jié)構(gòu)是信息世界的結(jié)構(gòu),即概念模型,其主要特點(diǎn)是:(1)能真實(shí)、充分的反映現(xiàn)實(shí)世界,包括事物和事物之間的聯(lián)系,能滿足用戶 對數(shù)據(jù)的處理要求,是對現(xiàn)實(shí)世界的一個真實(shí)模型;(2)易于理解,從而可以用它和不熟悉計算機(jī)的用戶交換意見,用戶的積極參 與是數(shù)據(jù)庫設(shè)計成功的關(guān)鍵

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論