分享

数据库之事务及事务的 ACID 性质

 大前端之旅 2022-03-10

1.什么是事务

DBMS中的事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元事务的基本概念

所谓事务是用户定义的一个数据库操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位。

在关系数据库中,事务可以是一条SQL语句、一组SQL语句。

事务通常由高级数据操纵语言或编程语言(如SQL、COBOL、C、C++或Java)书写的用户程序的执行所引起,由事务开始与结束之间执行的全体操作组成。事务的开始与结束可以用形如 begin transaction 和 end transaction的语句(或函数调用)来显式定义,如果用户没有显式地定义事务,则由DBMS按缺省规定自动划分事务。

2.事务应具有下列四个性质(称为事务的ACID性质):

原子性(Atomicity)

一个事务对数据库的所有操作,是一个不可分割的工作单元。这些操作要么全部执行,要么什么也不做。它由DBMS的事务管理子系统来实现

一致性(Consistency)

一个事务独立执行的结果应保持数据库的一致性,即数据不会因为事务的执行而遭受破坏。确保单个事务的一致性是编写事务的应用程序员的职责。在系统运行时,由DBMS的完整性子系统执行测试任务。

隔离性(Isolation)

在多个事务并发执行时,系统应保证与这些事务先后单独执行时的结果一样,也就是在多个并发事务执行时,保证执行结果是正确的。隔离性是由DBMS的并发控制子系统实现的。

持久性(Durability)

一个事务一旦完成全部操作后,它对数据库的所有更新应永久地反映在数据库中。即使以后系统发生故障,也应保留这个事务执行的痕迹。事务的持久性由DBMS的恢复管理子系统实现。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多