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


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...

面试题 相关文章推荐
如何获取某个日期是当月的最后一天
Dec 05 面试题
北京SQL新华信咨询
Sep 30 面试题
杭州信雅达系统.NET工程师面试试题
Feb 08 面试题
如何查找网页漏洞
Jun 22 面试题
企业面试题试卷附带答案
Dec 20 面试题
软件测试企业面试试卷
Jul 13 面试题
你所在的项目是如何确定版本号的
Dec 28 面试题
介绍一下EJB的分类及其各自的功能及应用
Aug 23 面试题
百度JavaScript笔试题
Jan 15 面试题
与C++相比,Java中的数组有什么不同
Mar 25 面试题
史上最全面的Java面试题汇总!
Feb 03 面试题
SOA面试题:如何在SOA中实现松耦合
Jul 21 面试题
数据库基础的一些面试题
Feb 25 #面试题
试述DBMS的主要功能
Nov 13 #面试题
SQL数据库笔试题
Mar 08 #面试题
SQL面试题
Apr 30 #面试题
为数据库创建索引都需要注意些什么
Jul 17 #面试题
database面试题
Mar 28 #面试题
存储过程的优点有哪些
Sep 27 #面试题
You might like
SONY ICF-F10中波修复记
2021/03/02 无线电
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
PHP中替换键名的简易方法示例详解
2014/01/07 PHP
繁简字转换功能
2006/07/19 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
2015/10/28 Javascript
jQuery中ajax的load()与post()方法实例详解
2016/01/05 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
如何理解Vue的.sync修饰符的使用
2017/08/17 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
利用Promise自定义一个GET请求的函数示例代码
2019/03/20 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
Vue 实现简易多行滚动"弹幕"效果
2020/01/02 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
python使用mysql的两种使用方式
2018/03/07 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
关于Python的一些学习总结
2018/05/25 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
Django实现基于类的分页功能
2019/10/31 Python
python调用win32接口进行截图的示例
2020/11/11 Python
call在Python中改进数列的实例讲解
2020/12/09 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
HTML5移动端开发遇见的东西
2019/10/11 HTML / CSS
印度婴儿用品在线商店:Firstcry.com
2016/12/05 全球购物
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书
python 中[0]*2与0*2的区别说明
2021/05/10 Python
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL