An input message to a system that, because of the nature of the real-world event or activity it reflects, requires to be regarded as a single unit of work and must either be processed completely or rejected. Where the processing of a transaction involves several changes to be made to a database, and for some reason the activity is interrupted and not completed, then any changes made to that point must be reversed (backed out) and a DBMS must provide facilities to ensure this happens. When the processing of a transaction has been completed satisfactorily the changes to the database are committed, i.e. made permanent See ACID.