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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(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ì)算機(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ì)算機(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é)構(gòu)

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

4、的邏輯結(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ù)與程序的獨(dú)立性

5、答:數(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ù)庫的存儲結(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ú)立性。第 2 章

6、數(shù)據(jù)模型3 試描述數(shù)據(jù)模型的三個(gè)要素。數(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)動(dò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)系操作集合和關(guān)系完整性約束三部分組成。(

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

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

9、與基本關(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(xiàn)為屬性間數(shù)據(jù)的依賴關(guān)系集合。關(guān)系:在域D1, D2, -;Dn上笛卡兒積D1X D2X-X 的子集稱為關(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)系

10、操作在不斷更 新著數(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í)體完整性、參照完整性和用戶定義的完整性。其中實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱做事關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持。(

11、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中每 個(gè)元組在F上的值必須為:1)或者取空值(F的每個(gè)屬性值均為空值)2)或者等于S中的某個(gè)元組的主碼值。(3) 用戶定義的完整性是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件。它反映某一具 體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。在參照完整性中,外部碼屬性的值可以為空,它表示該屬性的值尚未確定, 但前提條件是該外部碼屬性不是其所在關(guān)系的主屬性。例如,在下面的“學(xué)生”表中,“專業(yè)號”是一個(gè)外部

12、碼,不是學(xué)生表的主 屬性,可以為空,其語義是,該學(xué)生的專業(yè)尚未確定。學(xué)生(學(xué)號姓名,性別,專業(yè)號,年齡) 專業(yè)(專業(yè)號,專業(yè)名)而在下面的“選修”表中的“課程號”雖然也是一個(gè)外部碼屬性,但它又是 “課程”表的主屬性,所以不能為空,因?yàn)殛P(guān)系模型必須滿足實(shí)體完整性。課程(課程號,課程名,學(xué)分) 選修(學(xué)號,課程號,成績) p61 5、設(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)商代碼

