Марджори
Каждый элемент данных имеет переменную, которая описывает состояние элемента, с точки зрения того, какие операции могут быть применены к нему, эта переменная, известная как блокировка. Обычно каждый элемент данных в базе данных имеет одну блокировку.
Типы блокировки: существует два типа блокировки: двоичная блокировка и общая / эксклюзивная блокировка.
Двоичная блокировка: двоичная блокировка имеет 2 состояния: заблокировано и разблокировано. 1 используется для представления заблокированного состояния, а 0 используется для представления разблокированного состояния. Каждый элемент данных в базе данных имеет отдельную блокировку. Если значение блокировки для элемента a равно 1, это означает, что элемент a не может быть доступен для операции с базой данных. Если значение блокировки для элемента a равно 0, то этот элемент может быть доступен любой операции базы данных, к которой требуется доступ.
Ниже приведены правила, которым должна подчиняться транзакция. Эти правила применяются диспетчером блокировок.
(1) Если транзакция t хочет выполнить операции чтения-элемента (a) или записи-элемента (a), то эта транзакция t должна сначала выполнить операцию lock-item (a).
(2) После завершения всех операций чтения-элемента (а) и записи-элемента (а) транзакция t должна выполнить операцию разблокировать-элемент (а).
(3) Транзакция t вызовет операцию unlock-item (a) тогда и только тогда, когда она уже удерживает блокировку элемента a.
(4) Если транзакция t уже удерживает блокировку элемента a, тогда эта транзакция t не будет выполнять операцию lock-item (a).