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


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

面试题 相关文章推荐
为什么要优先使用同步代码块而不是同步方法?
Jan 30 面试题
联强国际笔试题面试题
Jul 10 面试题
求网格中的黑点分布
Nov 06 面试题
聚网科技C++面试笔试题
Sep 01 面试题
什么是WEB控件?使用WEB控件有哪些优势?
Jan 21 面试题
C#里面如何倒序排列一个数组的元素?
Jun 21 面试题
linux面试题参考答案(7)
Oct 29 面试题
在浏览器端如何得到服务器端响应的XML数据
Nov 24 面试题
JAVA招聘远程笔试题
Jul 23 面试题
JAVA程序员面试题
Oct 03 面试题
介绍一些UNIX常用简单命令
Nov 11 面试题
数据库基础的一些面试题
Feb 25 #面试题
试述DBMS的主要功能
Nov 13 #面试题
SQL数据库笔试题
Mar 08 #面试题
SQL面试题
Apr 30 #面试题
为数据库创建索引都需要注意些什么
Jul 17 #面试题
database面试题
Mar 28 #面试题
存储过程的优点有哪些
Sep 27 #面试题
You might like
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
解析php中curl_multi的应用
2013/07/17 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
2015/08/23 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
HR vs CL BO3 第二场 2.13
2021/03/10 DOTA
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
JS跨域总结
2012/08/30 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
Seajs的学习笔记
2014/03/04 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
JavaScript取得键盘按下方向键是哪个的方法
2015/08/04 Javascript
简单的JS时钟实例讲解
2016/01/13 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
2016/05/12 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
vue2项目使用sass的示例代码
2017/06/28 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
webpack-mvc 传统多页面组件化开发详解
2019/05/07 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
Vue 实例事件简单示例
2019/09/19 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
使用python中的in ,not in来检查元素是不是在列表中的方法
2018/07/06 Python
python求质数列表的例子
2019/11/24 Python
tensorflow 实现数据类型转换
2020/02/17 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
自荐信的五个重要部分
2013/10/29 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
中秋手机店促销方案
2014/06/16 职场文书
党的生日活动方案
2014/08/15 职场文书
道歉信怎么写
2015/05/12 职场文书