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


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

面试题 相关文章推荐
PHP如何自定义函数
Sep 16 面试题
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
Dec 05 面试题
如何向接受结构参数的函数传入常数值
Feb 17 面试题
北京一家公司的.net开发工程师笔试题
Apr 17 面试题
端口镜像是怎么实现的
Mar 25 面试题
如何利用cmp命令比较文件
Sep 23 面试题
EJB3.1都有哪些改进
Nov 17 面试题
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
Mar 23 面试题
如何用Python输出一个Fibonacci数列
Aug 28 面试题
送给程序员的20个Java集合面试问题
Aug 06 面试题
介绍一下Ruby的多线程处理
Feb 01 面试题
数据库基础的一些面试题
Feb 25 #面试题
试述DBMS的主要功能
Nov 13 #面试题
SQL数据库笔试题
Mar 08 #面试题
SQL面试题
Apr 30 #面试题
为数据库创建索引都需要注意些什么
Jul 17 #面试题
database面试题
Mar 28 #面试题
存储过程的优点有哪些
Sep 27 #面试题
You might like
德劲1107的电路分析与打磨
2021/03/02 无线电
PHP脚本的10个技巧(2)
2006/10/09 PHP
实例(Smarty+FCKeditor新闻系统)
2007/01/02 PHP
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
php中strtotime函数用法详解
2014/11/15 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
PHP编程中尝试程序并发的几种方式总结
2016/03/21 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
2016/10/08 PHP
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
探寻JavaScript中this指针指向
2016/04/23 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
Angular4编程之表单响应功能示例
2017/12/13 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
vue中的适配px2rem示例代码
2018/11/19 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
javascript实现弹幕墙效果
2019/11/28 Javascript
原生js实现无缝轮播图
2020/01/11 Javascript
使用python获取CPU和内存信息的思路与实现(linux系统)
2014/01/03 Python
Python实现复杂对象转JSON的方法示例
2017/06/22 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
python 判断参数为Nonetype类型或空的实例
2018/10/30 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
在Python中COM口的调用方法
2019/07/03 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
2014/05/07 HTML / CSS
HTML5实现页面切换激活的PageVisibility API使用初探
2016/05/13 HTML / CSS
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
博士学位自我鉴定范文
2013/12/26 职场文书
初婚未育证明
2014/01/15 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书