freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

數(shù)據庫系統(tǒng)概論第四版_王珊_薩師煊主編_課后習題答案-s-資料下載頁

2025-06-22 15:04本頁面
  

【正文】 ,書名,作者,出版社)借書(讀者號,書號,借出日期,年齡,單位)應還日期)第9章 關系查詢處理和查詢優(yōu)化3 .試述查詢優(yōu)化的一般準則。答:下面的優(yōu)化策略一般能提高查詢效率: ( l )選擇運算應盡可能先做; ( 2 )把投影運算和選擇運算同時進行; ( 3 )把投影同其前或其后的雙目運算結合起來執(zhí)行; ( 4 )把某些選擇同在它前面要執(zhí)行的笛卡兒積結合起來成為一個連接運算; ( 5 )找出公共子表達式; ( 6 )選取合適的連接算法。4 .試述查詢優(yōu)化的一般步驟。答:各個關系系統(tǒng)的優(yōu)化方法不盡相同,大致的步驟可以歸納如下: ( l )把查詢轉換成某種內部表示,通常用的內部表示是語法樹。 ( 2 )把語法樹轉換成標準(優(yōu)化)形式。即利用優(yōu)化算法,把原始的語法樹轉換成優(yōu)化的形式。 ( 3 )選擇低層的存取路徑。 ( 4 )生成查詢計劃,選擇代價最小的。第10章 數(shù)據庫恢復技術1.試述事務的概念及事務的4 個特性。答:事務是用戶定義的一個數(shù)據庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作單位。事務具有4 個特性:原子性(Atomicity )、一致性(consistency )、隔離性( Isolation )和持續(xù)性(Durability )。這4 個特性也簡稱為ACID 特性。原子性:事務是數(shù)據庫的邏輯工作單位,事務中包括的諸操作要么都做,要么都不做。一致性:事務執(zhí)行的結果必須是使數(shù)據庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。隔離性:一個事務的執(zhí)行不能被其他事務干擾。即一個事務內部的操作及使用的數(shù)據對其他并發(fā)事務是隔離的,并發(fā)執(zhí)行的各個事務之間不能互相干擾。持續(xù)性:持續(xù)性也稱永久性(Perfnanence ) ,指一個事務一旦提交,它對數(shù)據庫中數(shù)據的改變就應該是永久性的。接下來的其他操作或故障不應該對其執(zhí)行結果有任何影響。2 .為什么事務非正常結束時會影響數(shù)據庫數(shù)據的正確性,請列舉一例說明之。答:事務執(zhí)行的結果必須是使數(shù)據庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。如果數(shù)據庫系統(tǒng)運行中發(fā)生故障,有些事務尚未完成就被迫中斷,這些未完成事務對數(shù)據庫所做的修改有一部分已寫入物理數(shù)據庫,這時數(shù)據庫就處于一種不正確的狀態(tài),或者說是不一致的狀態(tài)。例如某工廠的庫存管理系統(tǒng)中,要把數(shù)量為Q 的某種零件從倉庫1 移到倉庫2 存放。則可以定義一個事務T , T 包括兩個操作;Ql = Ql 一Q , Q2= Q2 + Q。 如果T 非正常終止時只做了第一個操作,則數(shù)據庫就處于不一致性狀態(tài),庫存量無緣無故少了Q 。3 .數(shù)據庫中為什么要有恢復子系統(tǒng)?它的功能是什么?答:因為計算機系統(tǒng)中硬件的故障、軟件的錯誤、操作員的失誤以及惡意的破壞是不可避免的,這些故障輕則造成運行事務非正常中斷,影響數(shù)據庫中數(shù)據的正確性,重則破壞數(shù)據庫,使數(shù)據庫中全部或部分數(shù)據丟失,因此必須要有恢復子系統(tǒng)?;謴妥酉到y(tǒng)的功能是:把數(shù)據庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)(亦稱為一致狀態(tài)或完整狀態(tài))。4 .數(shù)據庫運行中可能產生的故障有哪幾類?哪些故障影響事務的正常執(zhí)行?哪些故障破壞數(shù)據庫數(shù)據?答:數(shù)據庫系統(tǒng)中可能發(fā)生各種各樣的故障,大致可以分以下幾類:(1)事務內部的故障;(2)系統(tǒng)故障;(3)介質故障;(4)計算機病毒。事務故障、系統(tǒng)故障和介質故障影響事務的正常執(zhí)行;介質故障和計算機病毒破壞數(shù)據庫數(shù)據。5 .數(shù)據庫恢復的基本技術有哪些?答:數(shù)據轉儲和登錄日志文件是數(shù)據庫恢復的基本技術。當系統(tǒng)運行過程中發(fā)生故障,利用轉儲的數(shù)據庫后備副本和日志文件就可以將數(shù)據庫恢復到故障前的某個一致性狀態(tài)。6 .數(shù)據庫轉儲的意義是什么?試比較各種數(shù)據轉儲方法。答:數(shù)據轉儲是數(shù)據庫恢復中采用的基本技術。所謂轉儲即DBA 定期地將數(shù)據庫復制到磁帶或另一個磁盤上保存起來的過程。當數(shù)據庫遭到破壞后可以將后備副本重新裝入,將數(shù)據庫恢復到轉儲時的狀態(tài)。靜態(tài)轉儲:在系統(tǒng)中無運行事務時進行的轉儲操作,如上圖所示。靜態(tài)轉儲簡單,但必須等待正運行的用戶事務結束才能進行。同樣,新的事務必須等待轉儲結束才能執(zhí)行。顯然,這會降低數(shù)據庫的可用性。動態(tài)轉儲:指轉儲期間允許對數(shù)據庫進行存取或修改。動態(tài)轉儲可克服靜態(tài)轉儲的缺點,它不用等待正在運行的用戶事務結束,也不會影響新事務的運行。但是,轉儲結束時后援副本上的數(shù)據并不能保證正確有效。因為轉儲期間運行的事務可能修改了某些數(shù)據,使得后援副本上的數(shù)據不是數(shù)據庫的一致版本。為此,必須把轉儲期間各事務對數(shù)據庫的修改活動登記下來,建立日志文件( 109 file )。這樣,后援副本加上日志文件就能得到數(shù)據庫某一時刻的正確狀態(tài)。轉儲還可以分為海量轉儲和增量轉儲兩種方式。海量轉儲是指每次轉儲全部數(shù)據庫。增量轉儲則指每次只轉儲上一次轉儲后更新過的數(shù)據。從恢復角度看,使用海量轉儲得到的后備副本進行恢復一般說來更簡單些。但如果數(shù)據庫很大,事務處理又十分頻繁,則增量轉儲方式更實用更有效。7 .什么是日志文件?為什么要設立日志文件?答:(1)日志文件是用來記錄事務對數(shù)據庫的更新操作的文件。(2)設立日志文件的目的是:進行事務故障恢復;進行系統(tǒng)故障恢復;協(xié)助后備副本進行介質故障恢復。8 .登記日志文件時為什么必須先寫日志文件,后寫數(shù)據庫?答:把對數(shù)據的修改寫到數(shù)據庫中和把表示這個修改的日志記錄寫到日志文件中是兩個不同的操作。有可能在這兩個操作之間發(fā)生故障,即這兩個寫操作只完成了一個。如果先寫了數(shù)據庫修改,而在運行記錄中沒有登記這個修改,則以后就無法恢復這個修改了。如果先寫日志,但沒有修改數(shù)據庫,在恢復時只不過是多執(zhí)行一次UNDO 操作,并不會影響數(shù)據庫的正確性。所以一定要先寫日志文件,即首先把日志記錄寫到日志文件中,然后寫數(shù)據庫的修改。9 .針對不同的故障,試給出恢復的策略和方法。(即如何進行事務故障的恢復?系統(tǒng)故障的恢復?介質故障恢復?) 答:事務故障的恢復:事務故障的恢復是由DBMS DBMs 執(zhí)行恢復步驟是:自動完成的,對用戶是透明的。(1)反向掃描文件日志(即從最后向前掃描日志文件),查找該事務的更新操作;(2)對該事務的更新操作執(zhí)行逆操作,即將日志記錄中“更新前的值”寫入數(shù)據庫;(3)繼續(xù)反向掃描日志文件,做同樣處理;(4)如此處理下去,直至讀到此事務的開始標記,該事務故障的恢復就完成了。系統(tǒng)故障的恢復:系統(tǒng)故障可能會造成數(shù)據庫處于不一致狀態(tài):一是未完成事務對數(shù)據庫的更新可能已寫入數(shù)據庫;二是已提交事務對數(shù)據庫的更新可能還留在緩沖區(qū),沒來得及寫入數(shù)據庫。因此恢復操作就是要撤銷(UNDO )故障發(fā)生時未完成的事務,重做(REDO )已完成的事務。系統(tǒng)的恢復步驟是:(1)正向掃描日志文件,找出在故障發(fā)生前已經提交的事務隊列(REDO 隊列)和未完成的事務隊列(uNDO 隊列)。(2)對撤銷隊列中的各個事務進行UNDO 處理。進行UNDO 處理的方法是,反向掃描日志文件,對每個UNDO 事務的更新操作執(zhí)行逆操作,即將日志記錄中“更新前的值”Before Image )寫入數(shù)據庫。( 3 )對重做隊列中的各個事務進行REDO 處理。進行REDO 處理的方法是:正向掃描日志文件,對每個REDO 事務重新執(zhí)行日志文件登記的操作。即將日志記錄中“更新后的值”Afte , Image )寫入數(shù)據庫。介質故障的恢復:介質故障是最嚴重的一種故障?;謴头椒ㄊ侵匮b數(shù)據庫,然后重做已完成的事務。具體過程是:( 1 ) DBA 裝入最新的數(shù)據庫后備副本(離故障發(fā)生時刻最近的轉儲副本), 使數(shù)據庫恢復到轉儲時的一致性狀態(tài);( 2 ) DBA 裝入轉儲結束時刻的日志文件副本;( 3 ) DBA 啟動系統(tǒng)恢復命令,由DBMS 完成恢復功能,即重做已完成的事務。10 .什么是檢查點記錄?檢查點記錄包括哪些內容?答:檢查點記錄是一類新的日志記錄。它的內容包括:① 建立檢查點時刻所有正在執(zhí)行的事務清單② 這些事務的最近一個日志記錄的地址。11 .具有檢查點的恢復技術有什么優(yōu)點?試舉一個具體的例子加以說明。答答:利用日志技術進行數(shù)據庫恢復時,恢復子系統(tǒng)必須搜索日志,確定哪些事務需要REDO ,哪些事務需要uNDO 。一般來說,需要檢查所有日志記錄。這樣做有兩個問題:一是搜索整個日志將耗費大量的時間;二是很多需要REDO 處理的事務實際上已經將它們的更新操作結果寫到數(shù)據庫中了,恢復子系統(tǒng)又重新執(zhí)行了這些操作,浪費了大量時間。檢查點技術就是為了解決這些問題。在采用檢查點技術之前,恢復時需要從頭掃描日志文件,而利用檢查點技術只需要從T 。開始掃描日志,這就縮短了掃描日志的時間。事務Tl 的更新操作實際上已經寫到數(shù)據庫中了,進行恢復時沒有必要再REDO 處理,采用檢查點技術做到了這一點。12 .試述使用檢查點方法進行恢復的步驟。答:(1)從重新開始文件(見第11 題的圖)中找到最后一個檢查點記錄在日志文件中的地址,由該地址在日志文件中找到最后一個檢查點記錄。(2)由該檢查點記錄得到檢查點建立時刻所有正在執(zhí)行的事務清單ACTIVE 一LIST 。這里建立兩個事務隊列:1 ) UNDO 一LIST :需要執(zhí)行undo 操作的事務集合;2 ) REDO 一LIST :需要執(zhí)行redo 操作的事務集合。把ACTIVE 一LIST 暫時放入UNDO 一LIST 隊列,REDO 隊列暫為空。3 )從檢查點開始正向掃描日志文件:① 如有新開始的事務T * ,把T *暫時放入uNDO 一LlsT 隊列;② 如有提交的事務毛,把毛從UNDO 一LIST 隊列移到REDO 一LIST 隊列,直到日志文件結束;4 )對UNDO 一LIST 中的每個事務執(zhí)行UNDO 操作,對REDO 一LIST 中的每個事務執(zhí)行REDO 操作。13 .什么是數(shù)據庫鏡像?它有什么用途?答:數(shù)據庫鏡像即根據DBA 的要求,自動把整個數(shù)據庫或者其中的部分關鍵數(shù)據復制到另一個磁盤上。每當主數(shù)據庫更新時,DBMS 自動把更新后的數(shù)據復制過去,即DBMS 自動保證鏡像數(shù)據與主數(shù)據的一致性。數(shù)據庫鏡像的用途有:一是用于數(shù)據庫恢復。當出現(xiàn)介質故障時,可由鏡像磁盤繼續(xù)提供使用,同時DBMS 自動利用鏡像磁盤數(shù)據進行數(shù)據庫的恢復,不需要關閉系統(tǒng)和重裝數(shù)據庫副本。二是提高數(shù)據庫的可用性。在沒有出現(xiàn)故障時,當一個用戶對某個數(shù)據加排它鎖進行修改時,其他用戶可以讀鏡像數(shù)據庫上的數(shù)據,而不必等待該用戶釋放鎖。第11章 并發(fā)控制1. 在數(shù)據庫中為什么要并發(fā)控制?答:數(shù)據庫是共享資源,通常有許多個事務同時在運行。當多個事務并發(fā)地存取數(shù)據庫時就會產生同時讀取和/或修改同一數(shù)據的情況。若對并發(fā)操作不加控制就可能會存取和存儲不正確的數(shù)據,破壞數(shù)據庫的一致性。所以數(shù)據庫管理系統(tǒng)必須提供并發(fā)控制機制。 2 .并發(fā)操作可能會產生哪幾類數(shù)據不一致?用什么方法能避免各種不一致的情況?答:并發(fā)操作帶來的數(shù)據不一致性包括三類:丟失修改、不可重復讀和讀“臟’夕數(shù)據。 ( l )丟失修改(lost update ) 兩個事務 Tl 和T2讀入同一數(shù)據并修改,T2提交的結果破壞了(覆蓋了) Tl 提交的結果,導致 Tl 的修改被丟失。 ( 2 )不可重復讀( Non 一 Repeatable Read ) 不可重復讀是指事務 Tl 讀取數(shù)據后,事務幾執(zhí)行更新操作,使 Tl 無法再現(xiàn)前一次讀取結果。( 3 )讀“臟”數(shù)據( Dirty Read ) 讀“臟’夕數(shù)據是指事務 Tl 修改某一數(shù)據,并將其寫回磁盤,事務幾讀取同一數(shù)據后, Tl 由于某種原因被撤銷,這時 Tl 已修改過的數(shù)據恢復原值,幾讀到的數(shù)據就與數(shù)據庫中的數(shù)據不一致,則幾讀到的數(shù)據就為“臟”數(shù)據,即不正確的數(shù)據。避免不一致性的方法和技術就是并發(fā)控制。最常用的技術是封鎖技術。也可以用其他技術,例如在分布式數(shù)據庫系統(tǒng)中可以采用時間戳方法來進行并發(fā)控制。 3 .什么是封鎖?基本的封鎖類型有幾種?試述它們的含義。答:封鎖就是事務 T 在對某個數(shù)據對象例如表、記錄等操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖后事務 T 就對該數(shù)據對象有了一定的控制,在事務 T 釋放它的鎖之前,其他的事務不能更新此數(shù)據對象。封鎖是實現(xiàn)并發(fā)控制的一個非常重要的技術?;镜姆怄i類型有兩種:排它鎖( Exclusive Locks ,簡稱 x 鎖)和共享鎖 ( Share Locks,簡稱 S 鎖)。排它鎖又稱為寫鎖。若事務 T 對數(shù)據對象 A 加上 X 鎖,則只允許 T 讀取和修改 A ,其他任何事務都不能再對 A 加任何類型的鎖,直到 T 釋放 A 上的鎖。這就保證了其他事務在 T 釋放 A 上的鎖之前不能再讀取和修改 A 。共享鎖又稱為讀鎖。若事務 T 對數(shù)據對象 A 加上 S 鎖,則事務 T 可以讀 A但不能修改 A ,其他事務只能再對 A 加 S 鎖,而不能加 X 鎖,直到 T 釋放 A 上的 S 鎖。這就保證了其他事務可以讀 A ,但在 T 釋放 A 上的 S 鎖之前不能對 A 做任何修改。4 .如何用封鎖機制保證數(shù)據的一致性?答: DBMS 在對數(shù)據進行讀、寫操作之前首先對該數(shù)據執(zhí)行封鎖操作,例如下圖中事務 Tl 在對 A 進行修改之前先對 A 執(zhí)行 xock ( A ) ,即對 A 加 x 鎖。這樣,當幾請求對 A 加 x 鎖時就被拒絕,幾只能等待 Tl 釋放 A 上的鎖后才能獲得對 A 的 x 鎖,這時它讀到的 A 是 Tl 更新后的值,再按此新的 A 值進行運算。這樣就不會丟失 Tl 的更新。DBMS 按照一定的封鎖協(xié)議,對并發(fā)操作進行控制,使得多個并發(fā)操作有序地執(zhí)行,就可以避免丟失修改、不可重復讀和讀“臟’夕數(shù)據等數(shù)據不一致性。5 .什么是活鎖?什么是死鎖?答:如果事務 Tl 封鎖了數(shù)據 R ,事務幾又請求封鎖 R ,于是幾等待。幾也請求封鎖 R ,當 Tl 釋放了 R 上的封鎖之后系統(tǒng)
點擊復制文檔內容
職業(yè)教育相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1