数据库中事务的定义
dbmsdatabasemysql
事务由数据库中执行的一系列命令组成。事务中的每个命令都是原子的,即它不能进一步拆分为子命令。事务中的任何命令都可能会或可能不会更改数据库的结构。此外,事务所需的更改必须一起进行。如果不实施此规则,则系统发生故障、断电或由于其他原因,数据可能会丢失。
事务的一个简单示例如下 −
Harry 需要将 100 卢比从他的账户转给 Sally。这是作为交易完成的。首先,读取 Harry 的账户详细信息,并将他的余额减少 100。这些新数据会保存回 Harry 的账户。接下来,读取 Sally 的账户详细信息,并将她的余额增加 100。这些新数据会保存回 Sally 的账户。
但是,在数据库中实现事务非常复杂。在上面的例子中,如果系统在从 Harry 的账户中提取资金后崩溃,这笔钱将永远不会添加到 Sally 的账户中。因此,信息会丢失,Sally 的账户永远不会更新。
事务流程
事务由一系列读写操作组成。它们用于读取任何对象的当前值,并写回经过一些计算后获得的更新值。
读取操作
要读取任何数据库对象,首先要将其从磁盘带入主内存。之后,将其值复制到所需的变量中。
写入操作
要写入任何数据库对象,内存中的值都会被保存,然后重新存储到磁盘中。