数据库 | 事务 | 并发控制

版权声明:欢迎转载 https://blog.csdn.net/stone_fall/article/details/88547696

事务(Transaction)

定义

  1. 一个数据库操作序列
  2. 一个不可分割的工作单位(要么全做,要么不做)
  3. 恢复和并发控制的基本单位

 

事务和程序比较

  • 在关系数据库中,一个事务可以是一条或多条SQL语句,也可以包含一个或多个程序。
  • 一个程序通常包含多个事务

显式定义方式

   BEGIN TRANSACTION                   BEGIN TRANSACTION

          SQL 语句1                                             SQL 语句1

          SQL 语句2                                             SQL 语句2

          。。。。。                                            。。。。。

      COMMIT                                          ROLLBACK

隐式方式

当用户没有显式地定义事务时,

DBMS按缺省规定自动划分事务

事务的特性(ACID特性)

  • 原子性(Atomicity

事务中的所有操作要么全部执行,要么都不执行。

  • 一致性(Consistency

如果在执行事务之前数据库是一致的,那么在执行事务之后数据库也还应该是一致的。

  • 隔离性(Isolation

即使多个事务并发执行,每个事务都感觉不到系统中有其他事务在执行,以保证数据库的一致性。

  • 持续性(Durability

事务成功执行后它对数据库的修改是永久的,即使系统出现故障。

猜你喜欢

转载自blog.csdn.net/stone_fall/article/details/88547696