事务(Transaction)概念和特性
2024-08-29 20:48:31
http://baike.baidu.com/view/121511.htm 概念
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。
例如:在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。
特性
事务是恢复和并发控制的基本单位。
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
最新文章
- MySQL安装与基本配置
- QAbstractItemView::setRootIndex(const QModelIndex &; index) 失效
- 在sqlserver中做fibonacci(斐波那契)规律运算
- selenium web driver 配合使用testng
- Qt 显示图片 放大 缩小 移动(都是QT直接提供的功能)
- WordPress使用360CDN替换google服务,解决WordPress打开速度变慢问题
- 6款好用的Python IDE
- SE 2014年4月17日
- 【玩转开源】Linux C 检测网口热插拔
- sanic set up
- appium+python测试app使用相对坐标定位元素
- C++学习笔记56:异常处理
- echarts 通过dom获取echarts实例,批量监听reset
- freeswitch 获取app和api帮助
- Java 8新特性之 Optional(八恶人-5)
- Web 漏洞分析与防御之 CSRF(二)
- 从virustotal上下载病毒样本
- elasticsearch(4) 安装 (两台)
- maven 工程聚合插件
- org.apache.commons.httpclient.HttpClient的使用(转)
热门文章
- windows下xampp安装PHP的pthreads多线程扩展
- IIS——MIME介绍与添加MIME类型
- oracle case else end
- hdu 1506 Largest Rectangle in a Histogram 构造
- Linux的五个查找命令:find,locate,whereis,which,type 及其区别
- 【Git】windows上git命令中文乱码的问题
- 【linux】linux上 查看tomcat日志文件
- Python中的XMLRPC(Calendar)
- JSONUtil.bean2Json()报Property 'key' of class has no read method. SKIPPED的问题处理
- Solr 创建core 从MySql数据库中导入数据