什么是事务处理?解释事务的属性(DBMS)

事务是包含一组操作的数据库处理单元。例如存款、余额查询、订票等。

每个事务都以开始事务的分隔符开始,以结束事务的分隔符结束。这两个定界符内的一组操作构成一个事务。

main()

{ begin transaction

} end transaction

操作

交易有两个基本操作 -

  • Read(x)− 将数据项 x 从数据库加载到内存。{数据库存在于硬盘中}。

  • Write(x) − 更新内存中的数据项 x 并将其存储在数据库中。

交易属性

数据库系统确保 ACID 属性,如下所述 -

  • 原子性- 事务操作全部完成或不完成。

  • 一致性- 事务从一个一致(正确)状态转移到另一个一致状态。

  • 隔离- 事务与其他事务隔离。即一个事务不受另一个事务的影响。尽管多个事务并发执行,但它必须看起来好像事务是串行运行的(一个接一个)。

  • 耐用性- 交易的结果是永久性的,即结果永远不会因后续故障而丢失,耐用性是指持久性,即永久性。

示例

考虑转移卢比的交易。150从账户A到账户B。交易步骤如下 -

  • 读A

  • A=A-150

  • Write(A)

  • Read(B)

  • B=B+150

  • Write(B)

如果事务在步骤 4 失败,然后由于部分修改而出现不一致,则需要原子性。这是因为 B 的值没有更新。

一致性要求- A 和 B 的总和在交易前后应该相同。

隔离要求- 如果另一个事务在步骤 4 期间访问数据,则存在不一致,因为 B 的值直到现在还没有更新。

以上是 什么是事务处理?解释事务的属性(DBMS) 的全部内容, 来源链接: utcz.com/z/338756.html

回到顶部