Comments 4
Требование консистентности (Consistency) является вторым к транзакционным системам и логически вытекает из требования атомарности, т.е. каждая выполненная транзакция фиксирует только допустимые результаты
На самом деле вы тут повторяете принцип атомарности, только другими словами. Потому вам и кажется, что вытекает. СУБД вкладывает в понятие допустимости совсем не то, что можете вкладывать вы, как владелец продукта или разработчик.
Да, значению банковского счета нельзя присвоить отрицательное число, если так указано в схеме. А вот сделать что-то вроде update account set money_amount = 0 where 1=1
джвижок СУБД вам не запретит, несмотря ни на какой ACID. Потому есть мнение, что буква C была добавлена в акроним "чтобы красивее было". А в действительности задача поддержания согласованности лежит на бизнес-логике приложения, а не на СУБД.
1) Фраза "Некоторые транзакции выполняются мгновенно, а выполнение некоторых может занимать от нескольких минут до нескольких часов." не очень согласуется с заголовком "Принципы работы OLTP-систем"
2) Утверждение "В течении выполнения транзакции система будет оставаться несогласованной." для транзакционных ACID систем - оксюморон, хотя ряд систем не гарантирующих 100% ACID (где жертвуют гарантированной 100% атомарностью или 100% консистентностю, обычно ради повышенной производительности) тоже называют себя "транзакционными".
Принципы работы OLTP-систем. Требования ACID