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


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面试题-$message和$$message的区别
Dec 08 面试题
请说出你所知道的线程同步的方法
Apr 19 面试题
枚举和一组预处理的#define有什么不同
Sep 21 面试题
实现向右循环移位
Jul 31 面试题
经典c++面试题四
May 14 面试题
UDP协议功能
Jan 06 面试题
介绍一下MD5加密算法
Nov 12 面试题
Linux如何命名文件--使用文件名时应注意
May 29 面试题
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
Nov 04 面试题
华为python面试题
May 03 面试题
如果重写了对象的equals()方法,需要考虑什么
Nov 02 面试题
Java文件和目录(IO)操作
Aug 26 面试题
数据库基础的一些面试题
Feb 25 #面试题
试述DBMS的主要功能
Nov 13 #面试题
SQL数据库笔试题
Mar 08 #面试题
SQL面试题
Apr 30 #面试题
为数据库创建索引都需要注意些什么
Jul 17 #面试题
database面试题
Mar 28 #面试题
存储过程的优点有哪些
Sep 27 #面试题
You might like
模拟SQLSERVER的两个函数:dateadd(),datediff()
2006/10/09 PHP
简单的页面缓冲技术
2006/10/09 PHP
PHP以指定字段为索引返回数据库所取的数据数组
2013/06/30 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
动态加载iframe
2006/06/16 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
vue-cli3+typescript初体验小结
2019/02/28 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
2019/11/07 Javascript
Python Socket编程详细介绍
2017/03/23 Python
Python实现感知机(PLA)算法
2017/12/20 Python
使用Python实现windows下的抓包与解析
2018/01/15 Python
python程序变成软件的实操方法
2019/06/24 Python
python关于矩阵重复赋值覆盖问题的解决方法
2019/07/19 Python
Python3的socket使用方法详解
2020/02/18 Python
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
通信专业个人自我鉴定
2013/10/21 职场文书
美术社团活动总结
2014/06/27 职场文书
企业贷款委托书格式
2014/09/12 职场文书
2015届本科毕业生自我鉴定
2014/09/27 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
小学运动会宣传稿
2015/07/23 职场文书
小学毕业感言200字
2015/07/30 职场文书
2015年小学体育教师工作总结
2015/10/23 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL
详解pytorch创建tensor函数
2022/03/22 Python
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL