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


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 06 面试题
Java平台和其他软件平台有什么不同
Jun 05 面试题
编码实现字符串转整型的函数
Jun 02 面试题
C++面试题:关于链表和指针
Jun 05 面试题
上海某公司.net方向笔试题
Sep 14 面试题
关于递归的一道.NET面试题
May 12 面试题
网上常见的一份Linux面试题(多项选择部分)
Feb 07 面试题
linux面试题参考答案(4)
Jan 28 面试题
MYSQL相比于其他数据库有哪些特点
Jul 19 面试题
过滤器的用法
Oct 08 面试题
Java语言的优势
Jan 10 面试题
Ruby如何定义一个类
Oct 08 面试题
数据库基础的一些面试题
Feb 25 #面试题
试述DBMS的主要功能
Nov 13 #面试题
SQL数据库笔试题
Mar 08 #面试题
SQL面试题
Apr 30 #面试题
为数据库创建索引都需要注意些什么
Jul 17 #面试题
database面试题
Mar 28 #面试题
存储过程的优点有哪些
Sep 27 #面试题
You might like
在php中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
jQuery TextBox自动完成条
2009/07/22 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
给文字加上着重号的JS代码
2013/11/12 Javascript
js菜单点击显示或隐藏效果的简单实例
2014/01/13 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
JQuery fileupload插件实现文件上传功能
2016/03/18 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
2016/05/17 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
Vue项目中使用Vux的安装过程
2018/05/01 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
小程序根据手机机型设置自定义底部导航距离
2019/06/04 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
Python实现二分查找算法实例
2015/05/26 Python
pycharm安装图文教程
2017/05/02 Python
pytorch 模型的train模式与eval模式实例
2020/02/20 Python
python小程序基于Jupyter实现天气查询的方法
2020/03/27 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
益达广告词
2014/03/14 职场文书
校庆接待方案
2014/03/18 职场文书
法人代表委托书
2014/04/04 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
企业工会工作总结2015
2015/05/13 职场文书
美容院员工规章制度
2015/08/05 职场文书
详解如何用Python实现感知器算法
2021/06/18 Python
基于Redis的List实现特价商品列表功能
2021/08/30 Redis
Java 数组的使用
2022/05/11 Java/Android