您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
标签 Ready 发表了标签 事务 · 2020年05月03日 19:23

事务

数据库事务(简称:事务,英文:Transaction)是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一系列(一个或多个)的数据库操作构成。 在应用程序中,我们经常会在一个业务的处理过程中执行多个数据库操作。基于实际的业务需要,我们通常会要求这些数据库操作要么都执行成功,要么都执行失败(不能一部分成功,一部分失败),否则将会影响整个系统的数据一致性。 以我们熟知的「转账」业务为例:张三转账给李四100元,我们要从张三的账户扣除100元(操作①),然后给李四的账户增加100元(操作②)。为了确保数据的一致性,我们要求这两个数据操作必须「同时」完成:要么都执行成功,要么都执行失败。 并非任意的对数据库的操作序列都是数据库事务。数据库事务拥有以下四个特性,习惯上被称之为ACID特性。 原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。 一致性(Consistency):事务应确保数据库的状态从一个一致状态转变为另一个一致状态。一致状态的含义是数据库中的数据应满足完整性约束。 隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行。 持久性(Durability):已被提交的事务对数据库的修改应该永久保存在数据库中。