什么是数据库事务(what is database transaction)?

时间:2021-10-01 16:19:16

答:

—— 数据库事务是指作为单个逻辑工作单元执行的一系列操作,这些操作要么全做,要么全部做,是一个不可分割的工作单元。

—— 事务的开始与结束可以由用户显示的控制。如果用户没有显式地定义事务,则由DBMS按照默认的规定自动划分事务。事务分为 原子性一致性独立性持久性 等特点。


  • 事务的原子性是指一个事务要么全部执行,要么不执行。也就是说,一个事物不可能只执行了一半就停止了。比如你从银行取钱,这个事务可以分为两个步骤:①存折减款,②拿到现金。不可能存折钱少了,而钱没取出来。这两步必须同时完成,要么都不完成。

  • 事务的一致性是指事务的运行并不改变数据库中数据的一致性。例如,完整性约束了a+b=10,一个事务改变了a, 那么b 也应该随之改变。

  • 事务的独立性是指两个以上的事务不会出现交错执行的状态,因为这样可能会导致数据不一致。

  • 事务的持久性是指事务运行成功后,系统的更新是永久的,不会无缘无故地回滚。