4 29 20 資料庫第十章作業

2021-10-05 17:22:18 字數 1577 閱讀 7257

1.考慮上圖所示的日誌記錄:

(1)如果系統故障發生在14之後,說明哪些事務需要重做,哪些事務需要回滾。

t1和t3需要重做,t4需要回滾。
t2已經回滾,所以無需關心t2。

t4未完成應該回滾。

t1 t3均已提交,需要重做

(2)如果系統故障發生在10之後,說明哪些事務需要重做,哪些事務需要回滾。

t1需要重做,t3需要回滾。
此時 t2已經回滾,t4未開始,無需關注著兩個。

t1已經提交,所以需要重做。

t3不清楚是否結束,需要回滾

(3)如果統故障發生在9之後,說明哪些事務需要重做,哪些事務需要回滾。

t1需要重做,t2和t3需要回滾。
t2 t3均未知具體結束情況,需要回滾

t1已經完成,需要重做。

t4未開始無需關注

(4)如果系統故障發生在7之後,說明哪些事務需要重做,哪些事務需要回滾。

t1需要重做,t2需要回滾
t3 t4均未開始無需關注

t2未知具體結束情況,需要回滾。

t1已經完成,重做。

2.考慮題4所示的日誌記錄,假設開始時a、b、c的值都是0;(1)如果系統故障發生在14之後,寫出系統恢復後a、b、c的值:

8

711

(2)如果系統故障發生在12之後,寫出系統恢復後a、b、c的值;

10

011

(3)如果系統故障發生在10之後,寫出系統恢復後a、b、c的值;

10

011

(4)如果系統故障發生在9之後,寫出系統恢復後a、b、c的值:

10

011

(5)如果系統故障發生在7之後,寫出系統恢復後a、b、c的值:

10

011

(6)如果系統故障發生在5之後,寫出系統恢復後a、b、c的值.

0

00

恩…做這些題首先需要把這個圖看明白

就是檢查點和故障點與事物起始關係

這裡開始我有乙個誤區: 我只想到了回滾 卻沒有想到本質 就是回滾=撤銷=這件事沒有做過

然後第二題那裡 t2 在回滾的情況下,t2 所做的事情也就是b和c的值是不變的

五一的進度:

第十章資料庫筆記

事務的概念 事務 transaction 是使用者定義的乙個資料庫操作序列,這些操作要麼全做,要麼全不做,是乙個不可分割的工作單位。事務和程式是兩個概念 1.在關聯式資料庫中,乙個事務可以是一條sql語句,一組sql語句或整個程式 2.乙個程式通常包含多個事務 事務是恢復和併發控制的基本單位 事務的...

linux 第十章 資料庫

0.背景 實際開發環境中,前端程式需要在給定時間段內,將資料更新 插入到mysql指定的庫表中。隨著資料量的增多,基礎庫表基數的增長,每更新一次都會有5s左右的卡頓。改進方案一 批量更新,累計數10條或者100條進行一次更新入庫操作 改進方案二 將當前日期前1個月之前的資料進行備份操作,並刪除當前庫...

第十章 資料庫恢復技術

一 事務 1,定義 事務是使用者定義的乙個資料庫操作系列,這些操作要麼全做,要麼全不做,是乙個不可分割的工作單位 2,事務和程式是兩個概念,乙個程式可以包含多個事務 3,事務是恢復和併發控制的基本單位 4,事務的特性 1 原子性 2 一致性 3 隔離性 4 持續性 注 事務特性的作用 保證事務aci...