事务是不可分割的一系列数据库操作,这些操作必须要么整体成功,要么整体失败。事务维护数据完整性,保证数据库总是在一个一致性状态。事务应该以commit或rollback语句结束。如果它以commit语句结束,所有对数据库的改变被永久记录。如果事务失败了,或以rollback结束,事务中没一个改变会生效,这里不考虑保存点(savepoint)的情况。
有关事务的一个经典例子是银行资金从一个账号到另一个账号的转移。即使它也许包括多个独立的操作(像分别向借贷双方账户记录借贷资金),它必须作为一个整体,要么成功,要么失败,但从不应该被设计成部分成功或部分失败,因为,这将会把相关数据置于一个逻辑上不一致的状态。