数据库——事务

目录:

1.事务的定义

2.事务的ACID性质

1.事务的定义

从用户观点看,对数据库的某些操作应是一个整体,也就是一个独立的工作单元,不能分割。

定义:事务是构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行。不论发生何种情况,DBS必须保证事务能正确、完整地执行。

DBS的主要意图是执行“事务”。事务是数据库环境中的一个逻辑工作单元,相当于操作系统环境中的“进程概念”。一个事务由应用程序中的一组操作序列组成,在程序中,事务以BEGIN TRANSCATION语句开始,以COMMIT语句或ROLLBACK语句结束。

过程:

COMMIT语句表示事务执行成功地结束(提交),此时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的所有更新都已交付实施(写入磁盘)。ROLLBACK语句表示事务执行不成功地结束(应该“回退”),此时告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的所有更新必须被撤销,数据库应恢复该事务到初始状态。

对数据库的访问是建立在读和写两个操作的基础上的:

扫描二维码关注公众号,回复: 950604 查看本文章

①read(X):把数据X从磁盘的数据库中读到内存的缓冲区上。

②write(X):把数据X从内存缓冲区中写回磁盘的数据库中

需要注意:在系统运行时,write操作未必导致数据立即写回磁盘,很可能先暂存在内存缓冲区中,稍后再写回磁盘。

2.事务的ACID性质

原子性(Atomicity):一个事务对数据库的所有操作,是一个不可分割的工作单元。要么操作全部执行,要么什么也不做。

一致性(Consistency):一个事务独立执行的结果,应保持数据库的一致性,即数据不会因事务的执行而操守破坏。

隔离性(Isolation):在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样,此时成事务达到了隔离性的要求。

持久性(Durability):一个事物一旦完成全部操作后,它对数据库的所有更新应永久的反应在数据库中,不会丢失。即使以后系统发生故障,也是如此。

猜你喜欢

转载自my.oschina.net/u/3786691/blog/1815582
今日推荐