DBMS中的事务:
事务是用于执行逻辑工作集的一组操作。事务通常意味着数据库中的数据已更改。 DBMS的主要用途之一是保护用户数据免受系统故障的影响。通过确保在崩溃后重新启动计算机时将所有数据还原到一致的状态来完成此操作。事务是DBMS中用户程序的任何一项执行。多次执行同一程序将产生多个事务。
例子 –
从ATM前厅提取现金要执行的交易。
操作集:
考虑下面的事务处理示例,如下所示。
示例-ATM交易步骤。
- 交易开始。
- 插入您的ATM卡。
- 选择交易语言。
- 选择“储蓄帐户”选项。
- 输入您要提取的金额。
- 输入您的秘密密码。
- 等待一段时间进行处理。
- 收现金。
- 交易完成。
可以在事务中执行以下三个操作。
- 读取/访问数据(R)。
- 写入/更改数据(W)。
- 犯罪。
例子 –
从帐户A向帐户B转移50卢比。最初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查询和Server来实现事务。在下面给出的图中,您可以看到事务状态的工作方式。
使用交易的缺点:
- 最终用户可能很难更改交易数据库中的信息。
- 我们需要始终回滚并从头开始,而不是从前一个状态继续。