什么是事务?为什么需要事务?


Posted in 面试题 onJanuary 09, 2012
事务是由一组必须要同时完成的或者同时取消的操作组成的,事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。
事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。

原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。

一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。

隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

Tags in this post...

面试题 相关文章推荐
如何让Java程序执行效率更高
Jun 25 面试题
.NET remoting的两种通道是什么
May 31 面试题
shallow copy和deep copy的区别
May 09 面试题
什么是托管函数?托管函数有什么用?
Jun 15 面试题
应届生.NET方向面试题
May 23 面试题
远东集团网络工程师面试题
Oct 20 面试题
傲盾软件面试题
Aug 17 面试题
北京某科技有限公司C# .net笔试题
Sep 27 面试题
Linux操作面试题
May 16 面试题
介绍一下Java中的static关键字
May 12 面试题
如何在Shell脚本中使用函数
Sep 06 面试题
J2EE的优越性主要表现在哪些方面
Mar 28 面试题
数据库基础的一些面试题
Feb 25 #面试题
试述DBMS的主要功能
Nov 13 #面试题
SQL数据库笔试题
Mar 08 #面试题
SQL面试题
Apr 30 #面试题
为数据库创建索引都需要注意些什么
Jul 17 #面试题
database面试题
Mar 28 #面试题
存储过程的优点有哪些
Sep 27 #面试题
You might like
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
分享别人写的一个小型js框架
2007/08/13 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
浅谈类似于(function(){}).call()的js语句
2015/03/30 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
bootstrap下拉列表与输入框组结合的样式调整
2016/10/08 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
浅谈React的最大亮点之虚拟DOM
2018/05/29 Javascript
Vue列表渲染的示例代码
2018/11/01 Javascript
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
layui 动态设置checbox 选中状态的例子
2019/09/02 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
在vue中实现清除echarts上次保留的数据(亲测有效)
2020/09/09 Javascript
详解如何在Javascript中使用Object.freeze()
2020/10/18 Javascript
[04:22]DSPL第二期精彩集锦:残血反杀!
2014/12/10 DOTA
[03:41]DOTA2上海特锦赛小组赛第三日recap精彩回顾
2016/02/28 DOTA
Python、Javascript中的闭包比较
2015/02/04 Python
详解Python中列表和元祖的使用方法
2015/04/25 Python
python访问类中docstring注释的实现方法
2015/05/04 Python
python中zip()方法应用实例分析
2016/04/16 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
蔻驰意大利官网:COACH意大利
2019/01/16 全球购物
行政部主管岗位职责
2013/12/28 职场文书
挂职思想汇报
2013/12/31 职场文书
聘用意向书
2014/07/29 职场文书
雷锋的故事观后感
2015/06/10 职场文书
幼儿园大班教学反思
2016/03/02 职场文书
Python 数据可视化之Matplotlib详解
2021/11/02 Python
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python