Atomicity:
Commits finish an entire successfully or the database rolls back to the prior state. In other words, it succeeds or fails completely.
Let's take an example of a fund transaction to understand this:
Assume, account "X" has a balance of 400$ and "Y" has 300$. Account "X" is transferring 100$ to Account "Y". This transaction has two operations,
i) Debiting 100$ from X's balance
ii) Crediting 100$ to Y's balance.
Let's say, the first operation passed successfully while the second failed. In this case, "X"s balance would be 300$ while "Y" would be having 300$ instead of 400$ which is wrong. This atomicity property ensures either the transaction fails without executing any of the operation or processes both the operations.
Consistency:
Any change maintains data integrity or is cancelled completely. In other words, it assures that only valid data is written to a database.
Again assume, account "X" has a balance of 400$, account "Y" has a balance of 100$ and account "Z" has a balance of 100$.
A fund of 100$ is transferred from account "X" to accounts "Y" & "Z". So, we have two transactions here. Let's say, these transactions run concurrently and both the transactions read 400$ balance, in that case the final balance of "X" would be 300$ instead of 200$ which is wrong.
If the transaction were to run in isolation then the second transaction would have read the correct balance 300$ (before debiting 100$) once the first transaction went successful.
This consistency property ensures that the total value of funds in both the accounts is the same at the start and end of each transaction.
Isolation:
Any read or write will not be impacted by other reads or writes operations of separate transactions. In other words, it ensures each transaction is handled individually.
I have already discussed the example of Isolation in the Consistency property above.
Durability:
Successful commits will survive permanently. In other words, it guarantees data will be stored once a transaction has been processed or "committed" to the database.
As in the above example, once the fund is transferred from account X to account Y, this property ensures that the changes made to each account will not be reversed.
Any relational database that fails to meet any of these properties cannot be considered reliable.