Согласованность базы данных гласит, что в базу данных будут записываться только действительные данные. Если выполняется транзакция, которая нарушает правила согласованности базы данных, вся транзакция будет откатываться и база данных будет восстановлена в исходном состоянии. С другой стороны, если транзакция успешно выполняется, она переводит базу данных из одного состояния, которое соответствует правилам, в другое состояние, которое также соответствует правилам.
Согласованность базы данных не означает, что транзакция правильная, только то, что транзакция не нарушила правила, определенные программой. Согласованность базы данных важна, потому что она регулирует поступающие данные и отклоняет данные, которые не вписываются в правила.
Правила согласованности часто применяются через ограничения на уровне поля. Ограничение определяет правило, управляющее данной записью или значением уровня поля.
Пример правил согласованности на работе
Например, столбец в базе данных может иметь только значения для подбрасывания монеты в виде «голов» или «хвостов». Если пользователь попытается вставить «в сторону», правила согласованности для базы данных не позволят этого.
Возможно, у вас есть опыт работы с правилами непротиворечивости при оставлении поля на веб-странице пустым. Когда человек заполняет форму онлайн и забывает заполнить одно из обязательных полей, значение NULL отправляется в базу данных, в результате чего форма отклоняется до тех пор, пока в пустом пространстве что-то не окажется.
Согласованность — это второй этап модели ACID (атомарность, согласованность, изоляция, долговечность), которая представляет собой набор руководящих принципов для обеспечения точности транзакций базы данных.