Atomicity

Consistency

Transaction can only bring the database from one valid state to another.

From Designing Data Intensive Applications: «The idea of ACID consistency is that you have certain statements about your data (Invariant) that must always be true—for example, in an accounting system, credits and debits across all accounts must always be balanced. If a transaction starts with a database that is valid according to these invariants, and any writes during the transaction preserve the validity, then you can be sure that the invariants are always satisfied.»

Isolation

Durability

aciddatabasepractice