为什么研究事务?
程序中很多地方要用。有的时候想到事务容易忘掉里面的一些细节,所以总结出来。
什么叫事务?
咬文嚼字一下,事,就是具体的事,务就是一个任务。这一个任务可以有一件事,也可能有多件事情组合起来做完,才叫一个任务。 这一个由一件或多件事组合起来的一个任务,就叫一个事务。
为什么学习事务?
程序就是去做事。就是去完成任务,那完成这个任务,可能需要多个步骤。如果中间哪个步骤出了错误。那整个任务都是没有完成的。这其实就是一个事务。
但是,基本上如果是中间出了错,提示一下就过了,因为你要做的事也没有保存成什么,但是如果你这个事务中,有一些数据已经保存起来了。那么就应该把
这些数据在清理掉。因为你的事务没有成功。举个最常见的例子就是就银行转帐,从A帐号减去50,往B帐号加50。这个任务叫转帐。那么这个就是一个事务。
那如果程序执行到A减去了50,B还没有加的时候,突然出错了。程序没法往下执行了,这个时候,要回退。这个任务没有完成,你要把之前做的事全撤消。这样才
符合常规。一切都得按规矩办事。那事务的规矩刚刚提到的都太粗了。那事务要求最严格的肯定是存储数据部分。那么数据库就更专业了,专业一些给事务下定义。
事务的专业定义与特点:
事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有四个属性,称为原子性、一致性、隔离性和持久性 (ACID) 属性,只有这样才能成为一个事务。
这里面的关键点就是这四个统称为ACID的属性(面试的时候经常问)。主要依赖于数据库的具体实现。
Atomic(原子性)
指整个数据库事务是不可分割的工作单位。只有使据库中所有的操作执行成功,才算整个事务成功;事务中任何一个SQL语句执行失败,那么已经执行成功的SQL语句也必须撤销,数据库状态应该退回到执行事务前的状 态。
Consistency(一致性)
指数据库事务不能破坏关系数据的完成性以及业务逻辑上的一致性。例如对银行转帐事务,不管事务成功还是失败,应该保证事务结束后A帐号与B帐号加起来还是那些钱。
Isolation(隔离性)
指的是在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。这个也是后面咱们研究的一个重点。
Durability(持久性)
指的是只要事务成功结束,它对数据库所做的更新就必须永久保存下来。即使发生系统崩溃,重新启动数据库系统后,数据库还能恢复到事务成功结束时的状态。
这些在据库都有实现,数据库是怎么实现事务的的呢?
数据库管理系统采用日志来保证事务的原子性、一致性和持久性。日志记录了事务对数据库所做的更新,如果某个事务在执行过程中发生错误,就可以根据日志,撤销事务对数据库已做的更新,使数据库退回到执行 事务前的初始状态。
这些都是可以模仿的。咱们以后如果想实现事务,就可以直接借用这个思路了。
事务的理论知识大块的讲过了,咱们来一起感受一下这个数据库事务。
分享到:
相关推荐
原子性(Atomicity):一个事务内所有操作,要么全部成功,要么全部失败。 一致性(Consistency):事务执行完毕后,数据库结果与业务规则一致。如转账业务,无论成功与失败,前后金额总和不变。 隔离性(Isolation):...
四个碳原子相互结合的几种方式.jpg
一致性(Consistency):一个事务执行之前和执行之后都必须处于一致性状态。 隔离性(Isolation):并发的事务是相互隔离的,即一个事务内部的操作及正在操作的数据必须封锁起来,不能被其他企图修改的事务看到。 ...
答:数据库事务Transaction正确执行的四个基本要素:ACID,原子性(Atomicity)、一致性(Correspondence)、隔离性(Isolation)、持久性(Durability)。 原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不...
一致性:执行事物前后,数据保持一致,多个事物对同一个数据读取的结果是相同的。 隔离性:并发访问数据库时,一个用户的事物不能被其它事物干扰,各并发事物之间数据库是独立的。 持久性:一个事物被提交之后,对...
数字电子技术:第二十一讲 氢原子的量子力学处理、四个量子数.ppt
正点原子开源四轴(1).pdf
大象版科学四年级下册4.1原子钟寻亲记精品课件.docx
Eva是一个分布式数据库系统,它实现了一个时间感知,累积和原子一致的实体-属性-值数据模型
•隔离性(Isolation) 事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。 A ------> B B ------> C •持久性(Durability...
杨福家原子物理学的教学课件,希望对大家有用
原子物理第四版(杨福家)完整答案 需要的来看看
原子物理学杨福家第四版课后答案-七章全.pdf
目录1、事务概念2、事务使用3、事务的四大特征(ACID)3.1 原子性(atomicity)3.2 一致性(Consistency)3.3 隔离性(Isolation)3.3.1 read uncommitted(读未提交的);3.3.2 read committed(读已提交的);3.3.3 ...
数据库事务的几个特性:原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily),简称就是ACID。 从广义上来看,分布式事务其实也是事务,只是由于业务上的定义以及微服务架构...
原子物理学(第四版) 责任者:杨福家 第四章 课后答案
参考正点原子IMX6ULL Mini ARM Linux开发板画的开发板(注意是底板,需搭配正点原子的核心板使用),4层10*75cm巴掌大小,基本和正点原子的开发板一致。想DIY自己的linux功能板这个工程可以帮你减少80%的画板时间吧,...
本研究支持原子核指导原子的电子结构的挑衅性思想。 随着原子序数的增加,化学元素的原子摩尔体积演化服从原子的电子结构规则,与此同时,中子多余的加到原子核上的同时发生了镜面演化。 诸如d嵌段过渡金属的原子...
正点原子完整版蓝牙资料,我的就是基于这个开发的,资料很全,方便下载。
一致性(Consistency):事务必须使数据库从一个一致性状态变换到另外一个一致性状态。 隔离性(Isolation):多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个...