为什么数据库事务如此重要?

上一篇我们学习了如何利用 DML 语句对数据进行各种增删改合操作。

当我们在操作数据的同时,其他人或者应用程序可能也在操作相同的数据;此时数据库必须保证多个用户之间不会产生影响,数据不会出现不一致性。这就涉及到一个重要的概念:数据库事务(Transaction)。

什么是数据库事务

在企业应用中,数据库通常需要支持多用户并发访问;并且保证多个用户并发访问相同的数据时,不会造成数据的不一致性和不完整性。同时,在用户执行操作的过程中,可能会遇到系统崩溃、介质失效等故障,数据库也必须能够从失败的状态恢复到一致状态。这些核心功能在数据库中都是通过事务来实现的。

在数据库中,事务是指一组相关的 SQL 语句,它们在业务逻辑上组成一个原子单元。数据库必须保证事务中的所有操作全部成功,或者全部撤销

最常见的数据库事务就是银行账户之间的转账操作;例如从 A 账户转出 1000 元到 B 账户,数据库操作的流程如下图所示:

transfer

以上是一个简化的流程,实际的转账还需要检查账户的状态、收取转账费用等。该事务主要包括以下步骤:

  1. 查询 A 账户的余额是否足够;
  2. 从 A 账户减去 1000 元;
  3. 往 B 账户增加 1000 元;

猜你喜欢

转载自blog.csdn.net/horses/article/details/108729086