資料庫當中有「鎖」這個概念,什麼叫做鎖,用咱們生活當中的事物來進行描述的話,鎖就是用來鎖門,來進行保護自己的東西的乙個物品。
在資料庫當中,其實也是如此,鎖的概念就是事務訪問的乙個屏障,當乙個事務對當前系統提出加鎖的時候(加鎖的物件可以是行,表,資料庫),其他事務必須等此事務解鎖之後才能進行訪問。用生活的例子來進行解釋就是:住在農村的家裡面都有乙個院子,院子的大門是柵欄樣式的那種,我出門前把門鎖了,其他人就不能進去,除非我把門開啟了。當然,我也可以只鎖每個屋子的門。
鎖的意義:
1、當有多個事務同時訪問資料的時候,可能其中乙個事務的修改結果破壞了另乙個修改的結果,導致其中乙個資料丟失。例如:a進了自己的家,b進了a的家,但是b開走了a的車,a就丟失了自己的東西。所以a就要加鎖,不能讓b進來。
2、a使用者讀取資料,隨後b使用者讀出該資料並修改,此時a使用者再讀取資料時發現前後兩次的值不一致 ,無法讀取之前的結果。例如:a把車放在了房子的前面,但是b來之後,用完a的車之後把車停在了房子的後面,a就無法找到自己的車子,所以a需要加鎖。
3、b使用者修改了資料,隨後a使用者又讀出該資料,但b使用者因為某些原因取消了對資料的修改,資料恢復原值,此時a得到的資料就與資料庫內的資料產生了不一致 。例如:b向a借車,但是b突然說我不用了,你自己開車去上班吧,我坐地鐵。然而b還是把a的車開走了,a就被打亂了之前的計畫。所以在家裡加一把鎖還是很有必要的。不能讓其他人隨便進入,這應該是有順序的。
綜上,所以資料庫中的「鎖」的意義就是避免這樣的事情發生。
鎖的分類:
資料庫中的鎖
11.5.1 鎖的概念 鎖 lock 是在多使用者環境下對資源訪問的一種限制。機制當對乙個 11.5.1 鎖的概念 鎖 lock 是在多使用者環境下對資源訪問的一種限制。機制當對乙個資料來源加鎖後,此資料來源就有了一定的訪問限制。我們就稱對此資料來源進行了 鎖定 在sql server中,可以對以下...
資料庫中的鎖
資料庫 sql server delete 儲存database manager 11.5.1 鎖的概念 鎖 lock 是在多使用者環境下對資源訪問的一種限制。機制當對乙個 11.5.1 鎖的概念 鎖 lock 是在多使用者環境下對資源訪問的一種限制。機制當對乙個資料來源加鎖後,此資料來源就有了一定...
資料庫中的「鎖」
資料庫當中有 鎖 這個概念,什麼叫做鎖,用咱們生活當中的事物來進行描述的話,鎖就是用來鎖門,來進行保護自己的東西的乙個物品。在資料庫當中,其實也是如此,鎖的概念就是事務訪問的乙個屏障,當乙個事務對當前系統提出加鎖的時候 加鎖的物件可以是行,表,資料庫 其他事務必須等此事務解鎖之後才能進行訪問。用生活...