![數(shù)據(jù)庫原理課后題答案_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/2230aab1-f1ec-4870-b961-7da39038c65d/2230aab1-f1ec-4870-b961-7da39038c65d1.gif)
![數(shù)據(jù)庫原理課后題答案_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/2230aab1-f1ec-4870-b961-7da39038c65d/2230aab1-f1ec-4870-b961-7da39038c65d2.gif)
![數(shù)據(jù)庫原理課后題答案_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/2230aab1-f1ec-4870-b961-7da39038c65d/2230aab1-f1ec-4870-b961-7da39038c65d3.gif)
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、1試述數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)的概念。答:(1)數(shù)據(jù):描述事物的符號記錄成為數(shù)據(jù)。數(shù)據(jù)的種類有數(shù)字、文字、圖形、 圖像、聲音、正文等。數(shù)據(jù)與其語義是不可分的。(2)數(shù)據(jù)庫:數(shù)據(jù)庫是長期儲存在計算機內(nèi)的、 有組織的、可共享的數(shù)據(jù)集合。 數(shù)據(jù)庫中的數(shù)據(jù)按照一定的數(shù)據(jù)模型組織。 描述和儲存,具有較小的冗余度、較 高的數(shù)據(jù)獨立性和易擴展性,并可為各種用戶共享。(3)數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構成, 一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)人具)、應用系統(tǒng)、數(shù)據(jù)庫管理員構 成。(4)數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,用
2、于科學地組織和存儲數(shù)據(jù)、高效地獲取和維護數(shù)據(jù)。DBMS的主要功能包括數(shù)據(jù)定義功能、數(shù)據(jù)操作功能、數(shù)據(jù)庫的建立和維護功能。6. 試述數(shù)據(jù)庫系統(tǒng)三級模式結(jié)構,這種結(jié)構的優(yōu)點是什么? 答:數(shù)據(jù)庫系統(tǒng)的三級模式機構由外模式、模式和內(nèi)模式組成。外模式,亦稱子模式或用戶模式,是數(shù)據(jù)庫用戶(包括應用程序員和最終用戶) 能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視 圖,是與某一應用有關的數(shù)據(jù)的邏輯表示。模式亦稱邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)呃邏輯結(jié)構和特征的描述, 是所有用 戶的公共數(shù)據(jù)視圖。模式描述的是數(shù)據(jù)的全局邏輯結(jié)構。 外模式涉及的是數(shù)據(jù)的 內(nèi)部邏輯結(jié)構,通常是模式的子集。內(nèi)模式,
3、亦稱存儲模式,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示,即對數(shù)據(jù)的物理結(jié)構和 存儲方式的描述。數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個抽象級別,它對數(shù)據(jù)的具體組織留給 DBMS管理,使用戶能邏輯抽象地處理數(shù)據(jù),而不必關心數(shù)據(jù)在計算機中的表示 和存儲。為了能夠在內(nèi)部實現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫系統(tǒng)在這三級模式之間提供了兩層映像:外模式/模式映像和模式/內(nèi)模式映像。 正是這兩層映像 保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨立性和物理獨立性。7. 定義并解釋下列術語。外模式:亦稱子模 式或用戶 模式,是 數(shù)據(jù)庫用戶(包括 應用程序員 和最 終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構和特征的描述, 是數(shù)據(jù)庫用
4、戶的 數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)的邏輯表示。內(nèi)模式:亦稱存儲模式,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示,即對數(shù)據(jù)的物理結(jié)構和存 儲方式的描述。模式:亦稱邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)邏輯結(jié)構和特征的描述, 是所有用戶 的公共數(shù)據(jù)視圖。模式描述的是數(shù)據(jù)的全局邏輯結(jié)構。 外模式涉及的是數(shù)據(jù)的內(nèi) 部邏輯結(jié)構,通常是模式的子集。DDL數(shù)據(jù)庫定義語言,用來定義數(shù)據(jù)庫模式、外模式、內(nèi)模式的語言。DML:數(shù)據(jù)操縱語言,用來對數(shù)據(jù)庫中數(shù)據(jù)進行查詢、插入、刪除和修改的語 句。8. 什么叫數(shù)據(jù)與程序的物理獨立性?什么叫數(shù)據(jù)與程序的邏輯獨立性?為什么 數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)與程序的獨立性?答:數(shù)據(jù)與程序的邏輯獨立性:當模式改變
5、時(例如增加新的關系、新的屬性、 改變屬性的數(shù)據(jù)類型等),由數(shù)據(jù)庫管理員各個外模式/模式的映像做相應改變, 可以使外模式保持不變。應用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應用程序不 必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。數(shù)據(jù)與程序的物理獨立性:當數(shù)據(jù)庫的存儲結(jié)構改變了,有數(shù)據(jù)庫管理員對 模式/內(nèi)模式映像做相應改變,可以使模式保持不變,從而應用程序也不必改變, 保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。數(shù)據(jù)庫管理系統(tǒng)在三級模式之間提供的兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù) 據(jù)具有較高的邏輯獨立性和物理獨立性。第2章數(shù)據(jù)模型3 試描述數(shù)據(jù)模型的三個要素。數(shù)據(jù)模型由數(shù)據(jù)結(jié)構、
6、數(shù)據(jù)操作和完整性約束三部分組成。(1) 數(shù)據(jù)結(jié)構:是所研究的對象類型的集合,是對系統(tǒng)靜態(tài)特性的描述。(2) 數(shù)據(jù)操作:是對數(shù)據(jù)庫中各種對象(型)的實例(值)允許進行的操作的集 合,包括操作及有關的操作規(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.試述關系模型的概念,定義并解釋以下術語。答:關系模型由關系數(shù)據(jù)結(jié)構、關系操作集合和關系完整性約束三部分組成。(1) 關系:一個關系對應通常說法的一張表(2) 關系模式:對關
7、系的描述,一般表示為:關系名(屬性 1,屬性2,,屬 性n)(3) 元祖:表中的一行即為一個元組(4) 屬性:表中的一列即為一個屬性(5) 碼:表中的某個屬性組,它可以惟一確定一個元組(6) 域:屬性的取值范圍(7) 分量:元組中的一個屬性值第3章關系數(shù)據(jù)庫3定義并理解下列術語,說明它們之間的聯(lián)系與區(qū)別。(1) 域:域是一組具有相同數(shù)據(jù)類型的值的集合;笛卡兒積:給定一組域D1, D2,,Dn,這些域中可以有相同的。D1, D2,Dn 的笛卡爾積為:D1X D2X-X (=, d2,,dn) |di Di, i=1, 2,n其中每一個元素(d1, d2,,dn)叫做一個n元組或簡稱元組。元素中的
8、 每一個值di叫做一個分量。關系:在域D1, D2,,Dn上笛卡爾積D1 XD2X-X)n的子集稱為關系,表示為 R(D1, D2,Dn)元組:關系中的每個元素是關系中的元組。屬性:關系也是一個二維表,表的每行對應一個元組,表的每列對應一個域。 由于域可以相同,為了加以區(qū)分,必須對每列起一個名字,稱為屬性。(2) 候選碼:若關系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性 組為候選碼。主碼:若一個關系有多個候選碼,則選定其中一個為主碼。外部碼:設F是基本關系R的一個或一組屬性,但不是關系 R的碼,如果 F與基本關系S的主碼Ks相對應,則稱F是基本關系R的外部碼,簡稱外碼?;娟P系R稱為參
9、照關系,基本關系S稱為被參照關系或目標關系。關系 R和S可以是相同的關系。(3)關系模式:關系的描述稱為關系模式。它可以形式化地表示為R(U,D,dom, F)其中R為關系名,U為組成該關系的屬性名集合,D為屬性組U中屬性所來 自的域,dom為屬性向域的映像集合,F(xiàn)為屬性間數(shù)據(jù)的依賴關系集合。關系:在域D1,D2,,Dn上笛卡兒積D1XD2X-XDn的子集稱為關系,表 示為R (D1, D2,Dn),關系是關系模式在某一時刻的狀態(tài)或內(nèi)容。關系模式 是靜止的、穩(wěn)定的;而關系是動態(tài)的、隨時間不斷變化的,因為關系操作在不斷 更新著數(shù)據(jù)庫中的數(shù)據(jù)。關系數(shù)據(jù)庫:關系數(shù)據(jù)庫也有型和值之分。關系數(shù)據(jù)庫的型也
10、稱為關系數(shù)據(jù) 庫模式,是對關系數(shù)據(jù)庫的描述,它包括若干域的定義以及在這些域上定義的若 干關系模式。關系數(shù)據(jù)庫的值是這些關系模式在某一時刻對應的關系的集合,通常就稱為關系數(shù)據(jù)庫。4.試述關系模型的完整性規(guī)則。在參照完整性中,為什么外部碼屬性的值也可 以為空?什么情況下才可以為空?答:關系模型的完整性規(guī)則是對關系的某種約束條件。關系模型中可以有三類 完整性約束:實體完整性、參照完整性和用戶定義的完整性。其中實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,被稱做事關系的兩個不變性,應該由關系系統(tǒng)自動支持。(1)實體完整性規(guī)則:若屬性 A是基本關系R的主屬性,則屬性A不能取空 值。(2)參照
11、完整性規(guī)則:若屬性(或?qū)傩越M) F是基本關系R的外碼,它與基 本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對于R 中每個元組在F上的值必須為:1)或者取空值(F的每個屬性值均為空值)2)或者等于S中的某個元組的主碼值。(3) 用戶定義的完整性是針對某一具體關系數(shù)據(jù)庫的約束條件。它反映某一具 體應用所涉及的數(shù)據(jù)必須滿足的語義要求。在參照完整性中,外部碼屬性的值可以為空,它表示該屬性的值尚未確定, 但前提條件是該外部碼屬性不是其所在關系的主屬性。例如,在下面的“學生”表中,“專業(yè)號”是一個外部碼,不是學生表的主 屬性,可以為空,其語義是,該學生的專業(yè)尚未確定。學生(學號姓名,性
12、別,專業(yè)號,年齡) 專業(yè)(專業(yè)號,專業(yè)名)而在下面的“選修”表中的“課程號”雖然也是一個外部碼屬性,但它又是 “課程”表的主屬性,所以不能為空,因為關系模型必須滿足實體完整性。課程(課程號,課程名,學分) 選修(學號,課程號,成績)p61 5、設有一個SPJ數(shù)據(jù)庫,包括 S P、J SPJ四個關系模式:S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY);供應商表S由供應商代碼(SNO)、供應商姓名(SNAME卜供應商狀態(tài)(STATUS)供應商所在城市(CITY組成
13、;零件表P由零件代碼(PN0)、零件名(PNAME)、顏色(COLOR)重量(WEIGHT) 組成;工程項目表J由工程項目代碼(JNO)、工程項目名(JNAME)、工程項目所在城市(CITY組成;供應情況表SPJ由供應商代碼(SNO)、零件代碼(PNO)、工程項目代碼(JNO)、 供應數(shù)量(QTY)組成,表示某供應商供應某種零件給某工程項目的數(shù)量為QTY。今有若干數(shù)據(jù)如下:S表P表SNOSNAMESTATUSCITYS1精益20天津S2盛錫10北京S3東方紅30北京S4豐泰盛20天津S5為民30上海PNOPNAMECOLORWEIGHTP1螺母紅12P2螺栓綠17P3螺絲刀藍14P4螺絲刀紅1
14、4P5凸輪藍40P6齒輪紅30J表JNOJNAMECITYJ1三建北京J2一汽長春J3彈簧廠天津J4造船廠天津J5機車廠唐山J6無線電廠常州J7半導體廠南京SPJ表SNOPNOJNOQTYS1P1J1200S1P1J3100S1P1J4700S1P2J2100S2P3J1400S2P3J2200S2P3J4500S2P3J5400S2P5J1400S2P5J2100S3P1J1200S3P3J1200S4P5J1100S4P6J3300S4P6J4200S5P2J4100S5P3J1200S5P6J2200S5P6J4500試分別用關系代數(shù)完成如下查詢:(1) 求供應工程J1零件的供應商號 S
15、NO; 答關系代數(shù)(SPJ)(2) 求供應工程J1零件P1的供應商號 SNO; 答 關系代數(shù)nSNO( (JNIO='Y? PNO='1' (SPJ)(SPJ)? nPN0( CCOLOR'紅(P)(3) 求供應工程J1零件為紅色的供應商號 SNO; 答 關系代數(shù)nSNO( nSNO,PNO(JNO;(4) 求沒有使用天津供應商生產(chǎn)的紅色零件的工程號 答關系代數(shù)7lJNO(J)- JN°( nSN°(嚴丫=天津(S) ? TpNO,PN0 JNO(SPJ)nN°(時陀紅(p)解析減法運算中被減的部分是使用了天津供應商生產(chǎn)的紅色零件的
16、所有工程號, n ( J)是全 部工程的工程號,兩者相減就是沒有使用天津供應商生出的紅色零件的工程號, 包括沒有使 用任何零件的工程號。(5) 求至少用了 S1供應商所供應的全部零件的工程號JNO;答關系代數(shù)yjNO, PNO(SPJnNO( CPNO=S1(SPJ)解析上面公式中除號前的部分是所有工程與該工程所用的零件,除號后的部分是S1所供應的全部零件號。對于 SPJ表中的某一個JNO,如果該工程使用的所有零件的集合包含S1所供應的全部零件號,則該JNO符合本題條件,在除法運算的結(jié)果集中??梢钥吹剑褂藐P系代數(shù)的除法運算概念清晰,語言表達也很簡單。7 關系代數(shù)的基本運算有哪些? 選擇、投影
17、、并、差和笛卡兒積五種。 第4章關系數(shù)據(jù)庫的標準語言 SQL 5.針對習題3中的4個表試用SQL完成如下操作。(1) 找出所有供應商的姓名和所在的城市。SELECT SNAM, CITYFROM S(5)找出上海廠同提供的所有零件號碼SELECT DISTINCT PNOFROM SPJ WHERE SNO IN(SELECT SNO FROM S WHERE CITY上 海);(8)把所有紅色的零件的顏色改成藍色UPDATE P SET COLOR藍'WHERE COLOR紅'(10)從供應商的關系中刪除 S2的記錄,并從供應關系中刪除相應記錄。DELETE FROM SPJ
18、 WHERE SNO2' DELETE FROM S WHERE SN=S2'6 什么是基本表?什么是視圖?兩者的區(qū)別和聯(lián)系是什么?基本表是本身獨立存在的表。視圖是人一個或幾個基本表導出的表。視圖本身不獨立存儲在數(shù)據(jù)庫中,是一個虛表。即數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應的數(shù)據(jù),這些數(shù)據(jù)仍存放在導出視圖的基本表 中。用戶可以如同基本表那樣使用視圖,可以在視圖上再定義視圖。7 試述視圖的優(yōu)點。1) 視圖能簡化用戶的操作;2) 視圖使用戶能以多種角度看待同一數(shù)據(jù);3) 視圖對重構數(shù)據(jù)庫提供了一定程度的邏輯獨立性;4) 視圖能夠?qū)C密數(shù)據(jù)提供安全保護。9 哪類視圖是可以更新的?基
19、本表的行列子集視圖是可以更新的。第5章數(shù)據(jù)庫的安全性1什么是數(shù)據(jù)庫的安全性?答:數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫以防止不合法的使用所造成的數(shù)據(jù)泄露,更改過破壞。試述實現(xiàn)數(shù)據(jù)庫安全性控制的常見方法和技術3實現(xiàn)數(shù)據(jù)庫安全性控制的常見方法和技術有:(1 )用戶標識和鑒別:該方法由系統(tǒng)提供一定的方式讓用戶標識自己的名字或身份。每次 用戶要求進入系統(tǒng)時,由系統(tǒng)進行核對,通過鑒定后才提供系統(tǒng)的使用權。(2) 存取控制:通過用戶權限定義和合法權檢查確保只有合法權限的用戶訪問數(shù)據(jù)庫,所有未被授權的人無法存取數(shù)據(jù)。例如C2集中地自主存取控制(DAC), B1集中的強制存取控制(MAC)。(3) 視圖機制:為不同的用
20、戶定義視圖,通過視圖機制把要保密的數(shù)據(jù)對無權存取的用戶 隱藏起來,從而自動地對數(shù)據(jù)提供一定程度的安全保護。(4) 審計:建立審計日志,把用戶對數(shù)據(jù)庫的所有操作自動記錄下來放入審計日志中,DBA可以利用審計跟蹤的信息,重現(xiàn)導致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時間和內(nèi)容等。(5) 數(shù)據(jù)加密:對存儲和傳輸?shù)臄?shù)據(jù)進行加密處理,從而使得不知道解密算法的人無法獲 知數(shù)據(jù)的內(nèi)容。6什么是數(shù)據(jù)庫的審計功能,為什么要提供審計功能?答:審計功能是指DBMS的審計模塊在用戶對數(shù)據(jù)庫執(zhí)行操作的同時把所有操作自動記錄到 系統(tǒng)的審計日志中。因為任何系統(tǒng)的安全保護措施都不是完美無缺的,蓄意盜竊破壞數(shù)據(jù)的人
21、總可能存在。利用數(shù)據(jù)庫的審計功能,DBA可以根據(jù)審計跟蹤的信息,重現(xiàn)導致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件, 找出非法存取數(shù)據(jù)的人、時間和內(nèi)容等。第6章數(shù)據(jù)庫的完整性1 什么是數(shù)據(jù)庫的完整性?答:數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。6 .假設有下面兩個關系模式:職工(職工號,姓名,年齡,職務,工資,部門號),其中職工號為主碼;部門(部門號,名稱,經(jīng)理名,地址,電話號),其中部門號是主碼。用SQL語言定義這兩個關系模式,要求在模式中完成以下完整性約束條件的定義: 定義每個模式的主碼;定義參照完整性;定義職工年齡不超過60歲。答: CREATE TABLE DEPT(Dept no NUMBER(2)
22、,Dept nameVARCHAR(10),Man ager VARCHAR(10),Pho neNumber Char(12) CONSTRAINT PK_SC PRIMARY KEY (Deptno);CREATE TABLE EMP(Emp no NUMBER(4) primary key,En ame VARCHAR(10),Age NUMBER(2),CONSTRAINT C1 CHECK (Aage < =60),Job VARCHAR(9),Sal NUMBER(7,2), Dept no NUMBER(2), CONSTRAINT FK_DEPTNOFOREIGN KEY
23、(Deptno) REFERENCES DEPT(Dept no);7關系系統(tǒng)中,當操作違反實體完整性、參照完整性和用戶定義的完整性約束條件時,一般 是如何分別進行處理的?答:對于違反實體完整性和用戶定義完整性的操作,一般都采用拒絕執(zhí)行的方式處理。而對于違反參照完整性的操作,并不都是簡單地拒絕執(zhí)行,有時要根據(jù)應用語義執(zhí)行一些附加的操作,以保證數(shù)據(jù)的正確性。第7章數(shù)據(jù)庫恢復技術5 .數(shù)據(jù)庫的恢復技術有哪些?數(shù)據(jù)轉(zhuǎn)儲和登錄日志文件是數(shù)據(jù)庫恢復的基本技術。當系統(tǒng)運行過程中發(fā)生故障, 利用轉(zhuǎn)儲的數(shù)據(jù)庫后備副本和日志文件就可以將數(shù)據(jù)庫恢復到 故障前的某個一致性狀態(tài)。第8章并發(fā)控制1. 在數(shù)據(jù)庫中為什么要
24、并發(fā)控制?答:數(shù)據(jù)庫是共享資源,通常有許多個事務同時在運行。當多個事務并發(fā)地存取 數(shù)據(jù)庫時就會產(chǎn)生同時讀取和/或修改同一數(shù)據(jù)的情況。 若對并發(fā)操作不加控制 就可能讀取和存儲不正確的數(shù)據(jù),破壞數(shù)據(jù)庫的一致性。所以數(shù)據(jù)庫管理系統(tǒng)必 須提供并發(fā)控制機制。2. 并發(fā)操作可能會產(chǎn)生哪幾類數(shù)據(jù)不一致?用什么方法能避免各種不一致的情 況?答:并發(fā)操作帶來的數(shù)據(jù)不一致性包括三類:丟失修改、不可重復讀和讀“臟” 數(shù)據(jù)。(1) 丟失修改兩個事務T1和T2讀入同一數(shù)據(jù)并修改,T2提交的結(jié)果破壞了(覆蓋了)T1提交的結(jié)果,導致T1的修改被丟失。(2) 不可重復讀不可重復讀是指事務T1讀取數(shù)據(jù)后,事務T2提交執(zhí)行更新操
25、作,使T1無 法再現(xiàn)前一次讀取結(jié)果。(3) 讀”臟”數(shù)據(jù)讀“臟”數(shù)據(jù)是指事務T1修改某一數(shù)據(jù),并將其寫回磁盤,事務 T2讀取同 一數(shù)據(jù)后,T1由于某種原因被撤銷,這時T1已修改過的數(shù)據(jù)恢復原值,T2讀到 的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則 T2讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正 確的數(shù)據(jù)。避免不一致性的方法和技術就是并發(fā)控制。最常用的技術是封鎖技術。也可以用其他技術,例如在分布式數(shù)據(jù)庫系統(tǒng)中可以采用時間戳方法來進行并發(fā)控 制。4. 基本的封鎖類型有幾種?試述它們的含義。 答:基本的封鎖類型有兩種:排它鎖和共享鎖。排它鎖又稱為寫鎖。若事務T對數(shù)據(jù)對象A加上X鎖,則只允許T讀取和修 改A,其他任何事
26、務都不能再對 A加任何類型的鎖,直到T釋放A上的鎖。這就 保證了其他事務在T釋放A上的鎖之前不能再讀取和修改A。共享鎖又稱為讀鎖。若事務 T對數(shù)據(jù)對象A加上S鎖,則事務T可以讀A 但不能修改A,其他事務只能再對A加S鎖,而不能加X鎖,直到T釋放A上的 S鎖。這就保證了其他事務可以讀 A,但在T釋放A上的S鎖之前不能對A做任 何修改。5. 如何用封鎖機制保證數(shù)據(jù)的一致性?答:DBMS在對數(shù)據(jù)進行讀、寫操作之前首先對該數(shù)據(jù)執(zhí)行封鎖操作,例如下圖中事務T1在對進行修改之前先對 A執(zhí)行Xock (A),即對A加X鎖。這樣,當 T2請求對A加X鎖是就被拒絕,T2只能等待T1釋放A上的鎖后才能獲得對 A
27、的X鎖,這時它讀到的A是T1更新后的值,再按此新的A值進行運算。這樣 就不會丟失T1的更新DBMS按 定的圭寸 議,對并 制進行 制,使得 并發(fā)操 序地執(zhí) 就可以 丟失修 不可重 和 讀“臟”數(shù) 數(shù)據(jù)不性。T2 XIockA獲得Xlock A讀A=16等待 A J A-1等待寫回A=15等待Commit等待Un lock A獲得Xlock A讀 A=15A J A-1 寫回A=14 Commit Un lock A昭八、 鎖協(xié) 發(fā)控控 多個 作有 行, 避免 改、 復讀據(jù)等一致5.什么是封鎖協(xié)議?不同級別的封鎖協(xié)議的主要區(qū)別是什么?答:在運用封鎖技術對數(shù)據(jù)加鎖時,要約定一些規(guī)則。例如,在運用X
28、鎖和S鎖對數(shù)據(jù)對象加鎖時,要約定何時申請X鎖或S鎖、何時釋放封鎖等。這些約定 或者規(guī)則稱為封鎖協(xié)議。對封鎖方式約定不同的規(guī)則,就形成了各種不同的封鎖 協(xié)議、不同級別的封鎖協(xié)議,例如三級封鎖協(xié)議,三級封鎖協(xié)議的主要區(qū)別在于 什么操作需要申請封鎖,何時申請封鎖以及何時釋放鎖(即持鎖時間的長短) 一級封鎖協(xié)議:才釋放。二級封鎖協(xié)議:鎖,讀完后即可釋放三級封鎖協(xié)議:事務T在修改數(shù)據(jù)R之前必須先對其加X鎖,直到事務結(jié)束一級封鎖協(xié)議加上事務 S鎖。一級封鎖協(xié)議加上事務T在讀取數(shù)據(jù)T在讀取數(shù)據(jù)R之前必須先對其加SR之前必須先對其加S鎖,直到事務結(jié)束才釋放。8什么是活鎖?什么是死鎖?答:T1Lock RUn
29、lockT2T3T4Lock R等待lock R.等待Lock R等待Lock R等待等待.等待等待Unlock等待等待.Lock R數(shù)據(jù)R,事務T2又請求封鎖R,于是T2等待。T3也請求9如果事務T1封鎖了封鎖R,當T1釋放了 R上的封鎖之后系統(tǒng)首先批準了 T3的請求,T2仍然等待。 然后T4又請求封鎖R, 求T2有可能永遠等時間太長,似乎被鎖住了,實際上可能被激活。如果事務T1封鎖了數(shù)據(jù)R1,T2封鎖了數(shù)據(jù)R2,然后T1又請求封鎖R2,當T3釋放了 R上的封鎖之后系統(tǒng)又批準了 T4的請待,這就是活鎖的情形?;铈i的含義是該等待事務等待因T2已封鎖了 R2,于是T1等待T2釋放R2上的鎖。接著
30、T2又申請分所R1 , 因T1已封鎖了 R1,也只能T1釋放R1上的鎖。這樣就出現(xiàn)了 T1在等待T2,而 T2又在等待T1的局面,T1和T2兩個事務永遠不能結(jié)束,形成死鎖。T1T2lock R1.Lock R2Lock R2.等待lock R1.8.試述活鎖的產(chǎn)生原因和解決方法。答:活鎖產(chǎn)生的原因:當一系列封鎖不能按照其先后順序執(zhí)行時,就可能導致 一些事務無限期等待某個封鎖,從而導致活鎖。避免活鎖的簡單方法是采用先來先服務的策略。當多個事務請求封鎖同一數(shù) 據(jù)對象時,封鎖子系統(tǒng)按請求封鎖的先后次序?qū)κ聞张抨?,?shù)據(jù)對象上的鎖一旦 釋放就批準申請隊列中的第一個事務獲得鎖。10請給出預防死鎖的若干方法
31、。 答:在數(shù)據(jù)庫中,產(chǎn)生死鎖的原因是兩個或多個事務都已封鎖了一些數(shù)據(jù)對象, 然后又都請求已被其他事務封鎖的數(shù)據(jù)加鎖,從而出現(xiàn)死等待。防止死鎖的發(fā)生其實就是要破壞產(chǎn)生死鎖的條件。預防死鎖通常有兩種方 法:(1) 一次封鎖法,要求每個事務必須一次將所有要使用的數(shù)據(jù)全部加鎖, 否則就不能繼續(xù)執(zhí)行;(2) 順序封鎖法,預先對數(shù)據(jù)對象規(guī)定一個封鎖順序,所有事務都能按這 個順序?qū)嵭蟹怄i。不過,預防死鎖的策略不大適合數(shù)據(jù)庫系統(tǒng)的特點, 具體原因可參加概論 8.4。11 請給出檢測死鎖發(fā)生的一種方法,當發(fā)生死鎖后如何解除死鎖?答:數(shù)據(jù)庫系統(tǒng)一般采用允許死鎖發(fā)生,DBMS檢測到死鎖后加以解除的方法。 DBMS中
32、診斷死鎖的方法與操作系統(tǒng)類似,一般使用超時法或事務等待圖法。 超時法是:如果一個事務的等待時間超過了規(guī)定的時限, 就認為發(fā)生了死鎖。 超時法實現(xiàn)簡單,但有可能誤判死鎖,事務因其他原因長時間等待超過時限時, 系統(tǒng)會誤認為發(fā)生了死鎖。若時限設置的太長,又不能及時發(fā)現(xiàn)死鎖發(fā)生。DBMS并發(fā)控制子系統(tǒng)檢測到死鎖后,就要設法解除。通常采用的方法是選 擇一個處理死鎖代價最小的事務, 將其撤銷,釋放此事務持有的所有鎖,使其他 事務得以繼續(xù)運行下去。當然,對撤銷的事務所執(zhí)行的數(shù)據(jù)修改操作必須加以恢 復。12什么樣的并發(fā)調(diào)度是正確的調(diào)度?答:可串行化的調(diào)度室正確的調(diào)度。可串行化的調(diào)度的定義:多個事務的并發(fā)執(zhí)行是
33、正確的,當且僅當其結(jié)果與按某一次序串行執(zhí)行它們時的結(jié)果相同,稱這種調(diào)度策略為可串行化的調(diào)度 13.設T1,T2, T3是如下的3個事務:T1: A=A+2;T2: A=A*2;T3: A=A*2;(AA 2)設A的初值為0.(1) 若這三個事務允許并行執(zhí)行,則有多少可能的正確結(jié)果,請一一列舉 出來。答:A的最終結(jié)果可能有2、4、8、16。因為串行執(zhí)行次序有 T1T2T3、T1T3T2、T2T1T3、T2T3T1、T3T訂2、T3T2T1。 對應的執(zhí)行結(jié)果是16、8、4、2、4、2。(2) 請給出一個可串行化的調(diào)度,并給出執(zhí)行結(jié)果答:T1 Slock A Y=A=0 Un lock A Xloc
34、k AA=Y+2寫回A (=2)Un lock AT2T3Slock A等待等待等待Y=A=2Un lock AXlock AA=Y*2寫回A ( =4)Un lock A最后結(jié)果A為16,是可串行化的調(diào)度(3)請給出一個非串行化的調(diào)度,并給出執(zhí)行結(jié)果T1Slock AY=A=0Un lock ASlock AY=A=0Slock A等待等待等待Y=A=4Un lock AXlock AA=Y*2寫回A (=16)Un lock AT3等待A=Y+2寫回A ( =2)Un lock AUn lock ASlock A等待Y=A=2Un lock AXlock AXlock A寫回A (=4)U
35、n lock A等待等待等待A=Y*2寫回A (=0)Un lock A最后結(jié)果A為0,為非串行化的調(diào)度。(4) 若這3個事務都遵守兩段鎖協(xié)議,請給出一個不穿生死鎖的可串行化調(diào)度 答:T1 T2 T3Slock AY=A=0Xlock AA=Y+2寫回A( =2)Un lock AUn lock ASlock A等待 等待Y=A=2Xlock A 等待A=Y*2寫回A(=4)Un lock AUn lock ASlock A等待等待等待Y=A=4Xlock AA=Y*2寫回A( =16)Un lock AUn lock A(5) 若這3個事務都遵守兩段鎖協(xié)議,請給出一個產(chǎn)生死鎖的調(diào)度。 答:I
36、T1T2T3Slock AY=A=0Slock AY=A=OXlock A等待Xlock A等待Slock AY=A=0Xlock A14.試述兩段鎖協(xié)議的概念。等待答:兩段鎖協(xié)議是指所有事務必須分兩個階段對數(shù)據(jù)項加鎖和解鎖。 在對任何數(shù)據(jù)進行讀、寫操作之前,首先要申請并獲得對該數(shù)據(jù)的封鎖; 在釋放一個封鎖之后,事務不再申請和獲得任何其他封鎖。“兩段”的含義是,事務分為兩個階段:第一階段是獲得封鎖,也稱為擴展階段,在這個階段,事務可以申請獲得任何 數(shù)據(jù)項上的任何類型的鎖,但是不能釋放任何鎖;第二階段是釋放封鎖,也稱為收縮階段,在這階段,事務釋放已經(jīng)獲得的鎖, 但是不能再申請任何鎖。第十章概念模
37、型與E-R方法1 什么是概念模型?概念模型的作用是什么?答:概念模型實際上是現(xiàn)實世界機器的一個中間層次。 概念模型用于信息世界的建模, 是現(xiàn) 實世界到信息世界的第一層抽象,是數(shù)據(jù)庫設計人員進行數(shù)據(jù)庫設計的有力工具, 也是數(shù)據(jù) 庫人員和用戶之間進行交流的語言。4.試給出3個實際部門的E-R圖,要求實體型之間具有一對一,一對多,多對多各種不同 的聯(lián)系。答:部門Ir9 .學和畐0各??傆腥艚?jīng)理系,每個 教授沒人各帶若干研E-R圖畫出此學校的概念模型。答:系有右堯生,科研項目課程學生指導室-教n教研室教員m學生不同零件所用的材料可以相同。這些零件按所屬的不同產(chǎn)品E-R圖畫出此工廠產(chǎn)品,零件,材1稈某工
38、廠生產(chǎn)若干個產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的零件可用在不同的產(chǎn)品上。 這些零件由不同的原材料制成,分別放在倉庫中,原材料按照類別放在若干倉庫中。請用料,倉庫的概念模型。 答:m產(chǎn)品n第十二章數(shù)據(jù)庫設計步驟零件1試述數(shù)據(jù)庫設計過程分析1儲存需求概念結(jié)構設計邏輯結(jié)構設計數(shù)據(jù)庫物理設計 數(shù)據(jù)庫實施 ”據(jù)庫運行和隹護畢際數(shù)據(jù)庫及其應用系統(tǒng)的設計過程 身,還包括數(shù)據(jù)庫的實施、運行和維護。設計一個完善的數(shù)據(jù)庫應用系統(tǒng)往往是上述六個5.需求分析階段的材料計目標疋什么?調(diào)查的內(nèi)容疋放么?= 需求分析階段的設計目標是通過詳細調(diào)查現(xiàn)實世界 企業(yè)等),充分了解原方快(1)(2)(3)(4)(5)(6) 這疋倉庫
39、數(shù)個完整系統(tǒng)不僅包括設計數(shù)據(jù)庫本0(手工系統(tǒng)或計算機勺不斷重的對象(組織、部門、 工作概況,明確用戶的各種需求,然后在此基礎上確定新系統(tǒng)的功能。調(diào)查的內(nèi)容是“數(shù)據(jù)”和“處理”,即獲得用戶對數(shù)據(jù)庫的如下要求:(1) 信息要求,指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì),由信息要求 可以導出數(shù)據(jù)要求,即在數(shù)據(jù)庫中可以儲存哪些數(shù)據(jù);(2) 處理要求,指用戶要完成什么處理功能,對處理的響應時間有什么要求, 處理方式是批處理還是聯(lián)機處理;(3) 安全性與完整性要求。6. 數(shù)據(jù)字典的內(nèi)容和作用是什么?數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合。數(shù)據(jù)字典的內(nèi)容通常包括:(1) 數(shù)據(jù)項(2) 數(shù)據(jù)結(jié)構(3) 數(shù)據(jù)流(4
40、)數(shù)據(jù)儲存(5)處理過程五個部分其中數(shù)據(jù)項是數(shù)據(jù)的最小組成單位, 若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構。 數(shù) 據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構的定義來描述數(shù)據(jù)流和數(shù)據(jù)儲存的邏輯內(nèi)容。數(shù)據(jù)字典的作用:數(shù)據(jù)字典是關于數(shù)據(jù)庫中數(shù)據(jù)的描述,在需求分析階段建立, 是下一步進行概念設計的基礎,并在數(shù)據(jù)庫設計過程中不斷修改、充實、完善。7. 什么是數(shù)據(jù)庫的概念結(jié)構?試述其特點和設計策略。概念結(jié)構是信息世界的結(jié)構,即概念模型,其主要特點是:(1)能真實、充分的反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶 對數(shù)據(jù)的處理要求,是對現(xiàn)實世界的一個真實模型;(2)易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參 與是數(shù)據(jù)庫設計成功的關鍵;(3)易于更改,當應用環(huán)境和應用要求改變時,容易對概念模型修改和擴充;(4)易于向關系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。概念結(jié)構的設計策
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 統(tǒng)編六上《青山不老》教學設計
- 教學設計方案作業(yè)
- XX公司天花吊頂施工合作合同
- 個人貸款合同范文及格式
- 個人保證擔保借款合同書正式版
- 臨街門面租賃合同標準版
- 中鐵物資商城物流配送合同新范本
- 個人住房抵押借款合同模板
- 產(chǎn)品生產(chǎn)裝配標準化合同
- 采購預付款合同范本
- 二零二五年度集團公司內(nèi)部項目專項借款合同范本3篇
- 事業(yè)單位公開招聘工作人員考試題(公共基礎知識試題和答案)
- 廉潔應征承諾書
- 2023年大學物理化學實驗報告化學電池溫度系數(shù)的測定
- 農(nóng)村公共基礎知識
- 腦出血的護理課件腦出血護理查房PPT
- 煤礦機電運輸安全培訓課件
- 扣繳個人所得稅報告表-(Excel版)
- Unit+4+History+and+Traditions單元整體教學設計課件 高中英語人教版(2019)必修第二冊單元整體教學設計
- 2023年全國自學考試00054管理學原理試題答案
- 六年級譯林版小學英語閱讀理解訓練經(jīng)典題目(附答案)
評論
0/150
提交評論