【正文】
一一S 。12.下面的結(jié)論哪些是正確的? 哪些是錯(cuò)誤的? 對(duì)于錯(cuò)誤的請(qǐng)給一個(gè)反例說明之。證明:設(shè)R為一個(gè)二目關(guān)系R(A1,A2),則屬性A1和A2之間可能存在以下幾種依賴關(guān)系:A、A1224。C、R的碼為(A1,A2)(即A1 224。設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個(gè)階段的不斷反復(fù)。3 .試述數(shù)據(jù)庫設(shè)計(jì)過程中結(jié)構(gòu)設(shè)計(jì)部分形成的數(shù)據(jù)庫模式。6 .?dāng)?shù)據(jù)字典的內(nèi)容和作用是什么?答:數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合。8 .什么叫數(shù)據(jù)抽象?試舉例說明。 9 .試述數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)的重要性和設(shè)計(jì)步驟。一般說來,視圖集成可以有兩種方式: ( l )多個(gè)分 E 一 R 圖一次集成。答:數(shù)據(jù)庫在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于給定的 DBMS 。保證輸入數(shù)據(jù)正確性的方法:為提高數(shù)據(jù)輸入工作的效率和質(zhì)量,應(yīng)該針對(duì)具體的應(yīng)用環(huán)境設(shè)計(jì)一個(gè)數(shù)據(jù)錄入子系統(tǒng),由計(jì)算機(jī)來完成數(shù)據(jù)入庫的任務(wù)。這就要進(jìn)行數(shù)據(jù)庫重構(gòu)造。答:重要性:關(guān)系系統(tǒng)的查詢優(yōu)化既是 RDBMS 實(shí)現(xiàn)的關(guān)鍵技術(shù)又是關(guān)系系統(tǒng)的優(yōu)點(diǎn)所在。 ( 3 )優(yōu)化器可以考慮數(shù)十甚至數(shù)百種不同的執(zhí)行計(jì)劃,從中選出較優(yōu)的一個(gè),而程序員一般只能考慮有限的幾種可能性。4 .試述查詢優(yōu)化的一般步驟。事務(wù)具有4 個(gè)特性:原子性(Atomicity )、一致性(consistency )、隔離性( Isolation )和持續(xù)性(Durability )。2 .為什么事務(wù)非正常結(jié)束時(shí)會(huì)影響數(shù)據(jù)庫數(shù)據(jù)的正確性,請(qǐng)列舉一例說明之。4 .?dāng)?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ī)病毒。靜態(tài)轉(zhuǎn)儲(chǔ):在系統(tǒng)中無運(yùn)行事務(wù)時(shí)進(jìn)行的轉(zhuǎn)儲(chǔ)操作,如上圖所示。為此,必須把轉(zhuǎn)儲(chǔ)期間各事務(wù)對(duì)數(shù)據(jù)庫的修改活動(dòng)登記下來,建立日志文件( 109 file )。(2)設(shè)立日志文件的目的是:進(jìn)行事務(wù)故障恢復(fù);進(jìn)行系統(tǒng)故障恢復(fù);協(xié)助后備副本進(jìn)行介質(zhì)故障恢復(fù)。(1)反向掃描文件日志(即從最后向前掃描日志文件),查找該事務(wù)的更新操作;(2)對(duì)該事務(wù)的更新操作執(zhí)行逆操作,即將日志記錄中“更新前的值”寫入數(shù)據(jù)庫;(3)繼續(xù)反向掃描日志文件,做同樣處理;(4)如此處理下去,直至讀到此事務(wù)的開始標(biāo)記,該事務(wù)故障的恢復(fù)就完成了。即將日志記錄中“更新后的值”Afte , Image )寫入數(shù)據(jù)庫。一般來說,需要檢查所有日志記錄。(2)由該檢查點(diǎn)記錄得到檢查點(diǎn)建立時(shí)刻所有正在執(zhí)行的事務(wù)清單ACTIVE 一LIST 。二是提高數(shù)據(jù)庫的可用性。 ( 2 )不可重復(fù)讀( Non 一 Repeatable Read ) 不可重復(fù)讀是指事務(wù) Tl 讀取數(shù)據(jù)后,事務(wù)幾執(zhí)行更新操作,使 Tl 無法再現(xiàn)前一次讀取結(jié)果。封鎖是實(shí)現(xiàn)并發(fā)控制的一個(gè)非常重要的技術(shù)。4 .如何用封鎖機(jī)制保證數(shù)據(jù)的一致性?答: DBMS 在對(duì)數(shù)據(jù)進(jìn)行讀、寫操作之前首先對(duì)該數(shù)據(jù)執(zhí)行封鎖操作,例如下圖中事務(wù) Tl 在對(duì) A 進(jìn)行修改之前先對(duì) A 執(zhí)行 xock ( A ) ,即對(duì) A 加 x 鎖。如果事務(wù) Tl 封鎖了數(shù)據(jù) Rl ,幾封鎖了數(shù)據(jù)凡,然后 Tl 又請(qǐng)求封鎖幾,因幾已封鎖了幾,于是 Tl 等待幾釋放幾上的鎖。 DBMS 中診斷死鎖的方法與操作系統(tǒng)類似,一般使用超時(shí)法或事務(wù)等待圖法。可串行化的調(diào)度的定義:多個(gè)事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)其結(jié)果與按某一次序串行執(zhí)行它們時(shí)的結(jié)果相同,稱這種調(diào)度策略為可串行化的調(diào)度。對(duì)應(yīng)的執(zhí)行結(jié)果是 16 、 8 ( 4 )若這 3 個(gè)事務(wù)都遵守兩段鎖協(xié)議,請(qǐng)給出一個(gè)不產(chǎn)生死鎖的可串行化調(diào)度。不失一般性,假設(shè)這組潛在沖突對(duì)象中 X =(A 1 , A2 , … , Ai }均符合情況 1 。答:13 .為什么要引進(jìn)意向鎖?意向鎖的含義是什么?答:引進(jìn)意向鎖是為了提高封鎖子系統(tǒng)的效率。引進(jìn)意向鎖后,系統(tǒng)對(duì)某一數(shù)據(jù)對(duì)象加鎖時(shí)不必逐個(gè)檢查與下一級(jí)結(jié)點(diǎn)的封鎖沖突了。答:(略,已經(jīng)在上面有關(guān)習(xí)題中解答)16 .試述你了解的某一個(gè)實(shí)際的 DBMS 產(chǎn)品的并發(fā)控制機(jī)制。 SIX 鎖:如果對(duì)一個(gè)數(shù)據(jù)對(duì)象加 SIX 鎖,表示對(duì)它加 S 鎖,再加 IX 鎖,即 SIX = S + IX 。例如事務(wù) T 要對(duì)某個(gè)元組加 X 鎖,則首先要對(duì)關(guān)系和數(shù)據(jù)庫加 ix 鎖。證畢。下面稱 A 為潛在沖突對(duì)象。 ( 3 )請(qǐng)給出一個(gè)非串行化的調(diào)度,并給出執(zhí)行結(jié)果。答 :A 的最終結(jié)果可能有 2 、 4 、 8 、 16 。當(dāng)然,對(duì)撤銷的事務(wù)所執(zhí)行的數(shù)據(jù)修改操作必須加以恢復(fù)。當(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ù)獲得鎖。然后幾又請(qǐng)求封鎖 R ,當(dāng)幾釋放了 R 上的封鎖之后系統(tǒng)又批準(zhǔn)了幾的請(qǐng)求 … … 幾有可能永遠(yuǎn)等待,這就是活鎖的情形。若事務(wù) T 對(duì)數(shù)據(jù)對(duì)象 A 加上 S 鎖,則事務(wù) T 可以讀 A但不能修改 A ,其他事務(wù)只能再對(duì) A 加 S 鎖,而不能加 X 鎖,直到 T 釋放 A 上的 S 鎖。答:封鎖就是事務(wù) T 在對(duì)某個(gè)數(shù)據(jù)對(duì)象例如表、記錄等操作之前,先向系統(tǒng)發(fā)出請(qǐng)求,對(duì)其加鎖。 2 .并發(fā)操作可能會(huì)產(chǎn)生哪幾類數(shù)據(jù)不一致?用什么方法能避免各種不一致的情況?答:并發(fā)操作帶來的數(shù)據(jù)不一致性包括三類:丟失修改、不可重復(fù)讀和讀“臟’夕數(shù)據(jù)。數(shù)據(jù)庫鏡像的用途有:一是用于數(shù)據(jù)庫恢復(fù)。12 .試述使用檢查點(diǎn)方法進(jìn)行恢復(fù)的步驟。11 .具有檢查點(diǎn)的恢復(fù)技術(shù)有什么優(yōu)點(diǎn)?試舉一個(gè)具體的例子加以說明。( 3 )對(duì)重做隊(duì)列中的各個(gè)事務(wù)進(jìn)行REDO 處理。9 .針對(duì)不同的故障,試給出恢復(fù)的策略和方法。但如果數(shù)據(jù)庫很大,事務(wù)處理又十分頻繁,則增量轉(zhuǎn)儲(chǔ)方式更實(shí)用更有效。但是,轉(zhuǎn)儲(chǔ)結(jié)束時(shí)后援副本上的數(shù)據(jù)并不能保證正確有效。所謂轉(zhuǎn)儲(chǔ)即DBA 定期地將數(shù)據(jù)庫復(fù)制到磁帶或另一個(gè)磁盤上保存起來的過程。3 .?dāng)?shù)據(jù)庫中為什么要有恢復(fù)子系統(tǒng)?它的功能是什么?答:因?yàn)橛?jì)算機(jī)系統(tǒng)中硬件的故障、軟件的錯(cuò)誤、操作員的失誤以及惡意的破壞是不可避免的,這些故障輕則造成運(yùn)行事務(wù)非正常中斷,影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,重則破壞數(shù)據(jù)庫,使數(shù)據(jù)庫中全部或部分?jǐn)?shù)據(jù)丟失,因此必須要有恢復(fù)子系統(tǒng)。持續(xù)性:持續(xù)性也稱永久性(Perfnanence ) ,指一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。第10章 數(shù)據(jù)庫恢復(fù)技術(shù)1.試述事務(wù)的概念及事務(wù)的4 個(gè)特性。答:3 .試述查詢優(yōu)化的一般準(zhǔn)則。 ( 2 )如果數(shù)據(jù)庫的物理統(tǒng)計(jì)信息改變了,系統(tǒng)可以自動(dòng)對(duì)查詢進(jìn)行重新優(yōu)化以選擇相適應(yīng)的執(zhí)行計(jì)劃。要求:給出 E 一 R 圖,再將其轉(zhuǎn)換為關(guān)系模型。 DBMS 一般都提供用于數(shù)據(jù)重組織的實(shí)用程序。因此這樣的數(shù)據(jù)轉(zhuǎn)換、組織入庫的工作是相當(dāng)費(fèi)力費(fèi)時(shí)的工作。14 .規(guī)范化理論對(duì)數(shù)據(jù)庫設(shè)計(jì)有什么指導(dǎo)意義?答:規(guī)范化理論為數(shù)據(jù)庫設(shè)計(jì)人員判斷關(guān)系模式的優(yōu)劣提供了理論標(biāo)準(zhǔn),可用以指導(dǎo)關(guān)系數(shù)據(jù)模型的優(yōu)化,用來預(yù)測模式可能出現(xiàn)的問題,為設(shè)計(jì)人員提供了自動(dòng)產(chǎn)生各種模式的算法工具,使數(shù)據(jù)庫設(shè)計(jì)工作有了嚴(yán)格的理論基礎(chǔ)。由于數(shù)據(jù)庫系統(tǒng)是從整體角度看待和描述數(shù)據(jù)的,因此數(shù)據(jù)不再面向某個(gè)應(yīng)用而是整個(gè)系統(tǒng)。在 E 一 R 模型中,實(shí)體型就是這種抽象。答:概念結(jié)構(gòu)是信息世界的結(jié)構(gòu),即概念模型,其主要特點(diǎn)是: ( l )能真實(shí)、充分地反映現(xiàn)實(shí)世界,包括事物和事物之間的聯(lián)系,能滿足用戶對(duì)數(shù)據(jù)的處理要求,是對(duì)現(xiàn)實(shí)世界的一個(gè)真實(shí)模型; ( 2 )易于理解,從而可以用它和不熟悉計(jì)算機(jī)的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫設(shè)計(jì)成功的關(guān)鍵; ( 3 )易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時(shí),容易對(duì)概念模型修改和擴(kuò)充; ( 4 )易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。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)的功能。 ( 5 )數(shù)據(jù)庫實(shí)施:設(shè)計(jì)人員運(yùn)用 DBMS 提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。這是一個(gè)完整的實(shí)際數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的設(shè)計(jì)過程。包含碼。Y,且Y不是X的子集時(shí),每個(gè)決定因素都包含碼,對(duì)于二目關(guān)系決定因素必然包含碼。(3)關(guān)系模式RDP ( R , D , P )中,R 表示醫(yī)院的病房,D 表示責(zé)任醫(yī)務(wù)人員,P 表示病人。假設(shè)每個(gè)專業(yè)有多個(gè)學(xué)生,有一組必修課。Myear,Mname224。Class,Pname224。Sno,Class224。Sno ,Dept224。 請(qǐng)給出關(guān)系模式,寫出每個(gè)關(guān)系模式的極小函數(shù)依賴集,指出是否存在傳遞函數(shù)依賴,對(duì)于函數(shù)依賴左部是多屬性的情況討論函數(shù)依賴是完全函數(shù)依賴,還是部分函數(shù)依賴。學(xué)生:學(xué)號(hào)、姓名、出生年月、系名、班號(hào)、宿舍區(qū)。 Z成立,則稱RU,F(xiàn)∈3NF。Y,并且對(duì)于X的任何一個(gè)真子集X’,都有X’ 224。若X224。Y,但Y不是X的子集,則稱X224。而對(duì)于違反參照完整性的操作,并不都是簡單地拒絕執(zhí)行,有時(shí)要根據(jù)應(yīng)用語義執(zhí)行一些附加的操作,以保證數(shù)據(jù)庫的正確性。如果需要修改主碼值,只能先刪除該元組,然后再把具有新主碼值的元組插入到關(guān)系中。4 . DBMS 的完整性控制機(jī)制應(yīng)具有哪些功能?答:DBMS 的完整性控制機(jī)制應(yīng)具有三個(gè)方面的功能: ( l )定義功能,即提供定義完整性約束條件的機(jī)制; ( 2 )檢查功能,即檢查用戶發(fā)出的操作請(qǐng)求是否違背了完整性約束條件;( 3 )違約反應(yīng):如果發(fā)現(xiàn)用戶的操作請(qǐng)求使數(shù)據(jù)違背了完整性約束條件,則采取一定的動(dòng)作來保證數(shù)據(jù)的完整性。一般可以分為六類:靜態(tài)列級(jí)約束、靜態(tài)元組約束、靜態(tài)關(guān)系約束、動(dòng)態(tài)列級(jí)約束、動(dòng)態(tài)元組約束、動(dòng)態(tài)關(guān)系約束。14 .統(tǒng)計(jì)數(shù)據(jù)庫中存在何種特殊的安全性問題?答: 統(tǒng)計(jì)數(shù)據(jù)庫允許用戶查詢聚集類型的信息,如合計(jì)、平均值、最大值、最小值等,不允許查詢單個(gè)記錄信息。 ( f )用戶周平具有對(duì)兩個(gè)表所有權(quán)力(讀,插,改,刪數(shù)據(jù)),并具有給其他用戶授權(quán)的權(quán)力。系統(tǒng)規(guī)定只有具有某一許可證級(jí)別的用戶才能存取某一個(gè)密級(jí)的數(shù)據(jù)對(duì)象。答:實(shí)現(xiàn)數(shù)據(jù)庫安全性控制的常用方法和技術(shù)有:( l )用戶標(biāo)識(shí)和鑒別 ( 2 )存取控制。CREATE VIEW VSP AS SELECT SNO,PNO,QTY FROM SPJ,J WHERE = AND =39。視圖是從一個(gè)或幾個(gè)基本表導(dǎo)出的表。S539。UPDATE P SET COLOR=39。 AND =(7)找出沒有使用天津產(chǎn)的零件的工程號(hào)碼。SELECT PNAME,QTY FROM SPJ,P WHERE = AND =39。SELECT JNO FROM SPJ X WHERE NOT EXISITS(SELECT * FROM SPJ Y WHERE SNO=39。紅39。 SELECT SNO FROM SPJ,P WHERE JNO=39。第3章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL 4 個(gè)表試用 SQL 語言完成第二章習(xí)題 5 中的查詢。在參照完整性中,為什么外部碼屬性的值也可以為空?什么情況下才可以為空?答:實(shí)體完整性規(guī)則是指若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。數(shù)據(jù)庫系統(tǒng)在這三級(jí)模式之間提供了兩層映像:外模式/模式映像和模式/內(nèi)模式映像,這兩層映像保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。 聯(lián)系組成、制造、 儲(chǔ)存、存放都有屬性:數(shù)量。請(qǐng)用 E 一 R 圖畫出此學(xué)校的概念模型。6 .?dāng)?shù)據(jù)庫管理系統(tǒng)的主要功能有哪些?答:( l )數(shù)據(jù)庫定義功能; ( 2 )數(shù)據(jù)存取功能; ( 3 )數(shù)據(jù)庫運(yùn)行管理; ( 4 )數(shù)據(jù)庫的建立和維護(hù)功能。 13 .某工廠生產(chǎn)若干產(chǎn)品,每種產(chǎn)品由不同的零件組成,有的零件可用在不同的產(chǎn)品上。模式,亦稱邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有