A Transaction
is an atomic unit of work that modifies data. A transaction
encloses one or more program statements, all of which
either complete or roll back. Transactions enable multiple
users to access the same data concurrently.
Transactions simplify application programming because they free the
programmer from dealing with failure recovery and concurrent
access by multiple users. The
transaction manager ensures that a task completes or is rolled back to the
last completed step.