Продвинутый
Что такое аномалия Write Skew (Сдвиг записи)?
Write Skew — это сложная аномалия, которая возникает, когда две транзакции читают пересекающиеся данные, а затем обновляют разные строки, нарушая общее бизнес-правило.
Пример: Правило "На смене должен быть минимум 1 дежурный врач".
Сейчас дежурят Алиса и Боб.
1. Алиса хочет уйти. Транзакция А проверяет: COUNT(врачей) == 2. Разрешает уйти.
2. Боб хочет уйти. Транзакция Б проверяет: COUNT(врачей) == 2. Разрешает уйти.
3. Обе транзакции делают COMMIT.
Итог: На смене 0 врачей. Правило нарушено.
✅ Как лечить: Уровень изоляции Serializable или явная блокировка таблицы (SELECT FOR UPDATE).