When describing database transaction requirements, what is the meaning of atomicity?

A.
Transaction results will survive system or media failure.
B.
As long as a transaction is not committed, changes are not visible.
C.
If the database is in a consistent state before the transaction, it will be consistent after the
transaction.
D.
A transaction is executed either entirely or not at all.