The DBMS has no inherent way of knowing which updates are grouped together to form
a single logical transaction. It must therefore provide a method to allow the user to indicate
the boundaries of a transaction. The keywords BEGIN TRANSACTION, COMMIT,
and ROLLBACK (or their equivalent†) are available in many data manipulation languages
to delimit transactions. If these delimiters are not used, the entire program is usually
regarded as a single transaction, with the DBMS automatically performing a COMMIT
when the program terminates correctly and a ROLLBACK if it does not.