Ответ
Согласованность (consistency) — одно из ключевых свойств транзакций в БД (ACID), гарантирующее, что любая транзакция переводит базу данных из одного валидного состояния в другое валидное состояние. Это означает, что все правила целостности данных (ограничения, триггеры, каскадные операции) соблюдаются после завершения транзакции.
Пример на SQL (с использованием транзакции):
START TRANSACTION;
-- Списание суммы со счета отправителя
UPDATE accounts SET balance = balance - 100.00 WHERE user_id = 1;
-- Проверка бизнес-правила (нельзя уйти в минус)
-- Если баланс стал отрицательным, здесь можно вызвать ROLLBACK
-- Зачисление суммы на счет получателя
UPDATE accounts SET balance = balance + 100.00 WHERE user_id = 2;
-- Если все операции прошли успешно и правила соблюдены, фиксируем изменения.
COMMIT;
В контексте ACID:
- Атомарность (Atomicity): Транзакция выполняется целиком или не выполняется вообще.
- Согласованность (Consistency): Транзакция не нарушает целостность данных.
- Изолированность (Isolation): Параллельные транзакции не мешают друг другу.
- Долговечность (Durability): Результаты зафиксированной транзакции сохраняются навсегда.
Нарушение согласованности может привести к аномалиям, таким как "грязное чтение" (чтение незафиксированных данных) или нарушению внешних ключей. Использование транзакций и правильное определение уровней изоляции помогает поддерживать согласованность в многопользовательской среде.