版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫原理課后題答案數(shù)據(jù)庫原理課后題答案數(shù)據(jù)庫原理課后題答案數(shù)據(jù)庫原理課后題答案編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:第1章試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。答:(1)數(shù)據(jù):描述事物的符號(hào)記錄成為數(shù)據(jù)。數(shù)據(jù)的種類有數(shù)字、文字、圖形、圖像、聲音、正文等。數(shù)據(jù)與其語義是不可分的。數(shù)據(jù)庫:數(shù)據(jù)庫是長期儲(chǔ)存在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按照一定的數(shù)據(jù)模型組織。描述和儲(chǔ)存,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。數(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)成。數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,用于科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)。DBMS的主要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操作功能、數(shù)據(jù)庫的建立和維護(hù)功能。6.試述數(shù)據(jù)庫系統(tǒng)三級(jí)模式結(jié)構(gòu),這種結(jié)構(gòu)的優(yōu)點(diǎn)是什么答:數(shù)據(jù)庫系統(tǒng)的三級(jí)模式機(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é)構(gòu),通常是模式的子集。內(nèi)模式,亦稱存儲(chǔ)模式,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述。數(shù)據(jù)庫系統(tǒng)的三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別,它對(duì)數(shù)據(jù)的具體組織留給DBMS管理,使用戶能邏輯抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的表示和存儲(chǔ)。為了能夠在內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫系統(tǒng)在這三級(jí)模式之間提供了兩層映像:外模式∕模式映像和模式∕內(nèi)模式映像。正是這兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。7.定義并解釋下列術(shù)語。外模式:亦稱子模式或用戶模式,是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。內(nèi)模式:亦稱存儲(chǔ)模式,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述。模式:亦稱邏輯模式,是數(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ù)操縱語言,用來對(duì)數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行查詢、插入、刪除和修改的語句。8.什么叫數(shù)據(jù)與程序的物理獨(dú)立性什么叫數(shù)據(jù)與程序的邏輯獨(dú)立性為什么數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)與程序的獨(dú)立性答:數(shù)據(jù)與程序的邏輯獨(dú)立性:當(dāng)模式改變時(shí)(例如增加新的關(guān)系、新的屬性、改變屬性的數(shù)據(jù)類型等),由數(shù)據(jù)庫管理員各個(gè)外模式∕模式的映像做相應(yīng)改變,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡稱數(shù)據(jù)的邏輯獨(dú)立性。數(shù)據(jù)與程序的物理獨(dú)立性:當(dāng)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)改變了,有數(shù)據(jù)庫管理員對(duì)模式∕內(nèi)模式映像做相應(yīng)改變,可以使模式保持不變,從而應(yīng)用程序也不必改變,保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡稱數(shù)據(jù)的物理獨(dú)立性。數(shù)據(jù)庫管理系統(tǒng)在三級(jí)模式之間提供的兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)具有較高的邏輯獨(dú)立性和物理獨(dú)立性。第2章數(shù)據(jù)模型試描述數(shù)據(jù)模型的三個(gè)要素。數(shù)據(jù)模型由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成。數(shù)據(jù)結(jié)構(gòu):是所研究的對(duì)象類型的集合,是對(duì)系統(tǒng)靜態(tài)特性的描述。數(shù)據(jù)操作:是對(duì)數(shù)據(jù)庫中各種對(duì)象(型)的實(shí)例(值)允許進(jìn)行的操作的集合,包括操作及有關(guān)的操作規(guī)則,是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。數(shù)據(jù)的約束條件:是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。試述關(guān)系模型的概念,定義并解釋以下術(shù)語。答:關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。關(guān)系:一個(gè)關(guān)系對(duì)應(yīng)通常說法的一張表關(guān)系模式:對(duì)關(guān)系的描述,一般表示為:關(guān)系名(屬性1,屬性2,…,屬性n)元祖:表中的一行即為一個(gè)元組屬性:表中的一列即為一個(gè)屬性碼:表中的某個(gè)屬性組,它可以惟一確定一個(gè)元組域:屬性的取值范圍分量:元組中的一個(gè)屬性值第3章關(guān)系數(shù)據(jù)庫定義并理解下列術(shù)語,說明它們之間的聯(lián)系與區(qū)別。域:域是一組具有相同數(shù)據(jù)類型的值的集合;笛卡兒積:給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}其中每一個(gè)元素(d1,d2,…,dn)叫做一個(gè)n元組或簡稱元組。元素中的每一個(gè)值di叫做一個(gè)分量。關(guān)系:在域D1,D2,…,Dn上笛卡爾積D1×D2×…×Dn的子集稱為關(guān)系,表示為R(D1,D2,…Dn)元組:關(guān)系中的每個(gè)元素是關(guān)系中的元組。屬性:關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域。由于域可以相同,為了加以區(qū)分,必須對(duì)每列起一個(gè)名字,稱為屬性。候選碼:若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼。主碼:若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼。外部碼:設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼,如果F與基本關(guān)系S的主碼Ks相對(duì)應(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)系。關(guān)系模式:關(guān)系的描述稱為關(guān)系模式。它可以形式化地表示為R(U,D,dom,F(xiàn))其中R為關(guān)系名,U為組成該關(guān)系的屬性名集合,D為屬性組U中屬性所來自的域,dom為屬性向域的映像集合,F(xiàn)為屬性間數(shù)據(jù)的依賴關(guān)系集合。關(guān)系:在域D1,D2,…,Dn上笛卡兒積D1×D2×…×Dn的子集稱為關(guān)系,表示為R(D1,D2,…Dn),關(guān)系是關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容。關(guān)系模式是靜止的、穩(wěn)定的;而關(guān)系是動(dòng)態(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ù)庫模式,是對(duì)關(guān)系數(shù)據(jù)庫的描述,它包括若干域的定義以及在這些域上定義的若干關(guān)系模式。關(guān)系數(shù)據(jù)庫的值是這些關(guān)系模式在某一時(shí)刻對(duì)應(yīng)的關(guān)系的集合,通常就稱為關(guān)系數(shù)據(jù)庫。試述關(guān)系模型的完整性規(guī)則。在參照完整性中,為什么外部碼屬性的值也可以為空什么情況下才可以為空答:關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件。關(guān)系模型中可以有三類完整性約束:實(shí)體完整性、參照完整性和用戶定義的完整性。其中實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱做事關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持。(1)實(shí)體完整性規(guī)則:若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。(2)參照完整性規(guī)則:若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:1)或者取空值(F的每個(gè)屬性值均為空值)2)或者等于S中的某個(gè)元組的主碼值。(3)用戶定義的完整性是針對(duì)某一具體關(guān)系數(shù)據(jù)庫的約束條件。它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。在參照完整性中,外部碼屬性的值可以為空,它表示該屬性的值尚未確定,但前提條件是該外部碼屬性不是其所在關(guān)系的主屬性。例如,在下面的“學(xué)生”表中,“專業(yè)號(hào)”是一個(gè)外部碼,不是學(xué)生表的主屬性,可以為空,其語義是,該學(xué)生的專業(yè)尚未確定。學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)專業(yè)(專業(yè)號(hào),專業(yè)名)而在下面的“選修”表中的“課程號(hào)”雖然也是一個(gè)外部碼屬性,但它又是“課程”表的主屬性,所以不能為空,因?yàn)殛P(guān)系模型必須滿足實(shí)體完整性。課程(課程號(hào),課程名,學(xué)分)選修(學(xué)號(hào),課程號(hào),成績)p615、設(shè)有一個(gè)SPJ數(shù)據(jù)庫,包括S、P、J、SPJ四個(gè)關(guān)系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,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)組成;工程項(xiàng)目表J由工程項(xiàng)目代碼(JNO)、工程項(xiàng)目名(JNAME)、工程項(xiàng)目所在城市(CITY)組成;供應(yīng)情況表SPJ由供應(yīng)商代碼(SNO)、零件代碼(PNO)、工程項(xiàng)目代碼(JNO)、供應(yīng)數(shù)量(QTY)組成,表示某供應(yīng)商供應(yīng)某種零件給某工程項(xiàng)目的數(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表SNOPNOJNOQTYS1P1J1200S1P1J3100S1P1J4700S1P2J2100S2P3J1400S2P3J2200S2P3J4500S2P3J5400S2P5J1400S2P5J2100S3P1J1200S3P3J1200S4P5J1100S4P6J3300S4P6J4200S5P2J4100S5P3J1200S5P6J2200S5P6J4500試分別用關(guān)系代數(shù)完成如下查詢:求供應(yīng)工程J1零件的供應(yīng)商號(hào)SNO;答關(guān)系代數(shù)πSNO(σJNO=’J1’(SPJ))求供應(yīng)工程J1零件P1的供應(yīng)商號(hào)SNO;答關(guān)系代數(shù)πSNO(σJNO=’J1’?PNO=’P1’求供應(yīng)工程J1零件為紅色的供應(yīng)商號(hào)SNO;答關(guān)系代數(shù)πSNO(πSNO,PNO(σJNO=’J1’(SPJ))?πPNO(σCOLOR=’紅’求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號(hào)JNO;答關(guān)系代數(shù)πJNO(J)-πJNO(πSNO(σCITY=’天津’(S))?πSNO,PN0,JNO(SPJ)πPNO(σCOLOR=’紅’(P)))解析減法運(yùn)算中被減的部分是使用了天津供應(yīng)商生產(chǎn)的紅色零件的所有工程號(hào),π(J)是全部工程的工程號(hào),兩者相減就是沒有使用天津供應(yīng)商生出的紅色零件的工程號(hào),包括沒有使用任何零件的工程號(hào)。(5)求至少用了S1供應(yīng)商所供應(yīng)的全部零件的工程號(hào)JNO;答關(guān)系代數(shù)πJNO,PNO(SPJ)÷πPNO(σSNO=’s1’解析上面公式中除號(hào)前的部分是所有工程與該工程所用的零件,除號(hào)后的部分是S1所供應(yīng)的全部零件號(hào)。對(duì)于SPJ表中的某一個(gè)JNO,如果該工程使用的所有零件的集合包含S1所供應(yīng)的全部零件號(hào),則該JNO符合本題條件,在除法運(yùn)算的結(jié)果集中??梢钥吹剑褂藐P(guān)系代數(shù)的除法運(yùn)算概念清晰,語言表達(dá)也很簡單。7.關(guān)系代數(shù)的基本運(yùn)算有哪些選擇、投影、并、差和笛卡兒積五種。第4章關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言SQL5.針對(duì)習(xí)題3中的4個(gè)表試用SQL完成如下操作。(1)找出所有供應(yīng)商的姓名和所在的城市。SELECTSNAME,CITYFROMS;(5)找出上海廠同提供的所有零件號(hào)碼SELECTDISTINCTPNOFROMSPJWHERESNOIN(SELECTSNOFROMSWHERECITY=‘上海’);把所有紅色的零件的顏色改成藍(lán)色UPDATEPSETCOLOR=’藍(lán)’WHERECOLOR=’紅’從供應(yīng)商的關(guān)系中刪除S2的記錄,并從供應(yīng)關(guān)系中刪除相應(yīng)記錄。DELETEFROMSPJWHERESNO=‘2’;DELETEFROMSWHERESNO=‘S26.什么是基本表什么是視圖兩者的區(qū)別和聯(lián)系是什么基本表是本身獨(dú)立存在的表。視圖是人一個(gè)或幾個(gè)基本表導(dǎo)出的表。視圖本身不獨(dú)立存儲(chǔ)在數(shù)據(jù)庫中,是一個(gè)虛表。即數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中。用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。7.試述視圖的優(yōu)點(diǎn)。1)視圖能簡化用戶的操作;2)視圖使用戶能以多種角度看待同一數(shù)據(jù);3)視圖對(duì)重構(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ù)有:用戶標(biāo)識(shí)和鑒別:該方法由系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)自己的名字或身份。每次用戶要求進(jìn)入系統(tǒng)時(shí),由系統(tǒng)進(jìn)行核對(duì),通過鑒定后才提供系統(tǒng)的使用權(quán)。存取控制:通過用戶權(quán)限定義和合法權(quán)檢查確保只有合法權(quán)限的用戶訪問數(shù)據(jù)庫,所有未被授權(quán)的人無法存取數(shù)據(jù)。例如C2集中地自主存取控制(DAC),B1集中的強(qiáng)制存取控制(MAC)。視圖機(jī)制:為不同的用戶定義視圖,通過視圖機(jī)制把要保密的數(shù)據(jù)對(duì)無權(quán)存取的用戶隱藏起來,從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù)。審計(jì):建立審計(jì)日志,把用戶對(duì)數(shù)據(jù)庫的所有操作自動(dòng)記錄下來放入審計(jì)日志中,DBA可以利用審計(jì)跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。數(shù)據(jù)加密:對(duì)存儲(chǔ)和傳輸?shù)臄?shù)據(jù)進(jìn)行加密處理,從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容。6.什么是數(shù)據(jù)庫的審計(jì)功能,為什么要提供審計(jì)功能答:審計(jì)功能是指DBMS的審計(jì)模塊在用戶對(duì)數(shù)據(jù)庫執(zhí)行操作的同時(shí)把所有操作自動(dòng)記錄到系統(tǒng)的審計(jì)日志中。因?yàn)槿魏蜗到y(tǒng)的安全保護(hù)措施都不是完美無缺的,蓄意盜竊破壞數(shù)據(jù)的人總可能存在。利用數(shù)據(jù)庫的審計(jì)功能,DBA可以根據(jù)審計(jì)跟蹤的信息,重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。第6章數(shù)據(jù)庫的完整性1.什么是數(shù)據(jù)庫的完整性答:數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。6.假設(shè)有下面兩個(gè)關(guān)系模式:職工(職工號(hào),姓名,年齡,職務(wù),工資,部門號(hào)),其中職工號(hào)為主碼;部門(部門號(hào),名稱,經(jīng)理名,地址,電話號(hào)),其中部門號(hào)是主碼。用SQL語言定義這兩個(gè)關(guān)系模式,要求在模式中完成以下完整性約束條件的定義:定義每個(gè)模式的主碼;定義參照完整性;定義職工年齡不超過60歲。答:CREATETABLEDEPT(DeptnoNUMBER(2),DeptnameVARCHAR(10),ManagerVARCHAR(10),PhoneNumberChar(12)CONSTRAINTPK_SCPRIMARYKEY(Deptno));CREATETABLEEMP(EmpnoNUMBER(4)primarykey,EnameVARCHAR(10),AgeNUMBER(2),CONSTRAINTC1CHECK(Aage<=60),JobVARCHAR(9),SalNUMBER(7,2),DeptnoNUMBER(2),CONSTRAINTFK_DEPTNOFOREIGNKEY(Deptno)REFERENCESDEPT(Deptno));7關(guān)系系統(tǒng)中,當(dāng)操作違反實(shí)體完整性、參照完整性和用戶定義的完整性約束條件時(shí),一般是如何分別進(jìn)行處理的答:對(duì)于違反實(shí)體完整性和用戶定義完整性的操作,一般都采用拒絕執(zhí)行的方式處理。而對(duì)于違反參照完整性的操作,并不都是簡單地拒絕執(zhí)行,有時(shí)要根據(jù)應(yīng)用語義執(zhí)行一些附加的操作,以保證數(shù)據(jù)的正確性。第7章數(shù)據(jù)庫恢復(fù)技術(shù)5.?dāng)?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)。第8章并發(fā)控制在數(shù)據(jù)庫中為什么要并發(fā)控制答:數(shù)據(jù)庫是共享資源,通常有許多個(gè)事務(wù)同時(shí)在運(yùn)行。當(dāng)多個(gè)事務(wù)并發(fā)地存取數(shù)據(jù)庫時(shí)就會(huì)產(chǎn)生同時(shí)讀取和∕或修改同一數(shù)據(jù)的情況。若對(duì)并發(fā)操作不加控制就可能讀取和存儲(chǔ)不正確的數(shù)據(jù),破壞數(shù)據(jù)庫的一致性。所以數(shù)據(jù)庫管理系統(tǒng)必須提供并發(fā)控制機(jī)制。并發(fā)操作可能會(huì)產(chǎn)生哪幾類數(shù)據(jù)不一致用什么方法能避免各種不一致的情況答:并發(fā)操作帶來的數(shù)據(jù)不一致性包括三類:丟失修改、不可重復(fù)讀和讀“臟”數(shù)據(jù)。(1)丟失修改兩個(gè)事務(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由于某種原因被撤銷,這時(shí)T1已修改過的數(shù)據(jù)恢復(fù)原值,T2讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則T2讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)據(jù)。避免不一致性的方法和技術(shù)就是并發(fā)控制。最常用的技術(shù)是封鎖技術(shù)。也可以用其他技術(shù),例如在分布式數(shù)據(jù)庫系統(tǒng)中可以采用時(shí)間戳方法來進(jìn)行并發(fā)控制。4.基本的封鎖類型有幾種試述它們的含義。答:基本的封鎖類型有兩種:排它鎖和共享鎖。排它鎖又稱為寫鎖。若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上X鎖,則只允許T讀取和修改A,其他任何事務(wù)都不能再對(duì)A加任何類型的鎖,直到T釋放A上的鎖。這就保證了其他事務(wù)在T釋放A上的鎖之前不能再讀取和修改A。共享鎖又稱為讀鎖。若事務(wù)T對(duì)數(shù)據(jù)對(duì)象A加上S鎖,則事務(wù)T可以讀A但不能修改A,其他事務(wù)只能再對(duì)A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。這就保證了其他事務(wù)可以讀A,但在T釋放A上的S鎖之前不能對(duì)A做任何修改。如何用封鎖機(jī)制保證數(shù)據(jù)的一致性答:DBMS在對(duì)數(shù)據(jù)進(jìn)行讀、寫操作之前首先對(duì)該數(shù)據(jù)執(zhí)行封鎖操作,例如下圖中事務(wù)T1在對(duì)進(jìn)行修改之前先對(duì)A執(zhí)行Xock(A),即對(duì)A加X鎖。這樣,當(dāng)T2請(qǐng)求對(duì)A加X鎖是就被拒絕,T2只能等待T1釋放A上的鎖后才能獲得對(duì)A的X鎖,這時(shí)它讀到的A是T1更新后的值,再按此新的A值進(jìn)行運(yùn)算。這樣就不會(huì)丟失T1的更新。T1T2XlockA獲得讀A=16A←A-1寫回A=15CommitUnlockA=4\*GB3④=5\*GB3⑤XlockA等待等待等待等待獲得XlockA讀A=15A←A-1寫回A=14CommitUnlockADBMS按照一定的封鎖協(xié)議,對(duì)并發(fā)控制進(jìn)行控制,使得多個(gè)并發(fā)操作有序地執(zhí)行,就可以避免丟失修改、不可重復(fù)讀和讀“臟”數(shù)據(jù)等數(shù)據(jù)不一致性。什么是封鎖協(xié)議不同級(jí)別的封鎖協(xié)議的主要區(qū)別是什么答:在運(yùn)用封鎖技術(shù)對(duì)數(shù)據(jù)加鎖時(shí),要約定一些規(guī)則。例如,在運(yùn)用X鎖和S鎖對(duì)數(shù)據(jù)對(duì)象加鎖時(shí),要約定何時(shí)申請(qǐng)X鎖或S鎖、何時(shí)釋放封鎖等。這些約定或者規(guī)則稱為封鎖協(xié)議。對(duì)封鎖方式約定不同的規(guī)則,就形成了各種不同的封鎖協(xié)議、不同級(jí)別的封鎖協(xié)議,例如三級(jí)封鎖協(xié)議,三級(jí)封鎖協(xié)議的主要區(qū)別在于什么操作需要申請(qǐng)封鎖,何時(shí)申請(qǐng)封鎖以及何時(shí)釋放鎖(即持鎖時(shí)間的長短)。一級(jí)封鎖協(xié)議:事務(wù)T在修改數(shù)據(jù)R之前必須先對(duì)其加X鎖,直到事務(wù)結(jié)束才釋放。二級(jí)封鎖協(xié)議:一級(jí)封鎖協(xié)議加上事務(wù)T在讀取數(shù)據(jù)R之前必須先對(duì)其加S鎖,讀完后即可釋放S鎖。三級(jí)封鎖協(xié)議:一級(jí)封鎖協(xié)議加上事務(wù)T在讀取數(shù)據(jù)R之前必須先對(duì)其加S鎖,直到事務(wù)結(jié)束才釋放。8.什么是活鎖什么是死鎖答: T1T2T3T4 LockR....LockR.. . 等待lockR.Unlock等待 . LockR.等待LockR 等待.等待 .等待.等待 Unlock等待,等待 . LockR如果事務(wù)T1封鎖了數(shù)據(jù)R,事務(wù)T2又請(qǐng)求封鎖R,于是T2等待。T3也請(qǐng)求封鎖R,當(dāng)T1釋放了R上的封鎖之后系統(tǒng)首先批準(zhǔn)了T3的請(qǐng)求,T2仍然等待。然后T4又請(qǐng)求封鎖R,當(dāng)T3釋放了R上的封鎖之后系統(tǒng)又批準(zhǔn)了T4的請(qǐng)求……T2有可能永遠(yuǎn)等待,這就是活鎖的情形?;铈i的含義是該等待事務(wù)等待時(shí)間太長,似乎被鎖住了,實(shí)際上可能被激活。如果事務(wù)T1封鎖了數(shù)據(jù)R1,T2封鎖了數(shù)據(jù)R2,然后T1又請(qǐng)求封鎖R2,因T2已封鎖了R2,于是T1等待T2釋放R2上的鎖。接著T2又申請(qǐng)分所R1,因T1已封鎖了R1,也只能T1釋放R1上的鎖。這樣就出現(xiàn)了T1在等待T2,而T2又在等待T1的局面,T1和T2兩個(gè)事務(wù)永遠(yuǎn)不能結(jié)束,形成死鎖。 T1 T2 lockR1 . . LockR2 . .LockR2.等待lockR1.試述活鎖的產(chǎn)生原因和解決方法。答:活鎖產(chǎn)生的原因:當(dāng)一系列封鎖不能按照其先后順序執(zhí)行時(shí),就可能導(dǎo)致一些事務(wù)無限期等待某個(gè)封鎖,從而導(dǎo)致活鎖。避免活鎖的簡單方法是采用先來先服務(wù)的策略。當(dāng)多個(gè)事務(wù)請(qǐng)求封鎖同一數(shù)據(jù)對(duì)象時(shí),封鎖子系統(tǒng)按請(qǐng)求封鎖的先后次序?qū)κ聞?wù)排隊(duì),數(shù)據(jù)對(duì)象上的鎖一旦釋放就批準(zhǔn)申請(qǐng)隊(duì)列中的第一個(gè)事務(wù)獲得鎖。10.請(qǐng)給出預(yù)防死鎖的若干方法。答:在數(shù)據(jù)庫中,產(chǎn)生死鎖的原因是兩個(gè)或多個(gè)事務(wù)都已封鎖了一些數(shù)據(jù)對(duì)象,然后又都請(qǐng)求已被其他事務(wù)封鎖的數(shù)據(jù)加鎖,從而出現(xiàn)死等待。防止死鎖的發(fā)生其實(shí)就是要破壞產(chǎn)生死鎖的條件。預(yù)防死鎖通常有兩種方法:一次封鎖法,要求每個(gè)事務(wù)必須一次將所有要使用的數(shù)據(jù)全部加鎖,否則就不能繼續(xù)執(zhí)行;順序封鎖法,預(yù)先對(duì)數(shù)據(jù)對(duì)象規(guī)定一個(gè)封鎖順序,所有事務(wù)都能按這個(gè)順序?qū)嵭蟹怄i。不過,預(yù)防死鎖的策略不大適合數(shù)據(jù)庫系統(tǒng)的特點(diǎn),具體原因可參加《概論》。11.請(qǐng)給出檢測死鎖發(fā)生的一種方法,當(dāng)發(fā)生死鎖后如何解除死鎖答:數(shù)據(jù)庫系統(tǒng)一般采用允許死鎖發(fā)生,DBMS檢測到死鎖后加以解除的方法。DBMS中診斷死鎖的方法與操作系統(tǒng)類似,一般使用超時(shí)法或事務(wù)等待圖法。超時(shí)法是:如果一個(gè)事務(wù)的等待時(shí)間超過了規(guī)定的時(shí)限,就認(rèn)為發(fā)生了死鎖。超時(shí)法實(shí)現(xiàn)簡單,但有可能誤判死鎖,事務(wù)因其他原因長時(shí)間等待超過時(shí)限時(shí),系統(tǒng)會(huì)誤認(rèn)為發(fā)生了死鎖。若時(shí)限設(shè)置的太長,又不能及時(shí)發(fā)現(xiàn)死鎖發(fā)生。DBMS并發(fā)控制子系統(tǒng)檢測到死鎖后,就要設(shè)法解除。通常采用的方法是選擇一個(gè)處理死鎖代價(jià)最小的事務(wù),將其撤銷,釋放此事務(wù)持有的所有鎖,使其他事務(wù)得以繼續(xù)運(yùn)行下去。當(dāng)然,對(duì)撤銷的事務(wù)所執(zhí)行的數(shù)據(jù)修改操作必須加以恢復(fù)。12.什么樣的并發(fā)調(diào)度是正確的調(diào)度答:可串行化的調(diào)度室正確的調(diào)度。可串行化的調(diào)度的定義:多個(gè)事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)其結(jié)果與按某一次序串行執(zhí)行它們時(shí)的結(jié)果相同,稱這種調(diào)度策略為可串行化的調(diào)度。13.設(shè)T1,T2,T3是如下的3個(gè)事務(wù):T1:A=A+2;T2:A=A*2;T3:A=A**2;(A←A2)設(shè)A的初值為0.若這三個(gè)事務(wù)允許并行執(zhí)行,則有多少可能的正確結(jié)果,請(qǐng)一一列舉出來。答:A的最終結(jié)果可能有2、4、8、16。因?yàn)榇袌?zhí)行次序有T1T2T3、T1T3T2、T2T1T3、T2T3T1、T3T1T2、T3T2T1。對(duì)應(yīng)的執(zhí)行結(jié)果是16、8、4、2、4、2。(2)請(qǐng)給出一個(gè)可串行化的調(diào)度,并給出執(zhí)行結(jié)果。答: T1 T2 T3SlockA Y=A=0UnlockAXlockA SlockAA=Y+2 等待寫回A(=2) 等待UnlockA 等待Y=A=2UnlockAXlockA SlockAA=Y*2等待 寫回A(=4)等待 UnlockA等待 Y=A=4 UnlockAXlockA A=Y**2寫回A(=16) UnlockA最后結(jié)果A為16,是可串行化的調(diào)度。(3)請(qǐng)給出一個(gè)非串行化的調(diào)度,并給出執(zhí)行結(jié)果。 T1 T2 T3SlockA Y=A=0UnlockA SlockA Y=A=0XlockA 等待 UnlockA A=Y+2 寫回A(=2) SlockA UnlockA等待Y=A=2 UnlockA XlockA XlockA 等待Y=Y**2等待 寫回A(=4) 等待 UnlockA A=Y*2 寫回A(=0) UnlockA最后結(jié)果A為0,為非串行化的調(diào)度。若這3個(gè)事務(wù)都遵守兩段鎖協(xié)議,請(qǐng)給出一個(gè)不穿生死鎖的可串行化調(diào)度。答: T1 T2 T3 SlockAY=A=0 XlockA A=Y+2 SlockA寫回A(=2) 等待 UnlockA 等待Y=A=2 XlockA UnlockA 等待 SlockA A=Y*2 等待 寫回A(=4) 等待 UnlockA等待 Y=A=4UnlockA XlockA A=Y**2 寫回A(=16) UnlockA UnlockA(5)若這3個(gè)事務(wù)都遵守兩段鎖協(xié)議,請(qǐng)給出一個(gè)產(chǎn)生死鎖的調(diào)度。答: T1 T2 T3 SlockA Y=A=0 SlockA Y=A=0 XlockA 等待 XlockA 等待 SlockA Y=A=0 XlockA試述兩段鎖協(xié)議的概念。 等待答:兩段鎖協(xié)議是指所有事務(wù)必須分兩個(gè)階段對(duì)數(shù)據(jù)項(xiàng)加鎖和解鎖。在對(duì)任何數(shù)據(jù)進(jìn)行讀、寫操作之前,首先要申請(qǐng)并獲得對(duì)該數(shù)據(jù)的封鎖;在釋放一個(gè)封鎖之后,事務(wù)不再申請(qǐng)和獲得任何其他封鎖。“兩段”的含義是,事務(wù)分為兩個(gè)階段:第一階段是獲得封鎖,也稱為擴(kuò)展階段,在這個(gè)階段,事務(wù)可以申請(qǐng)獲得任何數(shù)據(jù)項(xiàng)上的任何類型的鎖,但是不能釋放任何鎖;第二階段是釋放封鎖,也稱為收縮階段,在這階段,事務(wù)釋放已經(jīng)獲得的鎖,但是不能再申請(qǐng)任何鎖。第十章概念模型與E-R方法1.什么是概念模型概念模型的作用是什么答:概念模型實(shí)際上是現(xiàn)實(shí)世界機(jī)器的一個(gè)中間層次。概念模型用于信息世界的建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象,是數(shù)據(jù)庫設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的有力工具,也是數(shù)據(jù)庫人員和用戶之間進(jìn)行交流的語言。4.試給出3個(gè)實(shí)際部門的E-R圖,要求實(shí)體型之間具有一對(duì)一,一對(duì)多,多對(duì)多各種不同的聯(lián)系。課程教員學(xué)生參加科研項(xiàng)目領(lǐng)導(dǎo)部門答:課程教員學(xué)生參加科研項(xiàng)目領(lǐng)導(dǎo)部門1講授1講授n教員1mn教員總經(jīng)理總經(jīng)理9.學(xué)校總有若干系,每個(gè)系有若干班級(jí)和教研室,每個(gè)教研室有若干教員,其中有的教授和副教授沒人各帶若干研究生,每個(gè)學(xué)生選修若干課程,每門課程可由若干學(xué)生選修。請(qǐng)用E-R圖畫出此學(xué)校的概念模型。答:學(xué)校學(xué)校1校-系校-系n系系系-班系-室11系-班系-室班級(jí)教研室nn班級(jí)教研室11班-生室-教班-生室-教指導(dǎo)nn指導(dǎo)教員學(xué)生n1教員學(xué)生選修m選修課程n課程10.某工廠生產(chǎn)若干個(gè)產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的零件可用在不同的產(chǎn)品上。這些零件由不同的原材料制成,不同零件所用的材料可以相同。這些零件按所屬的不同產(chǎn)品分別放在倉庫中,原材料按照類別放在若干倉庫中。請(qǐng)用E-R圖畫出此工廠產(chǎn)品,零件,材料,倉庫的概念模型。答:產(chǎn)品產(chǎn)品組成零件制造材料儲(chǔ)存存放倉庫mnnLmn1n第十二章數(shù)據(jù)庫設(shè)計(jì)步驟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ù)這是一個(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ù)。5.需求分析階段的設(shè)計(jì)目標(biāo)是什么調(diào)查的內(nèi)容是什么需求分析階段的設(shè)計(jì)目標(biāo)是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。調(diào)查的內(nèi)容是“數(shù)據(jù)”和“處理”,即獲得用戶對(duì)數(shù)據(jù)庫的如下要求:(1)信息要求,指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì),由信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中可以儲(chǔ)存哪些數(shù)據(jù);(2)處理要求,指用戶要完成什么處理功能,對(duì)處理的響應(yīng)時(shí)間有什么要求,處理方式是批處理還是聯(lián)機(jī)處理;(3)安全性與完整性要求。6.數(shù)據(jù)字典的內(nèi)容和作用是什么數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合。數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商標(biāo)權(quán)知識(shí)產(chǎn)權(quán)轉(zhuǎn)讓合同
- 債權(quán)轉(zhuǎn)讓合同范例
- 戶外廣告合同樣本格式模板
- 二手車輛買賣協(xié)議范本
- 2024年接送服務(wù)合同標(biāo)準(zhǔn)范本
- 股份協(xié)議書合同股份協(xié)議書2024年
- 房屋買賣代理合同范文
- 2024年離婚協(xié)議書官方范本
- 2024年購買香蕉的買賣合同范本
- 2024年居間公司股份轉(zhuǎn)讓合同
- 部編版道德與法治三年級(jí)上冊第9課《心中的“110”》說課課件
- 2024-2030年中國運(yùn)動(dòng)服行業(yè)市場調(diào)研及發(fā)展策略研究報(bào)告
- 制氫技術(shù)與工藝 課件 第5章 電解水制氫
- 2024年執(zhí)業(yè)醫(yī)師考試-中醫(yī)執(zhí)業(yè)醫(yī)師考試近5年真題集錦(頻考類試題)帶答案
- 2024年云網(wǎng)安全應(yīng)知應(yīng)會(huì)考試題庫
- 全國計(jì)算機(jī)一級(jí)考試題庫(附答案)
- 退化林修復(fù)投標(biāo)方案(技術(shù)方案)
- 小學(xué)道德與法治《中華民族一家親》完整版課件部編版
- 道路交通安全設(shè)施維護(hù)方案
- 3.15 秦漢時(shí)期的科技與文化 課件 2024-2025學(xué)年七年級(jí)歷史上學(xué)期
- 小學(xué)校長家校共育交流分享發(fā)言稿
評(píng)論
0/150
提交評(píng)論