A transaction is a sequence of reads and writes to the database that is treated as an atomic unit. A transaction is not really executed before it is committed by the database user; it is also possible rollback the changes in a pending transaction if some error occurs, i.e. constraint violation or manual rollback due to application code error.

As long as the database in a consistent state (e.g. a check constraint that checking account balance can’t be negative) before the transactions started and transactions are executed in order, the data should remain in a consistent state after each transaction is executed. Note that specifying integrity constraints / check constraints is the user’s responsibility.