数据库事务(简称:事务,英文:Transaction)是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一系列(一个或多个)的数据库操作构成。
在应用程序中,我们经常会在一个业务的处理过程中执行多个数据库操作。基于实际的业务需要,我们通常会要求这些数据库操作要么都执行成功,要么都执行失败(不能一部分成功,一部分失败),否则将会影响整个系统的数据一致性。
以我们熟知的「转账」业务为例:张三转账给李四100元,我们要从张三的账户扣除100元(操作①),然后给李四的账户增加100元(操作②)。为了确保数据的一致性,我们要求这两个数据操作必须「同时」完成:要么都执行成功,要么都执行失败。
并非任意的对数据库的操作序列都是数据库事务。数据库事务拥有以下四个特性,习惯上被称之为ACID特性。