DBMS 中的事务:
事务是一组用于执行一组逻辑工作的操作。一个事务通常意味着数据库中的数据发生了变化。 DBMS 的主要用途之一是保护用户数据免受系统故障的影响。这是通过确保在计算机崩溃后重新启动时所有数据恢复到一致状态来完成的。事务是 DBMS 中用户程序的任何一次执行。多次执行同一个程序会产生多个事务。
例子 –
为从 ATM 前厅提取现金而执行的交易。
操作集:
考虑以下事务操作示例。
示例 -ATM 交易步骤。
- 交易开始。
- 插入您的提款卡。
- 为您的交易选择语言。
- 选择储蓄账户选项。
- 输入您要提取的金额。
- 输入您的密码。
- 等待一段时间进行处理。
- 收集您的现金。
- 交易完成。
一个事务中可以执行以下三个操作。
- 读取/访问数据 (R)。
- 写入/更改数据 (W)。
- 犯罪。
例子 –
将 50₹ 从帐户 A 转移到帐户 B。最初 A= 500₹,B= 800₹。这些数据从硬盘带到 RAM 中。
R(A) -- 500 // Accessed from RAM.
A = A-50 // Deducting 50₹ from A.
W(A)--450 // Updated in RAM.
R(B) -- 800 // Accessed from RAM.
B=B+50 // 50₹ is added to B's Account.
W(B) --850 // Updated in RAM.
commit // The data in RAM is taken back to Hard Disk.
笔记 –
帐户 A = 450₹ 和帐户 B = 850₹ 的更新值。
提交前的所有指令都处于部分提交状态并存储在 RAM 中。当提交被读取时,数据被完全接受并存储在硬盘中。
如果数据在提交之前的任何地方失败,我们必须返回并从头开始。我们不能从同一个状态继续。这称为回滚。
事务管理的用途:
- DBMS 用于并行调度数据的访问。这意味着用户可以访问数据库中的多个数据而不会相互干扰。事务用于管理并发。
- 它还用于满足 ACID 特性。
- 它用于解决读/写冲突。
- 它用于实现可恢复性、可序列化和级联。
- 事务管理也用于并发控制协议和数据锁定。
交易状态:
事务可以使用 SQL 查询和服务器来实现。在下面给出的图表中,您可以看到事务状态是如何工作的。
使用事务的缺点:
- 最终用户可能难以更改交易数据库中的信息。
- 我们需要始终回滚并从头开始,而不是从之前的状态继续。