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


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的五个基础面试题
Feb 26 面试题
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
Jul 16 面试题
一家外企的面试题目(C/C++面试题,C语言面试题)
Mar 24 面试题
类成员函数的重载、覆盖和隐藏区别
Jan 27 面试题
索引覆盖(Index Covering)查询含义
Feb 18 面试题
什么是触发器(trigger)? 触发器有什么作用?
Sep 18 面试题
一套带网友答案的.NET笔试题
Dec 06 面试题
简单说下OSPF的操作过程
Aug 13 面试题
抽象类和接口的区别
Sep 19 面试题
UML设计模式笔试题
Jun 07 面试题
传统软件工程与面向对象的软件工程有什么区别
May 31 面试题
abstract class和interface有什么区别
Aug 04 面试题
数据库基础的一些面试题
Feb 25 #面试题
试述DBMS的主要功能
Nov 13 #面试题
SQL数据库笔试题
Mar 08 #面试题
SQL面试题
Apr 30 #面试题
为数据库创建索引都需要注意些什么
Jul 17 #面试题
database面试题
Mar 28 #面试题
存储过程的优点有哪些
Sep 27 #面试题
You might like
特转载一高手总结PHP学习资源和链接.
2006/12/05 PHP
PHP求最大子序列和的算法实现
2011/06/24 PHP
ajax取消挂起请求的处理方法
2013/03/18 PHP
php二维码生成
2015/10/19 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
深入理解关于javascript中apply()和call()方法的区别
2016/04/12 Javascript
浅谈js中调用函数时加不加括号的问题
2016/07/28 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
基于python的汉字转GBK码实现代码
2012/02/19 Python
python写入xml文件的方法
2015/05/08 Python
Python随手笔记之标准类型内建函数
2015/12/02 Python
python的unittest测试类代码实例
2017/12/07 Python
Python字符串拼接六种方法介绍
2017/12/18 Python
Python类的继承和多态代码详解
2017/12/27 Python
Tensorflow 合并通道及加载子模型的方法
2018/07/26 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
2019/03/13 Python
python与字符编码问题
2019/05/24 Python
HTML5 drag和drop具体使用详解
2021/01/18 HTML / CSS
波兰家具和室内装饰品购物网站:Vivre
2018/04/10 全球购物
什么是反射
2012/03/17 面试题
毕业生自我推荐
2013/11/04 职场文书
医科大学毕业生自荐信
2014/02/03 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
创先争优宣传标语
2014/10/08 职场文书
工资证明范本
2015/06/12 职场文书
小学运动会入场词
2015/07/18 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python