




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課后作業(yè)習(xí)題數(shù)據(jù)庫系統(tǒng)概論課程部分習(xí)題及參考答案第一章緒論(教材41頁)1 .試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。數(shù)據(jù):描述事物的符號記錄稱為數(shù)據(jù)。數(shù)據(jù)的種類有文字、圖形、圖象、聲音、正文等等。數(shù)據(jù)與其語義就是不可分的。數(shù)據(jù)庫:數(shù)據(jù)庫就是長期儲存在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述與儲存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性與易擴(kuò)展性,并可為各種用戶共享。數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)(DBS就是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成。數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員構(gòu)成。數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)
2、(DBMS)就是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。用于科學(xué)地組織與存儲數(shù)據(jù)、高效地獲取與維護(hù)數(shù)據(jù)。DBMSE要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操縱功能、數(shù)據(jù)庫的運(yùn)行管理功能、數(shù)據(jù)庫的建立與維護(hù)功能。2 .使用數(shù)據(jù)庫系統(tǒng)有什么好處?使用數(shù)據(jù)庫系統(tǒng)的好處就是由數(shù)據(jù)庫管理系統(tǒng)的特點(diǎn)或優(yōu)點(diǎn)決定的。使用數(shù)據(jù)庫系統(tǒng)的好處很多,例如可以大大提高應(yīng)用開發(fā)的效率,方便用戶的使用,減輕數(shù)據(jù)庫系統(tǒng)管理人員維護(hù)的負(fù)擔(dān)等。為什么有這些好處,可以結(jié)合第5題來回答。使用數(shù)據(jù)庫系統(tǒng)可以大大提高應(yīng)用開發(fā)的效率。因?yàn)樵跀?shù)據(jù)庫系統(tǒng)中應(yīng)用程序不必考慮數(shù)據(jù)的定義、存儲與數(shù)據(jù)存取的具體路徑,這些工作都由DBMSt完成。此外,當(dāng)應(yīng)用邏輯
3、改變,數(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)管理人員維護(hù)系統(tǒng)的負(fù)擔(dān)。因?yàn)镈BMSE數(shù)據(jù)庫建立、運(yùn)用與維護(hù)時(shí)對數(shù)據(jù)庫進(jìn)行統(tǒng)一的管理與控制,包括數(shù)據(jù)的完整性、安全性,多用戶并發(fā)控制,故障恢復(fù)等等都由DBM孰行??傊?使用數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn)就是很多的,既便于數(shù)據(jù)的集中管理,控制數(shù)據(jù)冗余,可以提高數(shù)據(jù)的利用率與一致性,又有利于應(yīng)用程序的開發(fā)與維護(hù)。3 .試述文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)別與聯(lián)系
4、。文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的區(qū)別:文件系統(tǒng)面向某一應(yīng)用程序,共享性差、冗余度大,獨(dú)立性差,紀(jì)錄內(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ù)的軟件。5 .試述數(shù)據(jù)庫系統(tǒng)的特點(diǎn)。數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)有:一、數(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ū)別。二、數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充數(shù)據(jù)庫的數(shù)據(jù)不
5、再面向某個應(yīng)用而就是面向整個系統(tǒng),因此可以被多個用戶、多個應(yīng)用、用多種不同的語言共享使用。由于數(shù)據(jù)面向整個系統(tǒng),就是有結(jié)構(gòu)的數(shù)據(jù),不僅可以被多個應(yīng)用共享使用,而且容易增加新的應(yīng)用,這就使得數(shù)據(jù)庫系統(tǒng)彈性大,易于擴(kuò)充。三、數(shù)據(jù)獨(dú)立性高數(shù)據(jù)獨(dú)立性包括數(shù)據(jù)的物理獨(dú)立性與數(shù)據(jù)的邏輯獨(dú)立性。數(shù)據(jù)庫管理系統(tǒng)的模式結(jié)構(gòu)與二級映象功能保證了數(shù)據(jù)庫中的數(shù)據(jù)具有很高的物理獨(dú)立性與邏輯獨(dú)立性。四、數(shù)據(jù)由DBM凝一管理與控制數(shù)據(jù)庫的共享就是并發(fā)的共享,即多個用戶可以同時(shí)存取數(shù)據(jù)庫中的數(shù)據(jù)甚至可以同時(shí)存取數(shù)據(jù)庫中同一個數(shù)據(jù)。為此,DBM泌須提供統(tǒng)一的數(shù)據(jù)控制功能,包括數(shù)據(jù)的安全性保護(hù),數(shù)據(jù)的完整性檢查,并發(fā)控制與數(shù)據(jù)庫
6、恢復(fù)。6 .數(shù)據(jù)庫管理系統(tǒng)的主要功能有哪些?數(shù)據(jù)庫定義功能;數(shù)據(jù)存取功能;數(shù)據(jù)庫運(yùn)行管理;數(shù)據(jù)庫的建立與維護(hù)功能。7 .試述數(shù)據(jù)模型的概念、數(shù)據(jù)模型的作用與數(shù)據(jù)模型的三個要素。數(shù)據(jù)模型就是數(shù)據(jù)庫中用來對現(xiàn)實(shí)世界進(jìn)行抽象的工具,就是數(shù)據(jù)庫中用于提供信息表示與操作手段的形式構(gòu)架。一般地講,數(shù)據(jù)模型就是嚴(yán)格定義的概念的集合。這些概念精確地描述系統(tǒng)的靜態(tài)特性、動態(tài)特性與完整性約束條件。因此數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作與完整性約束三部分組成。數(shù)據(jù)結(jié)構(gòu):就是所研究的對象類型的集合,就是對系統(tǒng)的靜態(tài)特性的描述。數(shù)據(jù)操作:就是指對數(shù)據(jù)庫中各種對象(型)的實(shí)例(值)允許進(jìn)行的操作的集合,包括操作及有關(guān)的操作
7、規(guī)則,就是對系統(tǒng)動態(tài)特性的描述。數(shù)據(jù)的約束條件:就是完整性規(guī)則的集合,完整性規(guī)則就是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約與依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。8 .試述概念模型的作用。概念模型實(shí)際上就是現(xiàn)實(shí)世界到機(jī)器世界的一個中間層次。概念模型用于信息世界的建模,就是現(xiàn)實(shí)世界到信息世界的第一層抽象,就是數(shù)據(jù)庫設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的有力工具,也就是數(shù)據(jù)庫設(shè)計(jì)人員與用戶之間進(jìn)行交流的語言。9 .定義并解釋概念模型中以下術(shù)語:實(shí)體,實(shí)體型,實(shí)體集,屬性,碼,實(shí)體聯(lián)系圖(E-R圖)實(shí)體:客觀存在并可以相互區(qū)分的事物叫實(shí)體。實(shí)體型:具有相同屬性的
8、實(shí)體具有相同的特征與性質(zhì),用實(shí)體名及其屬性名集合來抽象與刻畫同類實(shí)體稱為實(shí)體型。實(shí)體集:同型實(shí)體的集合稱為實(shí)體集。屬性:實(shí)體所具有的某一特性,一個實(shí)體可由若干個屬性來刻畫。碼:唯一標(biāo)識實(shí)體的屬性集稱為碼。實(shí)體聯(lián)系圖:E-R圖提供了表示實(shí)體型、屬性與聯(lián)系的方法: 實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名。 屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來。 聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1,1n或m:n)。第二章關(guān)系數(shù)據(jù)庫(教材81頁)1、試述關(guān)系模型的三個組成部分。答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合與關(guān)系完整
9、性約束三部分組成。2、試述關(guān)系數(shù)據(jù)語言的特點(diǎn)與分類。答:關(guān)系數(shù)據(jù)語言可以分為三類:關(guān)系代數(shù)語言例如ISBL關(guān)系演算語言(元組關(guān)系演算語言例如APLHA,QUEL與域關(guān)系演算語言例如QBE)具有關(guān)系代數(shù)與關(guān)系演算雙重特點(diǎn)的語言例如SQL這些關(guān)系數(shù)據(jù)語言的共同特點(diǎn)就是,具有完備的表達(dá)能力,就是非過程化的集合操作語言,功能強(qiáng),能夠嵌入高級語言中使用。3、 定義并理解下列術(shù)語,說明它們之間的聯(lián)系與區(qū)別:( 1) 域,關(guān)系,元組,屬性答:域:域就是一組具有相同數(shù)據(jù)類型的值的集合。關(guān)系:在域D1,D2,Dn上笛卡爾積D1XD2XxDn的子集稱為關(guān)系,表示為R(D1,D2,Dn)元組:關(guān)系中的每個元素就是關(guān)
10、系中的元組。屬性:關(guān)系也就是一個二維表,表的每行對應(yīng)一個元組,表的每列對應(yīng)一個域。由于域可以相同,為了加以區(qū)分,必須對每列起一個名字,稱為屬性(Attribute)。( 2) 主碼,候選碼,外部碼答:候選碼:若關(guān)系中的某一屬性組的值能唯一地標(biāo)識一個元組,則稱該屬性組為候選碼(Candidatekey)主碼:若一個關(guān)系有多個候選碼,則選定其中一個為主碼(Primarykey)。外部碼:設(shè)F就是基本關(guān)系R的一個或一組屬性,但不就是關(guān)系R的碼,如果F與基本關(guān)系S的主碼Ks相對應(yīng),則稱F就是基本關(guān)系R的外部碼(Foreignkey),簡稱外碼?;娟P(guān)系R稱為參照關(guān)系(Referencingrelati
11、on),基本關(guān)系S稱為被參照關(guān)系(Referencedrelation)或目標(biāo)關(guān)系(Targetrelation)。關(guān)系R與S可以就是相同的關(guān)系。( 3) 關(guān)系模式,關(guān)系,關(guān)系數(shù)據(jù)庫關(guān)系模式:關(guān)系的描述稱為關(guān)系模式(RelationSchema)。它可以形式化地表示為:R(U,D,dom,F)其中R為關(guān)系名,U為組成該關(guān)系的屬性名集合,D為屬性組U中屬性所來自的域,dom為屬性向域的映象集合,F為屬性間數(shù)據(jù)的依賴關(guān)系集合。關(guān)系:在域D1,D2,Dn上笛卡爾積D1XD2XxDn的子集稱為關(guān)系,表示為R(D1,D2,Dn)關(guān)系就是關(guān)系模式在某的時(shí)刻的狀態(tài)或內(nèi)容。關(guān)系模式就是靜態(tài)的、穩(wěn)定的,而關(guān)系就
12、是動態(tài)的、隨時(shí)間不斷變化的,因?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)系模式在某的時(shí)刻對應(yīng)的關(guān)系的集合,通常就稱為關(guān)系數(shù)據(jù)庫。4、試述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外部碼屬性的值也可以為空?什么情況下才可以為空?答:關(guān)系模型的完整性規(guī)則就是對關(guān)系的某種約束條件。關(guān)系模型中可以有三類完整性約束:實(shí)體完整性、參照完整性與用戶定義的完整性。參見教材在參照完整性中,外部碼屬性的值可以為空,它表示該屬性的值尚未確定。但
13、前提條件就是該外部碼屬性不就是其所在關(guān)系的主屬性。例如,在下面的“學(xué)生”表中,“專業(yè)號”就是一個外部碼,不就是學(xué)生表的主屬性,可以為空。其語義就是,該學(xué)生的專業(yè)尚未確定。學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)而在下面的“選修”表中的“課程號”雖然也就是一個外部碼屬性,但它又就是“選修”表的主屬性,所以不能為空。因?yàn)殛P(guān)系模型必須滿足實(shí)體完整性。課程(課程號,課程名,學(xué)分)選修(學(xué)號,課程號,成績)5. 等值連接與自然連接的區(qū)別就是什么?答:自然連接(Naturaljoin)就是一種特殊的等值連接,它要求兩個關(guān)系中進(jìn)行比較的分量必須就是相同的屬性組,并且要在結(jié)果中把重復(fù)的屬性
14、去掉。第三章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL(教材148頁)1、試述SQL語言的特點(diǎn)。答:(1)綜合統(tǒng)一。SQL語言集數(shù)據(jù)定義語言DDL數(shù)據(jù)操縱語言DML數(shù)據(jù)控制語言DCL的功能于一體。(2)高度非過程化。用SQL語言進(jìn)行數(shù)據(jù)操作,只要提出“做什么”,而無須指明“怎么做”,因此無需了解存取路徑,存取路徑的選擇以及SQL語句的操作過程由系統(tǒng)自動完成。(3)面向集合的操作方式。SQL語言采用集合操作方式,不僅操作對象、查找結(jié)果可以就是元組的集合,而且一次插入、刪除、更新操作的對象也可以就是元組的集合。(4)以同一種語法結(jié)構(gòu)提供兩種使用方式。SQL語言既就是自含式語言,又就是嵌入式語言。作為自含式語言,它能
15、夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式,也能夠嵌入到高級語言程序中,供程序員設(shè)計(jì)程序時(shí)使用。(5)語言簡捷,易學(xué)易用。2、試述SQL的定義功能。答:SQL的數(shù)據(jù)定義功能包括定義表、定義視圖與定義索引。SQL語言使用CREATETABLE句定義建立基本表,;ALTERTABLE語句修改基本表定義,DROPTABL匿句刪除基本表;建立索引使用CREATEINDE旖句建立索引,DROPINDEX語句刪除索引表;SQL語言使用CREATEVIE嘛令建立視圖,DROPVIEW語句刪除視圖。3、用SQL語句建立第3章習(xí)題3中的四個表。答:對于S表:S(SNO,SNAME,STATUS,CITY);建S表CREAT
16、ETABLES(SNOCHAR(3),SNAMECHAR(10),STATUSCHAR(2),CITYCHAR(10);P(PNO,PNAME,COLOR,WEIGHT);建P表、建J表、建SPJ表略。4、針對上題中建立白四個表試用SQL語言完成第3章習(xí)題3中的查詢。答:( 1) 求供應(yīng)工程J1零件的供應(yīng)商號碼SNO;SELECTSNOFROMSPJWHEREJNO=J1'( 2) 求供應(yīng)工程J1零件P1的供應(yīng)商號碼SNO;SELECTSNOFROMSPJWHEREJNO=J1'ANDPNO=P1'( 3) 求供應(yīng)工程J1零件為紅色的供應(yīng)商號碼SNO;SELECTSNO
17、FROMSPJWHEREJNO=J1'ANDPNOIN(SELECTPNOFROMPWHERECOLOR紅');( 4) 求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號JNO;略,注意:從J表入手,以包含那些尚未使用任何零件的工程號。5、針對習(xí)題3中的四個表試用SQL語言完成以下各項(xiàng)操作:( 1) 找出所有供應(yīng)商的姓名與所在城市。( 2) 找出所有零件的名稱、顏色、重量。( 3) 找出使用供應(yīng)商S1所供應(yīng)零件的工程號碼。( 4) 找出工程項(xiàng)目J2使用的各種零件的名稱及其數(shù)量。( 5) 找出上海廠商供應(yīng)的所有零件號碼。( 6) 找出使用上海產(chǎn)的零件的工程名稱。( 7) 找出沒有使用天
18、津產(chǎn)的零件的工程號碼。( 8) 把全部紅色零件的顏色改成藍(lán)色。( 9) 5供Z&J4的零件P6改為由S3供應(yīng),請作必要的修改。( 10) 應(yīng)商關(guān)系中刪除S2的記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄。( 11) 請將(S2,J6,P4,200)插入供應(yīng)情況關(guān)系。答:(1) 找出所有供應(yīng)商的姓名與所在城市。SELECTSNAME,CITYFROMS;(2) 找出所有零件的名稱、顏色、重量。SELECTPNAME,COLOR,WEIGHTFROMP;(3)找出使用供應(yīng)商S1所供應(yīng)零件的工程號碼。SELECTJNOFROMSPJWHERESNO=S1'(4)找出工程項(xiàng)目J2使用的各種零
19、件的名稱及其數(shù)量。SELECTP、PNAME,SP、JQTYFROMP,SPJWHERE、PPNO=SP、JPNOANDSPJ、JNO='J2'(5)找出上海廠商供應(yīng)的所有零件號碼。SELECTDISTINCTPNOFROMSPJWHERESNOIN(SELECTSNOFROMSWHERECITY止海');(6)找出使用上海產(chǎn)的零件的工程名稱。SELECTJNAMEFROMJ,SPJ,SWHERE、JJNO=SPJ、JNOANDSPJ、SNO=S、SNOANDS、CITY='上海'(7) 找出沒有使用天津產(chǎn)的零件的工程號碼。(8) 把全部紅色零件的顏色改
20、成藍(lán)色。UPDATEPSETCOLOR善'WHERECOLORS'由S5供Z&J4的零件P6改為由S3供應(yīng),請作必要的修改。UPDATESPJSETSNO='S3'WHERESNO='S5'ANDJNO='J4'ANDPNO='P6'(10) 從供應(yīng)商關(guān)系中刪除S2的記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄。解析:注意刪除順序,應(yīng)該先從SPJ表中刪除供應(yīng)商S2所供應(yīng)零彳的記錄,然后從從S表中刪除S2(11) 請將(S2,J6,P4,200)插入供應(yīng)情況關(guān)系。INSERTINTOSPJ(SNO,JNO,PNO,
21、QTY)VALUES(S2,J6,P4,200);6、 什么就是基本表?什么就是視圖?兩者的區(qū)別與聯(lián)系就是什么?答:基本表就是本身獨(dú)立存在的表,在SQL中一個關(guān)系就對應(yīng)一個表。視圖就是從一個或幾個基本表導(dǎo)出的表。視圖本身不獨(dú)立存儲在數(shù)據(jù)庫中,就是一個虛表。即數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。視圖在概念上與基本表等同,用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。7、 試述視圖的優(yōu)點(diǎn)。答:(1)視圖能夠簡化用戶的操作。(2) 視圖使用戶能以多種角度瞧待同一數(shù)據(jù)。(3) 視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨(dú)立性。(4) 視圖能夠?qū)C(jī)密數(shù)
22、據(jù)提供安全保護(hù)。8、 所有的視圖就是否都可以更新?為什么?答:不就是。視圖就是不實(shí)際存儲數(shù)據(jù)的虛表,因此對視圖的更新,最終要轉(zhuǎn)換為對基本表的更新。因?yàn)橛行┮晥D的更新不能唯一地有意義地轉(zhuǎn)換成對相應(yīng)基本表的更新,所以,并不就是所有的視圖都就是可更新的。9、 哪類視圖就是可以更新的,哪類視圖就是不可更新的?各舉一例說明。答:基本表的行列子集視圖一般就是可更新的。如教材3、5、3中的例1。若視圖的屬性來自集函數(shù)、表達(dá)式,則該視圖肯定就是不可以更新的。如教材3、5、3中的S_G視圖。11、請為三建工程項(xiàng)目建立一個供應(yīng)情況的視圖,包括供應(yīng)商代碼(SNO)、零件代碼(PNO)、供應(yīng)數(shù)量(QTY)。針對該視圖
23、完成下列查詢(1)找出三建工程項(xiàng)目使用的各種零件代碼及其數(shù)量。(2)找出供應(yīng)商S1的供應(yīng)情況。答:建視圖:CREATEVIEWV_SPJASSELECTSNO,PNO,QTYFROMSPJWHEREJNO=(SELECTJNOFROMJWHEREJNAME='建');對該視圖查詢(1)找出三建工程項(xiàng)目使用的各種零件代碼及其數(shù)量。SELECTPNO,QTYFROMV_SPJ;(2)找出供應(yīng)商S1的供應(yīng)情況。SELECTPNO,QTY/*S1供應(yīng)三建工程的零件號與對應(yīng)的數(shù)量*/FROMV_SPJWHERESNO='S1'第五章關(guān)系數(shù)據(jù)理論(教材196頁)1. 理解并
24、給出下列術(shù)語的定義:函數(shù)依賴、部分函數(shù)依賴、完全函數(shù)依賴、候選碼、主碼、外碼、全碼。答:函數(shù)依賴:設(shè)R(U)就是一個關(guān)系模式,U就是R的屬性集合,X與Y就是U的子集。對于R(U)的任意一個可能的關(guān)系r,如果r中不存在兩個元組,它們在X上的屬性值相同,而在丫上的屬性值不同,則稱"X函數(shù)確定Y"或"丫函數(shù)依賴于X”,記作AY,完全函數(shù)依賴、部分函數(shù)依賴:在R(U)中,如果XY,并且對于X的任何一個真子集X,都有X-Y,則稱Y對X完全函數(shù)依賴;若X-Y,但丫不完全函數(shù)依賴于X,則稱Y對X部分函數(shù)依賴;候選碼、主碼:設(shè)K為R(U,F)中的屬性或?qū)傩越M合,若K-U則K為R的
25、候選碼。若候選碼多于一個,則選定其中的一個為主碼。外碼:關(guān)系模式R中屬性或?qū)傩越MX并非R的碼,但X就是另一個關(guān)系模式的碼,則稱X就是R的外部碼也稱外碼。全碼:整個屬性組就是碼,稱為全碼(All-key)。2. 建立一個關(guān)于系、學(xué)生、班級、學(xué)會等諸信息的關(guān)系數(shù)據(jù)庫。描述學(xué)生的屬中有:學(xué)號、姓名、出生年月、系名、班號、宿舍區(qū)。描述班級的屬中有:班號、專業(yè)名、系名、人數(shù)、入校年份。描述系的屬中有:系名、系號、系辦公室地點(diǎn)、人數(shù)。描述學(xué)會的屬中有:學(xué)會名、成立年份、地點(diǎn)、人數(shù)。有關(guān)語義如下:一個系有若干專業(yè),每個專業(yè)每年只招一個班,每個班有若干學(xué)生。一個系的學(xué)生住在同一宿舍區(qū)。每個學(xué)生可參加若干學(xué)會,
26、每個學(xué)會有若干學(xué)生。學(xué)生參加某學(xué)會有一個入會年份。請給出關(guān)系模式,寫出每個關(guān)系模式的極小函數(shù)依賴集,指出就是否存在傳遞函數(shù)依賴,對于函數(shù)依賴左部就是多屬中的情況討論函數(shù)依賴就是完全函數(shù)依賴,還就是部分函數(shù)依賴。指出各關(guān)系的的選碼、外部碼,有沒有全碼存在?答:關(guān)系模式:學(xué)生S(S#,SN,SB,DN,C#,SA)班級C(C#,CS,DN,CNUM,CDATE)系D(D#,DN,DA,DNUM)學(xué)會P(PN,DATE1,PA,PNUM)學(xué)生-學(xué)會SP(S#,PN,DATE2)其中,S#一學(xué)號,SN一姓名,SB一出生年月,SA一宿舍區(qū)C#-班號,CS專業(yè)名,CNUMF班級人數(shù),CDATJ入校年份D#
27、一系號,DN-系名,DA一系辦公室地點(diǎn),DNUMF系人數(shù)PN-學(xué)會名,DATE1一成立年月,PA地點(diǎn),PNUMF學(xué)會人數(shù),DATE2-入會年份每個關(guān)系模式的極小函數(shù)依賴集S:S#fSN,S#SB,S#fC#,C#fDN,DNSAC:C#fCS,C#CNUM,C#CDATE,CS»DN,(CS,CDATE戶C#D:D#fDN,DND#,D#fDA,D#fDNUMP:PNHDATE1,PN*PA,PNPNUMSP:(S#,PN)-DATE2S中存在傳遞函數(shù)依賴:S#-DN,S#-SA,C#-SAC中存在傳遞函數(shù)依賴:C#fDN(S#,PN)-DATE2與(CS,CDATE尸C#均為SP中
28、的函數(shù)依賴,就是完全函數(shù)依賴關(guān)系候選碼外部碼全碼SS#C#,DN無CC#,(CS,CDATE)DN無DD西DN無無PPN無無SP(S#,PN)S#,PN無4、試舉出三個多值依賴的實(shí)例。答:(1)關(guān)系模式MSC(M,S,C井,M表示專業(yè),S表示學(xué)生,C表示該專業(yè)的必修課。假設(shè)每個專業(yè)有多個學(xué)生,有一組必修課。設(shè)同專業(yè)內(nèi)所有學(xué)生的選修的必修課相同,實(shí)例關(guān)系如下。按照語義對于M的每一個值Mi,S有一個完整的集合與之對應(yīng)而不問C取何值,所以MH-S。由于C與S的完全對稱性,必然有MR-C成立。MSCM1S1C1M1S1C2M1S2C1M1S2C2(2)關(guān)系模式ISA(I,S,A)中,I表示學(xué)生興趣小組
29、,S表示學(xué)生,A表示某興趣小組的活動項(xiàng)目。假設(shè)每個興趣小組有多個學(xué)生,有若干活動項(xiàng)目。每個學(xué)生必須參加所在興趣小組的所有活動項(xiàng)目,每個活動項(xiàng)目要求該興趣小組的所有學(xué)生參加。按照語義有I-S,I-A成立。(3)關(guān)系模式RDP(R,D,P)中,R表示醫(yī)院的病房,D表示責(zé)任醫(yī)務(wù)人員,P表示病人。假設(shè)每個病房住有多個病人,有多個責(zé)任醫(yī)務(wù)人員負(fù)責(zé)醫(yī)治與護(hù)理該病房的所有病人。按照語義有FH-D,R-P成立。第六章數(shù)據(jù)庫設(shè)計(jì)(教材241頁)1、 試述數(shù)據(jù)庫設(shè)計(jì)過程。1) 需求分析2) 概念結(jié)構(gòu)設(shè)計(jì)3) 邏輯結(jié)構(gòu)設(shè)計(jì)4) 數(shù)據(jù)庫物理設(shè)計(jì)5) 數(shù)據(jù)庫實(shí)施6) 數(shù)據(jù)庫運(yùn)行與維護(hù)這就是一個完整的實(shí)際數(shù)據(jù)庫及其應(yīng)用系
30、統(tǒng)的設(shè)計(jì)過程。不僅包括設(shè)計(jì)數(shù)據(jù)庫本身,還包括數(shù)據(jù)庫的實(shí)施、數(shù)據(jù)庫運(yùn)行與維護(hù)。設(shè)計(jì)一個完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往就是上述六個階段的不斷反復(fù)。2、 試述數(shù)據(jù)庫設(shè)計(jì)過程的各個階段上的設(shè)計(jì)描述。答:各階段的設(shè)計(jì)要點(diǎn)如下:1)需求分析:準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)。2)概念結(jié)構(gòu)設(shè)計(jì):通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨(dú)立于具體DBMS勺概念模型3)邏輯結(jié)構(gòu)設(shè)計(jì):將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBM斯支持的數(shù)據(jù)模型,并對其進(jìn)行優(yōu)化。4)數(shù)據(jù)庫物理設(shè)計(jì):為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)與存取方法)。5)數(shù)據(jù)庫實(shí)施:設(shè)計(jì)人員運(yùn)用DBMSI供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)
31、邏輯設(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ù)庫的各級模式,即:在概念設(shè)計(jì)階段形成獨(dú)立于機(jī)器特點(diǎn),獨(dú)立于各個DBMS產(chǎn)品的概念模式,在本篇中就就是E-R圖;在邏輯設(shè)計(jì)階段將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型,如關(guān)系模型,形成數(shù)據(jù)庫邏輯模式;然后在基本表的基礎(chǔ)上再建立必要的視圖(View),形成數(shù)據(jù)的外模式;在物理設(shè)計(jì)階段,根據(jù)DBMS寺點(diǎn)與處理的需要,進(jìn)行物理存儲安排,建立索引,形成數(shù)
32、據(jù)庫內(nèi)模式。概念模式就是面向用戶與設(shè)計(jì)人員的,屬于概念模型的層次;邏輯模式、外模式、內(nèi)模式就是DBM豉持的模式,屬于數(shù)據(jù)模型的層次??梢栽贒BM沖加以描述與存儲。4、 試述數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)。答:數(shù)據(jù)庫設(shè)計(jì)既就是一項(xiàng)涉及多學(xué)科的綜合性技術(shù)又就是一項(xiàng)龐大的工程項(xiàng)目。其主要特點(diǎn)有:1) 數(shù)據(jù)庫建設(shè)就是硬件、軟件與干件(技術(shù)與管理的界面)的結(jié)合。2) 從軟件設(shè)計(jì)的技術(shù)角度瞧,數(shù)據(jù)庫設(shè)計(jì)應(yīng)該與應(yīng)用系統(tǒng)設(shè)計(jì)相結(jié)合,也就就是說,整個設(shè)計(jì)過程中要把結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì)與行為(處理)設(shè)計(jì)密切結(jié)合起來。5、 需求分析階段的設(shè)計(jì)目標(biāo)就是什么?調(diào)查的內(nèi)容就是什么?答:需求分析階段的設(shè)計(jì)目標(biāo)就是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的
33、對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(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)時(shí)間有什么要求,處理方式就是批處理還就是聯(lián)機(jī)處理。( 3) 安全性與完整性要求。6、 數(shù)據(jù)字典的內(nèi)容與作用就是什么?答:數(shù)據(jù)字典就是系統(tǒng)中各類數(shù)據(jù)描述的集合。數(shù)據(jù)字典的內(nèi)容通常包括:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理過程五個
34、部分其中數(shù)據(jù)項(xiàng)就是數(shù)據(jù)的最小組成單位,若干個數(shù)據(jù)項(xiàng)可以組成一個數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)字典通過對數(shù)據(jù)項(xiàng)與數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內(nèi)容。數(shù)據(jù)字典的作用:數(shù)據(jù)字典就是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,在需求分析階段建立,就是下一步進(jìn)行概念設(shè)計(jì)的基礎(chǔ),并在數(shù)據(jù)庫設(shè)計(jì)過程中不斷修改、充實(shí)、完善。(注意,數(shù)據(jù)庫設(shè)計(jì)階段形成的數(shù)據(jù)字典與后面講到的數(shù)據(jù)字典不同,后者就是DBMS關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述,當(dāng)然兩者就是有聯(lián)系的)。7、 什么就是數(shù)據(jù)庫的概念結(jié)構(gòu)?試述其特點(diǎn)與設(shè)計(jì)策略。答:概念結(jié)構(gòu)就是信息世界的結(jié)構(gòu),即概念模型,其主要特點(diǎn)就是:( 1) 能真實(shí)、充分地反映現(xiàn)實(shí)世界,包括事物與事物之間的聯(lián)系,能滿足用戶
35、對數(shù)據(jù)的處理要求。就是對現(xiàn)實(shí)世界的一個真實(shí)模型。( 2) 易于理解,從而可以用它與不熟悉計(jì)算機(jī)的用戶交換意見,用戶的積極參與就是數(shù)據(jù)庫的設(shè)計(jì)成功的關(guān)鍵。( 3) 易于更改,當(dāng)應(yīng)用環(huán)境與應(yīng)用要求改變時(shí),容易對概念模型修改與擴(kuò)充。( 4) 易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。概念結(jié)構(gòu)的設(shè)計(jì)策略通常有四種自頂向下。即首先定義全局概念結(jié)構(gòu)的框架, 然后逐步細(xì)化自底向上。即首先定義各局部應(yīng)用的概念結(jié)構(gòu), 然后將它們集成起來, 得到全局概念結(jié)構(gòu);逐步擴(kuò)張。首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方式逐步生成其她概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)混合策略。即將自頂向下與自底向上相結(jié)合,用自頂向下
36、策略設(shè)計(jì)一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)。8、 什么叫數(shù)據(jù)抽象?試舉例說明。答:數(shù)據(jù)抽象就是對實(shí)際的人、物、事與概念進(jìn)行人為處理,抽取所關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。如分類這種抽象就是:定義某一類概念作為現(xiàn)實(shí)世界中一組對象的類型。這些對象具有某些共同的特性與行為。它抽象了對象值與型之間的“ismemberof”的語義。在E-R模型中,實(shí)體型就就是這種抽象。例如在學(xué)校環(huán)境中,李英就是老師,表示李英就是教師類型中的一員,則教師就是實(shí)體型,李英就是教師實(shí)體型中的一個實(shí)體值,具有教師共同的特性與
37、行為:在某個系某個專業(yè)教學(xué),講授某些課程,從事某個方向的科研。9、試述數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)的重要性與設(shè)計(jì)步驟。答:重要性:數(shù)據(jù)庫概念設(shè)計(jì)就是整個數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵,將在需求分析階段所得到的應(yīng)用需求首先抽象為概念結(jié)構(gòu),以此作為各種數(shù)據(jù)模型的共同基礎(chǔ),從而能更好地、更準(zhǔn)確地用某一DBMS現(xiàn)這些需求。設(shè)計(jì)步驟:概念結(jié)構(gòu)的設(shè)計(jì)方法有多種,其中最經(jīng)常采用的策略就是自底向上方法,該方法的設(shè)計(jì)步驟通常分為兩步:第1步就是抽象數(shù)據(jù)并設(shè)計(jì)局部視圖,第2步就是集成局部視圖,得到全局的概念結(jié)構(gòu)10、什么就是E-R圖?構(gòu)成E-R圖的基本要素就是什么?答:E-R圖為實(shí)體-聯(lián)系圖,提供了表示實(shí)體型、屬性與聯(lián)系的方法,用來描述
38、現(xiàn)實(shí)世界的概念模型。構(gòu)成E-R圖的基本要素就是實(shí)體型、屬性與聯(lián)系,其表示方法為: 實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名; 屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來; 聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1,1n或m:n)。11、 為什么要視圖集成?視圖集成的方法就是什么?答:在對數(shù)據(jù)庫系統(tǒng)進(jìn)行概念結(jié)構(gòu)設(shè)計(jì)時(shí)一般采用自底向上的設(shè)計(jì)方法,把繁雜的大系統(tǒng)分解子系統(tǒng)。首先設(shè)計(jì)各個子系統(tǒng)的局部視圖,然后通過視圖集成的方式將各子系統(tǒng)有機(jī)的融合起來,綜合成一個系統(tǒng)的總視圖。這樣設(shè)計(jì)清晰,由簡到繁。由于數(shù)據(jù)庫系統(tǒng)就是從整體角
39、度瞧待與描述數(shù)據(jù)的,因此數(shù)據(jù)不再面向某個應(yīng)用而就是整個系統(tǒng)。因此必須進(jìn)行視圖集成,使得數(shù)據(jù)庫能被全系統(tǒng)的多個用戶、多個應(yīng)用共享使用。一般說來,視圖集成可以有兩種方式:多個分E-R圖一次集成;逐步集成,用累加的方式一次集成兩個分E-R圖。無論采用哪種方式,每次集成局部E-R圖時(shí)都需要分兩步走:(1)合并。解決各分E-R圖之間的沖突,將各分E-R圖合并起來生成初步E-R圖。(2)修改與重構(gòu)。消除不必要的冗余,生成基本E-R圖。12、 什么就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)?試述其設(shè)計(jì)步驟。答:數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)就就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用的DBMS"品所支持的數(shù)據(jù)模型
40、相符合的邏輯結(jié)構(gòu)。設(shè)計(jì)步驟為:( 1) 將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;(2)將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS:持下的數(shù)據(jù)模型轉(zhuǎn)換;( 3) 對數(shù)據(jù)模型進(jìn)行優(yōu)化。第七章數(shù)據(jù)庫恢復(fù)技術(shù)(教材261頁)1、試述事務(wù)的概念及事務(wù)的四個特性。答:事務(wù)就是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做要么全不做,就是一個不可分割的工作單位。事務(wù)具有四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)與持續(xù)性(Durability)。這個四個特性也簡稱為ACID特性。原子性:事務(wù)就是數(shù)據(jù)庫的邏輯工作單位,事務(wù)中包括的諸操作要么都做,
41、要么都不做。一致性:事務(wù)執(zhí)行的結(jié)果必須就是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。隔離性:一個事務(wù)的執(zhí)行不能被其她事務(wù)干擾。即一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對其她并發(fā)事務(wù)就是隔離的,并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾。持續(xù)性:持續(xù)性也稱永久性(Permanence),指一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該就是永久性的。接下來的其她操作或故障不應(yīng)該對其執(zhí)行結(jié)果有任何影響。2、為什么事務(wù)非正常結(jié)束時(shí)會影響數(shù)據(jù)庫數(shù)據(jù)的正確性,請列舉一例說明之。答:事務(wù)執(zhí)行的結(jié)果必須就是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。如果數(shù)據(jù)庫系統(tǒng)運(yùn)行中發(fā)生故障,有些事務(wù)尚未完成就被迫中斷,這些未完成事
42、務(wù)對數(shù)據(jù)庫所做的修改有一部分已寫入物理數(shù)據(jù)庫,這時(shí)數(shù)據(jù)庫就處于一種不正確的狀態(tài)或者說就是不一致的狀態(tài)。例如某工廠的庫存管理系統(tǒng)中,要把數(shù)量為Q的某種零件從倉庫1移到倉庫2存放。則可以定義一個事務(wù)T,T包括兩個操作;Q1=Q1-Q,Q2=Q2+Q如果T非正常終止時(shí)只做了第一個操作,則數(shù)據(jù)庫就處于不一致性狀態(tài),庫存量無緣無故少了Q。3、數(shù)據(jù)庫中為什么要有恢復(fù)子系統(tǒng)?它的功能就是什么?答:因?yàn)橛?jì)算機(jī)系統(tǒng)中硬件的故障、軟件的錯誤、操作員的失誤以及惡意的破壞就是不可避免的,這些故障輕則造成運(yùn)行事務(wù)非正常中斷,影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,重則破壞數(shù)據(jù)庫,使數(shù)據(jù)庫中全部或部分?jǐn)?shù)據(jù)丟失,因此必須要有恢復(fù)子系統(tǒng)。
43、恢復(fù)子系統(tǒng)的功能就是:把數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)(亦稱為一致狀態(tài)或完整狀態(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、 據(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ù)到故障前的某個一致
44、性狀態(tài)。6、 數(shù)據(jù)庫轉(zhuǎn)儲的意義就是什么?試比較各種數(shù)據(jù)轉(zhuǎn)儲方法。答:數(shù)據(jù)轉(zhuǎn)儲就是數(shù)據(jù)庫恢復(fù)中采用的基本技術(shù)。所謂轉(zhuǎn)儲即DBA定期地將數(shù)據(jù)庫復(fù)制到磁帶或另一個磁盤上保存起來的過程。當(dāng)數(shù)據(jù)庫遭到破壞后可以將后備副本重新裝入,將數(shù)據(jù)庫恢復(fù)到轉(zhuǎn)儲時(shí)的狀態(tài)。靜態(tài)轉(zhuǎn)儲:在系統(tǒng)中無運(yùn)行事務(wù)時(shí)進(jìn)行的轉(zhuǎn)儲操作。靜態(tài)轉(zhuǎn)儲簡單,但必須等待正運(yùn)行的用戶事務(wù)結(jié)束才能進(jìn)行。同樣,新的事務(wù)必須等待轉(zhuǎn)儲結(jié)束才能執(zhí)行。顯然,這會降低數(shù)據(jù)庫的可用性。動態(tài)轉(zhuǎn)儲:指轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進(jìn)行存取或修改。動態(tài)轉(zhuǎn)儲可克服靜態(tài)轉(zhuǎn)儲的缺點(diǎn),它不用等待正在運(yùn)行的用戶事務(wù)結(jié)束,也不會影響新事務(wù)的運(yùn)行。但就是,轉(zhuǎn)儲結(jié)束時(shí)后援副本上的數(shù)據(jù)并不能保證正
45、確有效。因?yàn)檗D(zhuǎn)儲期間運(yùn)行的事務(wù)可能修改了某些數(shù)據(jù),使得后援副本上的數(shù)據(jù)不就是數(shù)據(jù)庫的一致版本。為此,必須把轉(zhuǎn)儲期間各事務(wù)對數(shù)據(jù)庫的修改活動登記下來,建立日志文件(logfile)。這樣,后援副本加上日志文件就能得到數(shù)據(jù)庫某一時(shí)刻的正確狀態(tài)。轉(zhuǎn)儲還可以分為海量轉(zhuǎn)儲與增量轉(zhuǎn)儲兩種方式。海量轉(zhuǎn)儲就是指每次轉(zhuǎn)儲全部數(shù)據(jù)庫。增量轉(zhuǎn)儲則指每次只轉(zhuǎn)儲上一次轉(zhuǎn)儲后更新過的數(shù)據(jù)。從恢復(fù)角度瞧,使用海量轉(zhuǎn)儲得到的后備副本進(jìn)行恢復(fù)一般說來更簡單些。但如果數(shù)據(jù)庫很大,事務(wù)處理又十分頻繁,則增量轉(zhuǎn)儲方式更實(shí)用更有效。7、 什么就是日志文件?為什么要設(shè)立日志文件?答:(1)日志文件就是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件
46、。( 2) 設(shè)立日志文件的目的就是:進(jìn)行事務(wù)故障恢復(fù);進(jìn)行系統(tǒng)故障恢復(fù);協(xié)助后備副本進(jìn)行介質(zhì)故障恢復(fù)。8、 登記日志文件時(shí)為什么必須先寫日志文件,后寫數(shù)據(jù)庫?答:把對數(shù)據(jù)的修改寫到數(shù)據(jù)庫中與把表示這個修改的日志記錄寫到日志文件中就是兩個不同的操作。有可能在這兩個操作之間發(fā)生故障,即這兩個寫操作只完成了一個。如果先寫了數(shù)據(jù)庫修改,而在運(yùn)行記錄中沒有登記這個修改,則以后就無法恢復(fù)這個修改了。如果先寫日志,但沒有修改數(shù)據(jù)庫,在恢復(fù)時(shí)只不過就是多執(zhí)行一次UNDOS作,并不會影響數(shù)據(jù)庫的正確性。所以一定要先寫日志文件,即首先把日志記錄寫到日志文件中,然后寫數(shù)據(jù)庫的修改。9、 針對不同的故障,試給出恢復(fù)的
47、策略與方法。(即如何進(jìn)行事務(wù)故障的恢復(fù)?系統(tǒng)故障的恢復(fù)?介質(zhì)故障恢復(fù)?)答:事務(wù)故障的恢復(fù):事務(wù)故障的恢復(fù)就是由DBMS自動完成的,對用戶就是透明的DBMS行行恢復(fù)步驟就是:( 1) 反向掃描文件日志(即從最后向前掃描日志文件),查找該事務(wù)的更新操作。( 2) 對該事務(wù)的更新操作執(zhí)行逆操作。即將日志記錄中“更新前的值”寫入數(shù)據(jù)庫。( 3) 繼續(xù)反向掃描日志文件,做同樣處理。( 4) 如此處理下去,直至讀到此事務(wù)的開始標(biāo)記,該事務(wù)故障的恢復(fù)就完成了。系統(tǒng)故障的恢復(fù):系統(tǒng)故障可能會造成數(shù)據(jù)庫處于不一致狀態(tài):一就是未完成事務(wù)對數(shù)據(jù)庫的更新可能已寫入數(shù)據(jù)庫;二就是已提交事務(wù)對數(shù)據(jù)庫的更新可能還留在緩沖
48、區(qū),沒來得及寫入數(shù)據(jù)庫。因此恢復(fù)操作就就是要撤銷(UNDO)故障發(fā)生時(shí)未完成的事務(wù),重做(REDO區(qū)完成的事務(wù)。系統(tǒng)的恢復(fù)步驟就是:(1)正向掃描日志文件,找出在故障發(fā)生前已經(jīng)提交的事務(wù)隊(duì)列(REDO隊(duì)列)與未完成的事務(wù)隊(duì)列(UNDCR列)。(2)對撤銷隊(duì)列中的各個事務(wù)進(jìn)行UNDOb理。進(jìn)行UNDOb理的方法就是,反向掃描日志文件,對每個UND尊務(wù)的更新操彳執(zhí)行逆操作,即將日志記錄中“更新前的值”(BeforeImage)寫入數(shù)據(jù)庫。(3)對重做隊(duì)列中的各個事務(wù)進(jìn)行REDOb理。進(jìn)行REDOb理的方法就是:正向掃描日志文件,對每個RED圖務(wù)重新執(zhí)行日志文件登記的操作。即將日志記錄中“更新后的值
49、”(AfterImage)寫入數(shù)據(jù)庫。介質(zhì)故障的恢復(fù)介質(zhì)故障就是最嚴(yán)重的一種故障?;謴?fù)方法就是重裝數(shù)據(jù)庫,然后重做已完成的事務(wù)。具體過程就是:(1)DBA裝入最新的數(shù)據(jù)庫后備副本(離故障發(fā)生時(shí)刻最近的轉(zhuǎn)儲副本),使數(shù)據(jù)庫恢復(fù)到轉(zhuǎn)儲時(shí)的一致性狀態(tài)。(2)DBA裝入轉(zhuǎn)儲結(jié)束時(shí)刻的日志文件副本(3)DBA啟動系統(tǒng)恢復(fù)命令,由DBM浣成恢復(fù)功能,即重做已完成的事務(wù)。10、 具有檢查點(diǎn)的恢復(fù)技術(shù)有什么優(yōu)點(diǎn)?答:利用日志技術(shù)進(jìn)行數(shù)據(jù)庫恢復(fù)時(shí),恢復(fù)子系統(tǒng)必須搜索日志,確定哪些事務(wù)需要REDO哪些事務(wù)需要UNDO一般來說,需要檢查所有日志記錄。這樣做有兩個問題:一就是搜索整個日志將耗費(fèi)大量的時(shí)間。二就是很多需
50、要REDO&理的事務(wù)實(shí)際上已經(jīng)將它們的更新操作結(jié)果寫到數(shù)據(jù)庫中了,恢復(fù)子系統(tǒng)又重新執(zhí)行了這些操作,浪費(fèi)了大量時(shí)間。檢查點(diǎn)技術(shù)就就是為了解決這些問題。11、 試述使用檢查點(diǎn)方法進(jìn)行恢復(fù)的步驟。答:從重新開始文件中找到最后一個檢查點(diǎn)記錄在日志文件中的地址,由該地址在日志文件中找到最后一個檢查點(diǎn)記錄。 由該檢查點(diǎn)記錄得到檢查點(diǎn)建立時(shí)刻所有正在執(zhí)行的事務(wù)清單ACTIVE-LIST。這里建立兩個事務(wù)隊(duì)列:- UNDO-LIST:需要執(zhí)行undo操作的事務(wù)集合;- REDO-LIST:需要執(zhí)行redo操作的事務(wù)集合;把ACTIVE-LIST暫時(shí)放入U(xiǎn)NDO-LISM列,RED加列暫為空。 從檢查點(diǎn)
51、開始正向掃描日志文件如有新開始的事務(wù)Ti,把Ti暫時(shí)放入U(xiǎn)NDO-LISTR列;如有提交的事務(wù)Tj,把Tj從UNDO-LISTR列移到REDO-LISTR列,直到日志文件結(jié)束;對UNDO-LIST中的每個事務(wù)執(zhí)行UNDO,對REDO-LIST中的每個事務(wù)執(zhí)行RED爨作。12、 什么就是數(shù)據(jù)庫鏡像?它有什么用途?答:數(shù)據(jù)庫鏡像即根據(jù)DBA的要求,自動把整個數(shù)據(jù)庫或者其中的部分關(guān)鍵數(shù)據(jù)復(fù)制到另一個磁盤上。每當(dāng)主數(shù)據(jù)庫更新時(shí),DBMS自動把更新后的數(shù)據(jù)復(fù)制過去,即DBMS(動保證鏡像數(shù)據(jù)與主數(shù)據(jù)的一致性。數(shù)據(jù)庫鏡像的用途有:一就是用于數(shù)據(jù)庫恢復(fù)。當(dāng)出現(xiàn)介質(zhì)故障時(shí),可由鏡像磁盤2K續(xù)提供使用,同時(shí)DB
52、MS自動利用鏡像磁盤數(shù)據(jù)進(jìn)行數(shù)據(jù)庫的恢復(fù),不需要關(guān)閉系統(tǒng)與重裝數(shù)據(jù)庫副本。二就是提高數(shù)據(jù)庫的可用性。在沒有出現(xiàn)故障時(shí),當(dāng)一個用戶對某個數(shù)據(jù)加排它鎖進(jìn)行修改時(shí),其她用戶可以讀鏡像數(shù)據(jù)庫上的數(shù)據(jù),而不必等待該用戶釋放鎖。第八章數(shù)據(jù)庫并發(fā)控制(教材280頁)1、 在數(shù)據(jù)庫中為什么要并發(fā)控制?答:數(shù)據(jù)庫就是共享資源,通常有許多個事務(wù)同時(shí)在運(yùn)行。當(dāng)多個事務(wù)并發(fā)地存取數(shù)據(jù)庫時(shí)就會產(chǎn)生同時(shí)讀取與/或修改同一數(shù)據(jù)的情況。若對并發(fā)操作不加控制就可能會存取與存儲不正確的數(shù)據(jù),破壞數(shù)據(jù)庫的一致性。所以數(shù)據(jù)庫管理系統(tǒng)必須提供并發(fā)控制機(jī)制。2、 并發(fā)操作可能會產(chǎn)生哪幾類數(shù)據(jù)不一致?用什么方法能避免各種不一致的情況?答:
53、并發(fā)操作帶來的數(shù)據(jù)不一致性包括三類:丟失修改、不可重復(fù)讀與讀“臟”數(shù)據(jù)。( 1) 丟失修改(LostUpdate)兩個事務(wù)T1與T2讀入同一數(shù)據(jù)并修改,T2提交的結(jié)果破壞了(覆蓋了)T1提交的結(jié)果,導(dǎo)致T1的修改被丟失。( 2) 不可重復(fù)讀(Non-RepeatableRead)不可重復(fù)讀就是指事務(wù)T1讀取數(shù)據(jù)后,事務(wù)T2執(zhí)行更新操作,使T1無法再現(xiàn)前一次讀取結(jié)果。( 3) 讀“臟”數(shù)據(jù)(DirtyRead)讀“臟”數(shù)據(jù)就是指事務(wù)T1修改某一數(shù)據(jù),并將其寫回磁盤,事務(wù)T2讀取同一數(shù)據(jù)后,T1由于某種原因被撤銷,這時(shí)T1已修改過的數(shù)據(jù)恢復(fù)原值,T2讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則T2讀到的
54、數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)據(jù)。避免不一致性的方法與技術(shù)就就是并發(fā)控制。最常用的并發(fā)控制技術(shù)就是封鎖技術(shù)。也可以用其她技術(shù),例如在分布式數(shù)據(jù)庫系統(tǒng)中可以采用時(shí)間戳方法來進(jìn)行并發(fā)控制。3、 什么就是封鎖?答:封鎖就就是事務(wù)T在對某個數(shù)據(jù)對象例如表、記錄等操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖后事務(wù)T就對該數(shù)據(jù)對象有了一定的控制,在事務(wù)T釋放它的鎖之前,其她的事務(wù)不能更新此數(shù)據(jù)對象。封鎖就是實(shí)現(xiàn)并發(fā)控制的一個非常重要的技術(shù)。4、 基本的封鎖類型有幾種?試述它們的含義。答:基本的封鎖類型有兩種:排它鎖(ExclusiveLocks,簡稱X鎖)與共享鎖(ShareLocks,簡稱S鎖)。排它鎖
55、又稱為寫鎖。若事務(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鎖,而不能加X鎖,直到T釋放A上白SS鎖。這就保證了其她事務(wù)可以讀A,但在T釋放A上的S鎖之前不能對A做任何修改。5、 什么就是封鎖協(xié)議?不同級別的封鎖協(xié)議的主要區(qū)別就是什么?答:在運(yùn)用封鎖技術(shù)對數(shù)據(jù)加鎖時(shí),要約定一些規(guī)則。例如,在運(yùn)用X鎖與S鎖對數(shù)據(jù)對象加鎖時(shí),要約定何時(shí)申請X鎖或S, 就形成了各種不同的鎖、何時(shí)釋放封鎖等。這些約定或者規(guī)則稱為封鎖協(xié)議(LockingProtocol)封鎖協(xié)議。不同級別的封鎖協(xié)議,例如概論中介紹的三級封鎖協(xié)議,三級協(xié)議的主要區(qū)別在于什么操作需要申請封鎖,何時(shí)申請封鎖以及何時(shí)釋放鎖(即持鎖時(shí)間的長短)。一級封鎖協(xié)議:事務(wù)T在修改數(shù)據(jù)R之前必須先對其加X鎖,直到事務(wù)結(jié)束才釋放。二級封鎖協(xié)議:一級封鎖協(xié)議加上事務(wù)T在讀取數(shù)據(jù)R之前必須先對其加S鎖,讀完后即可釋放S鎖。三級封鎖協(xié)議:一級封鎖協(xié)議加上事
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度機(jī)動車過戶全面保障免責(zé)書
- 2025年度車輛抵押權(quán)轉(zhuǎn)讓與受讓合同
- 2025年度林業(yè)資源土地承包管理合同
- 2025鄂爾多斯鄂托克旗誠園綠能投資有限責(zé)任公司招聘筆試參考題庫附帶答案詳解
- 監(jiān)理大綱工程監(jiān)理方案技術(shù)標(biāo)投標(biāo)方案(技術(shù)方案)
- 2025年增強(qiáng)填充劑項(xiàng)目建議書
- 2025年鄂州市鄂城區(qū)國控投資集團(tuán)有限公司公開招聘8人筆試參考題庫附帶答案詳解
- 2025年城市市容管理服務(wù)項(xiàng)目發(fā)展計(jì)劃
- 2025年中國儲備糧管理集團(tuán)有限公司北京分公司招聘99人(河北有崗)筆試參考題庫附帶答案詳解
- 2025國檢集團(tuán)西北運(yùn)營中心特種設(shè)備招聘(23人)筆試參考題庫附帶答案詳解
- 心房顫動診斷和治療中國指南2023精解
- 水利工程運(yùn)維水利工程運(yùn)行和日常維修養(yǎng)護(hù)方案
- 2015年玻璃幕墻工程質(zhì)量檢驗(yàn)標(biāo)準(zhǔn)
- 國際貿(mào)易(對外經(jīng)濟(jì)貿(mào)易大學(xué))智慧樹知到期末考試答案2024年
- 2024管廊電纜隧道電纜溝自動滅火裝置選型
- 保安列隊(duì)培訓(xùn)方案
- 2024年山東淄博市城市資產(chǎn)運(yùn)營有限公司招聘筆試參考題庫含答案解析
- 酒店公共區(qū)域電梯安全使用培訓(xùn)
- 急性冠脈綜合征ACS課件
- 三角函數(shù)的誘導(dǎo)公式(一)完整版
- 零信任安全模型研究
評論
0/150
提交評論