A transaction is a logical unit of work that contains one or more SQL statements. It must be committed or rolled back as a whole to comply with the ACID properties of atomicity, consistency, isolation, and durability. Transactions begin with the first SQL statement and end with a COMMIT or ROLLBACK. The COMMIT makes all changes permanent while ROLLBACK undoes any changes made in the transaction. SAVEPOINT can be used to roll back portions of a transaction.