All changes to data are performed as if they were a single operation. (Each transaction is treated as a single unit)
Data is in a consistent state when a transaction starts and when it ends.
The intermediate state of transactions is invisible to other transactions.
After a transaction successfully completes, changes to data persist and are not undone, even in the event of systemic failure.