13、(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表

14、PNOPNAMECOLORWEIGHTP1螺母紅12P2螺栓綠17P3螺絲刀藍(lán)14P4螺絲刀紅14P5凸輪藍(lán)40P6齒輪紅30J表JNOJNAMECITYJ1三建北京J2一汽長春J3彈簧廠天津J4造船廠天津J5機(jī)車廠唐山J6無線電廠常州J7半導(dǎo)體廠南京SPJ表SNOPNOJNOQTYS1P1J1200S1P1J3100S1P1J4700S1P2J2100S2P3J1400S2P3J2200S2P3J4500S2P3J5400S2P5J1400S2P5J2100S3P1J1200S3P3J1200S4P5J1100S4P6J3300S4P6J4200S5P2J4100S5P3J1200S5P6J

15、2200S5P6J4500試分別用關(guān)系代數(shù)完成如下查詢:(1) 求供應(yīng)工程J1零件的供應(yīng)商號 SNO; 答關(guān)系代數(shù)nsNO( cjno=1 ( SPJ)(2) 求供應(yīng)工程J1零件P1的供應(yīng)商號 SNO; 答關(guān)系代數(shù)ySNO(少10=丫PN0=P1(SPJ)(3) 求供應(yīng)工程J1零件為紅色的供應(yīng)商號SNO;答關(guān)系代數(shù)(Tolor=i(P)ySNO( nSNO,PNO( (JNO=1(SPJ)n?NO(4) 求沒有使用天津供應(yīng)商生產(chǎn)的紅色零件的工程號JNO;答關(guān)系代數(shù)SNO,PN0,JNO解析減法運(yùn)算中被減的部分是使用了天津供應(yīng)商生產(chǎn)的紅色零件的所有工程號,n(J)是全部工程的工程號, 兩者相減就

16、是沒有使用天津供應(yīng)商生出的紅色零件的工程號,包括沒有使用任何零件的工程號。(5) 求至少用了 S1供應(yīng)商所供應(yīng)的全部零件的工程號JNO;答關(guān)系代數(shù)SNO=s1解析上面公式中除號前的部分是所有工程與該工程所用的零件,除號后的部分是S1 所供應(yīng)的全部零件號。對于 SPJ表中的某一個(gè)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)語言 SQL5. 針對習(xí)題3中的4個(gè)表試用SQL完成

17、如下操作。(1) 找出所有供應(yīng)商的姓名和所在的城市。SELECT SNAM,E CITYFROM S;(5)找出上海廠同提供的所有零件號碼SELECT DISTINCT PNOFROM SPJ WHERE SNO IN(SELECT SNO FROM S WHERE CITY上海);(8)把所有紅色的零件的顏色改成藍(lán)色UPDATE P SET COLOR= 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. 什么是基本表什么是視圖兩者的

18、區(qū)別和聯(lián)系是什么基本表是本身獨(dú)立存在的表。視圖是人一個(gè)或幾個(gè)基本表導(dǎo)出的表。 視圖本身不獨(dú)立存儲在數(shù)據(jù)庫中, 是一個(gè)虛表。 即數(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ù)據(jù)提供安全保護(hù)。9哪類視圖是可以更新的 基本表的行列子集視圖是可以更新的。第 5 章 數(shù)據(jù)庫的安全性1 什么是數(shù)據(jù)庫的安全性 答:數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的使

19、用所造成的數(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)時(shí),由系統(tǒng)進(jìn)行核對,通過鑒定后才提供系統(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)存取的用戶 隱藏起來,從而自動(dòng)地對數(shù)據(jù)提供一定程度的安全保護(hù)。(4

20、)審計(jì): 建立審計(jì)日志, 把用戶對數(shù)據(jù)庫的所有操作自動(dòng)記錄下來放入審計(jì)日志中,DBA可以利用審計(jì)跟蹤的信息, 重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件, 找出非法存取數(shù)據(jù)的人、 時(shí)間和內(nèi)容等。(5)數(shù)據(jù)加密:對存儲和傳輸?shù)臄?shù)據(jù)進(jìn)行加密處理,從而使得不知道解密算法的人無法獲 知數(shù)據(jù)的內(nèi)容。6. 什么是數(shù)據(jù)庫的審計(jì)功能,為什么要提供審計(jì)功能答:審計(jì)功能是指 DBMS 的審計(jì)模塊在用戶對數(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)有狀況

21、的一系列事件, 找出非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容等。第 6 章 數(shù)據(jù)庫的完整性1什么是數(shù)據(jù)庫的完整性 答:數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。6假設(shè)有下面兩個(gè)關(guān)系模式: 職工(職工號,姓名,年齡,職務(wù),工資,部門號) ,其中職工號為主碼; 部門(部門號,名稱,經(jīng)理名,地址,電話號) ,其中部門號是主碼。用 SQL 語言定義這兩個(gè)關(guān)系模式,要求在模式中完成以下完整性約束條件的定義: 定義每個(gè)模式的主碼;定義參照完整性;定義職工年齡不超過 60 歲。 答: CREATE TABLE DEPT(Deptno NUMBER(2),Deptname VARCHAR(10),Manager VARCH

22、AR(10),PhoneNumber Char(12)CONSTRAINT PK_SC PRIMARY KEY (Deptno);CREATE TABLE EMP(Empno NUMBER(4) primary key,Ename VARCHAR(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í)體

23、完整性、參照完整性和用戶定義的完整性約束條件時(shí),一般 是如何分別進(jìn)行處理的答:對于違反實(shí)體完整性和用戶定義完整性的操作, 一般都采用拒絕執(zhí)行的方式處理。 而對 于違反參照完整性的操作, 并不都是簡單地拒絕執(zhí)行, 有時(shí)要根據(jù)應(yīng)用語義執(zhí)行一些附加的 操作,以保證數(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ù)到 故障前的某個(gè)一致性狀態(tài)。第 8 章 并發(fā)控制1.在數(shù)據(jù)庫中為什么要并發(fā)控制答:數(shù)據(jù)庫是共享資源, 通常有許多個(gè)事務(wù)同時(shí)在運(yùn)行。 當(dāng)多個(gè)事務(wù)并發(fā)地存

24、取 數(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ù)不一致用什么方法能避免各種不一致的情況 答:并發(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ù)是指事

25、務(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對數(shù)據(jù)對象A加上X鎖,則只允許T讀取和 修改A,其他任何事務(wù)都不能再對 A加任何類型的鎖,直到T釋放A上的鎖。這 就保證了其他事

26、務(wù)在T釋放A上的鎖之前不能再讀取和修改 A。共享鎖又稱為讀鎖。若事務(wù) T對數(shù)據(jù)對象A加上S鎖,則事務(wù)T可以讀A 但不能修改A,其他事務(wù)只能再對A加S鎖,而不能加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鎖,這時(shí)它讀到的A是T1更新后的值,再按此新的A值進(jìn)行運(yùn)算。這樣 就

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

28、則,就形成了各種不同的封鎖 協(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é)議加上事務(wù)T在讀取數(shù)據(jù)R之前必須先對其加S 鎖,直到事務(wù)結(jié)束才釋放。8 什么是活鎖什么是死鎖 答:T1T2T3T4Lock RUn lockLock R等待等待等待等待等待等待lock RLock RUn lockLock R等待等待等待

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

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

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

32、死鎖。 超時(shí)法實(shí)現(xiàn)簡單,但有可能誤判死鎖,事務(wù)因其他原因長時(shí)間等待超過時(shí)限時(shí), 系統(tǒng)會誤認(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)然,對撤銷的事務(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, T

33、3是如下的3個(gè)事務(wù):T1:A=A+2;T2: A=A*2;T3: A=A*2;(AA 2)設(shè) A 的初值為 0.(1)若這三個(gè)事務(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)請給出一個(gè)可串行化的調(diào)度,并給出執(zhí)行結(jié)果。答:TiT2Slock AY=A=0Un lock AXlock ASlock AA=Y+2等待寫回A( =2)等待Un lock A等待Y=A=2U

34、n lockAXlockAA=Y*2寫回A( =4)Un lockAT3Slock A等待等待等待Y=A=4Un lockAXlock AA=Y*2寫回A( =16)Un lock A最后結(jié)果A為16,是可串行化的調(diào)度。(3)請給出一個(gè)非串行化的調(diào)度,并給出執(zhí)行結(jié)果TiT2T3Slock AY=A=0Un lock ASlock AY=A=0Xlock A等待A=Y+2Un lock A寫回A( =2)Slock AUn lock AXlock A等待等待Y=A=2Un lock AXlock A丫=丫*2等待等待A=Y*2寫回A (=4)Un lock A寫回A (=0)Un lock A最

35、后結(jié)果A為0,為非串行化的調(diào)度。(4) 若這3個(gè)事務(wù)都遵守兩段鎖協(xié)議,請給出一個(gè)不穿生死鎖的可串行化調(diào)度 答:Slock ATl T2 T3Y=A=0Xlock AA=Y+2Slock A寫回A( =2)等待Un lock A等待Un lock AY=A=2Xlock A等待Slock AA=Y*2等待寫回A(=4)等待Un lock A等待Un lock AY=A=4Xlock AA=Y*2 寫回A( =16) Un lock AUn lock A(5) 若這3個(gè)事務(wù)都遵守兩段鎖協(xié)議,請給出一個(gè)產(chǎn)生死鎖的調(diào)度T2T3答:T1Slock AY=A=0Slock AY=A=0Xlock A等待X

36、lock A等待Slock AY=A=0Xlock A14.試述兩段鎖協(xié)議的概念。等待答:兩段鎖協(xié)議是指所有事務(wù)必須分兩個(gè)階段對數(shù)據(jù)項(xiàng)加鎖和解鎖。在對任何數(shù)據(jù)進(jìn)行讀、寫操作之前,首先要申請并獲得對該數(shù)據(jù)的封鎖; 在釋放一個(gè)封鎖之后,事務(wù)不再申請和獲得任何其他封鎖?!皟啥巍钡暮x是,事務(wù)分為兩個(gè)階段:第一階段是獲得封鎖,也稱為擴(kuò)展階段,在這個(gè)階段,事務(wù)可以申請獲得任何 數(shù)據(jù)項(xiàng)上的任何類型的鎖,但是不能釋放任何鎖;第二階段是釋放封鎖,也稱為收縮階段,在這階段,事務(wù)釋放已經(jīng)獲得的鎖, 但是不能再申請任何鎖。第十章概念模型與E-R方法1 什么是概念模型概念模型的作用是什么答:概念模型實(shí)際上是現(xiàn)實(shí)世界機(jī)

37、器的一個(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í)體型之間具有一對一,一對多,多對多各種不同和副教授沒人各帶若干研究生,每個(gè)學(xué)生選修若干課程,每門課程可由若干學(xué)生選修。請用E-R圖畫出此學(xué)校的概念模型。答:學(xué)校10某工廠生產(chǎn)若干個(gè)產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的零件可用在不同的產(chǎn)品上。這些零件由不同的原材料制成, 不同零件所用的材料可以相同。 這些零件按所屬的不同產(chǎn)品分別放在倉庫中,原材料按照類別放在若干倉庫中。請用E-R圖畫出此

38、工廠產(chǎn)品,零件,材料,倉庫的概念模型。答:第十二章數(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í)世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工作概況,明確用戶的各 種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。調(diào)查的內(nèi)容

39、是“數(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)容通常包括:(1)數(shù)據(jù)項(xiàng)(2)數(shù)據(jù)結(jié)構(gòu)(3)數(shù)據(jù)流(4)數(shù)據(jù)儲存(5)處理過程五個(gè)部分其中數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小組成單位, 若干個(gè)數(shù)據(jù)項(xiàng)可以組成一個(gè)數(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í)、完善。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)系,能滿足用戶 對數(shù)據(jù)的處理要求,是對現(xiàn)實(shí)世界的一個(gè)真實(shí)模型;(2)易于理解,從而可以用它和不熟悉計(jì)算機(jī)的用戶交換意見,用戶的積極參 與是數(shù)據(jù)庫設(shè)計(jì)成功的關(guān)鍵;(3)易于更改

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論