MySQL_併發控制複習習題

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
1、若事務T對數據R已加X鎖,則其它事務對R不能加任何鎖
2、若事務T對數據R已加S鎖,則其它事務對R可以加S鎖不能加X鎖
3、若事務T對數據M已加S鎖,在不改變S鎖的情況下,則其它事務對數據M可以讀,但不可以寫
4、可串行化調度一定是正確的並行調度,但正確的並行調度,卻未必都是可串行化的調度(可串行化—>正確的並行調度)
5、封鎖的方法可能引起【活鎖】和【死鎖】等問題
兩段封鎖協議是可以保證衝突可串行性
兩階段封鎖法是可串行化的並行調度算法
兩階段封鎖法一定能夠保證數據更新的一致性
併發調度的正確性 ⊇ 可串行性 ⊇ 衝突可串行性
【衝突可串行化調度】是【可串行化調度】的充分條件
事務遵循【兩段鎖協議】是【可串行化調度】的充分條件
×只要對數據項加鎖,就能保證數據更新的一致性
× 兩階段封鎖法不會產生死鎖現象
6、若要使事務的執行是可恢復的,則對有寫有求的數據對象加排他鎖後,須在該事務提交時刻解鎖才能保證可恢復性。
7、解決併發操作帶來的數據不一致問題普遍採用【封鎖】技術
8、【死鎖】不屬於併發操作帶來的問題
9、DBMS普遍採用【封鎖】方法來保證調度的正確性
10、在數據庫系統中,死鎖屬於【事務故障】
11、併發操作可能會導致:丟失修改、不可重複讀、讀髒數據
12、若事務T對數據對象A加上X鎖,則【只允許T讀取和修改A,其他任何事務都不能在對A加任何類型的鎖】
13、若事務T對數據對象A加上S鎖,則【事務T可以讀A但不能修改A,其他事務只能再對A加S鎖,而不能加X鎖】
1級可以防止丟失修改
2級防止丟失修改髒讀
3級防止丟失修改髒讀不允許重複讀
14、數據庫系統必須提供的數據控制功能【安全性、完整性、併發控制】
15、多用戶數據庫系統的目標之一是使它的每個用戶好像正在使用一個單用戶數據庫,爲此數據庫系統必須進行【併發控制】
16、幻影現象屬於哪類數據不一致性【不可重複讀】

17、【事務】是併發控制的基本單位
18、數據不一致性:由於【併發操作破壞了事務的隔離性】
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
併發調度的正確性: 當且僅當在這個併發調度下所得到的新數據庫結果與分別串行地運行這些事務所得到的新數據庫完全一致,則說調度是正確的

判斷一個調度是否是正確的 ,有三種方法,一是串行調度,二是可串行化調度,三是衝突可串行化調度

可串行性: 不管數據庫初始狀態如何,一個調度對數據庫狀態的影響都和某個串行調度``相同,則我們說這個調度是可串行化的 / 具有可串行性
在這裏插入圖片描述
衝突可串行化的調度: 一個調度,如果通過交換相鄰兩個無衝突的操作能夠轉換到某一個串行的調度,則稱此調度爲衝突可串行化的調度
(不同事務寫的不同的元素,是可以交換的)
在這裏插入圖片描述
在這裏插入圖片描述
兩段鎖協議:是先把需要的鎖一個一個申請,之後再把鎖一個一個地釋放

在這裏插入圖片描述
在這裏插入圖片描述
選項B中的事務T2不符合兩段鎖協議
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章