A transaction in a database is a logical unit of work that must either complete entirely (COMMIT) or be completely undone (ROLLBACK). These are the only two ways a transaction can terminate - partial completion is not allowed in ACID-compliant databases.