目录:数据库
1.事务的定义并发
2.事务的ACID性质spa
1.事务的定义操作系统
从用户观点看,对数据库的某些操做应是一个总体,也就是一个独立的工做单元,不能分割。进程
定义:事务是构成单一逻辑工做单元的操做集合,要么完整地执行,要么彻底不执行。不论发生何种状况,DBS必须保证事务能正确、完整地执行。事务
DBS的主要意图是执行“事务”。事务是数据库环境中的一个逻辑工做单元,至关于操做系统环境中的“进程概念”。一个事务由应用程序中的一组操做序列组成,在程序中,事务以BEGIN TRANSCATION语句开始,以COMMIT语句或ROLLBACK语句结束。内存
过程:ci
COMMIT语句表示事务执行成功地结束(提交),此时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的全部更新都已交付实施(写入磁盘)。ROLLBACK语句表示事务执行不成功地结束(应该“回退”),此时告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的全部更新必须被撤销,数据库应恢复该事务到初始状态。it
对数据库的访问是创建在读和写两个操做的基础上的:io
①read(X):把数据X从磁盘的数据库中读到内存的缓冲区上。
②write(X):把数据X从内存缓冲区中写回磁盘的数据库中
须要注意:在系统运行时,write操做未必致使数据当即写回磁盘,极可能先暂存在内存缓冲区中,稍后再写回磁盘。
2.事务的ACID性质
①原子性(Atomicity):一个事务对数据库的全部操做,是一个不可分割的工做单元。要么操做所有执行,要么什么也不作。
②一致性(Consistency):一个事务独立执行的结果,应保持数据库的一致性,即数据不会因事务的执行而操守破坏。
③隔离性(Isolation):在多个事务并发执行时,系统应保证与这些事务前后单独执行时的结果同样,此时成事务达到了隔离性的要求。
④持久性(Durability):一个事物一旦完成所有操做后,它对数据库的全部更新应永久的反应在数据库中,不会丢失。即便之后系统发生故障,也是如此。