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


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

面试题 相关文章推荐
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
Jun 11 面试题
华美博弈C/VC工程师笔试试题
Jul 16 面试题
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
Sep 15 面试题
用C#语言写出与SQLSERVER访问时的具体过程
Apr 16 面试题
linux面试题参考答案(7)
Oct 29 面试题
介绍一下Linux内核的排队自旋锁
Aug 27 面试题
EJB timer的种类
Oct 28 面试题
JPA的特点
Oct 25 面试题
Python中pass语句的作用是什么
Jun 01 面试题
请问软件开发中的设计模式你会使用哪些
May 13 面试题
DTD的含义以及作用
Jan 26 面试题
servlet面试题
Aug 20 面试题
数据库基础的一些面试题
Feb 25 #面试题
试述DBMS的主要功能
Nov 13 #面试题
SQL数据库笔试题
Mar 08 #面试题
SQL面试题
Apr 30 #面试题
为数据库创建索引都需要注意些什么
Jul 17 #面试题
database面试题
Mar 28 #面试题
存储过程的优点有哪些
Sep 27 #面试题
You might like
将OICQ数据转成MYSQL数据
2006/10/09 PHP
简化php模板页面中分页代码的解析
2009/02/06 PHP
php实现memcache缓存示例讲解
2013/12/04 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
JS 有名函数表达式全面解析
2010/03/19 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
jquery移除、绑定、触发元素事件使用示例详解
2014/04/10 Javascript
javascript表单验证大全
2015/08/12 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
2016/05/05 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
2016/05/25 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
NodeJS实现不可逆加密与密码密文保存的方法
2018/03/16 NodeJs
详解vue2.0+axios+mock+axios-mock+adapter实现登陆
2018/07/19 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
js实现多张图片每隔一秒切换一张图片
2019/07/29 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
浅谈js数组splice删除某个元素爬坑
2020/10/14 Javascript
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
Vue router安装及使用方法解析
2020/12/02 Vue.js
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
Python 经典算法100及解析(小结)
2019/09/13 Python
python自动点赞功能的实现思路
2020/02/26 Python
Django中如何用xlwt生成表格的方法步骤
2021/01/31 Python
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
.net开发工程师面试题
2014/02/25 面试题
开工仪式策划方案
2014/05/23 职场文书
销售口号霸气押韵
2015/12/24 职场文书
Python实现文本文件拆分写入到多个文本文件的方法
2021/04/18 Python