为确保数据完整性,必须能确定数据库中的信息在哪些状态下是一致的。下面的示例可以很好地说明一致性的概念:
假设您使用数据库来管理财务帐户,并且要将资金从一位客户的帐户转到另一位客户的帐户上。转帐前后数据库都处于一致状态;但在将资金从一个帐户中划出尚未存入另一个帐户之前,数据库处于不一致状态。转帐过程中,当客户帐户上的总金额与转帐前的总金额相同时,数据库就处于一致状态。但在转帐过程进行到一半时,数据库处于不一致状态。取款和存款操作必须都执行,或都不执行。
事务是一个逻辑工作单元。每个事务都是一系列在逻辑上相关的命令,用于完成一项任务,并将数据库从一个一致状态转换到另一个一致状态。什么样的状态是一致状态取决于您的数据库。
事务内的语句被视为不可分的单元:或者所有语句都执行,或者都不执行。在每个事务的末尾,需要提交所做更改,将这些更改永久应用到数据库中。如果由于某种原因事务中的一些语句未正确处理,则任何中间更改都会被撤消,或回退。这种特性有另外一个说法,即事务是原子的。
将语句组合成事务对于保护数据的一致性(即使在出现介质故障或系统故障时)和管理并发数据库操作都非常关键。可以安全地交错执行事务,并且每个事务的完成都标志着一个时间点,在该时间点数据库中的信息处于一致状态。
在正常运行期间,如果出现系统故障或数据库崩溃,Adaptive Server Anywhere 将在下次启动数据库时自动恢复数据。自动恢复过程将恢复所有已完成的事务,并回退在发生故障时任何尚未提交的事务。事务的原子特性可以确保将数据库恢复到一个一致状态。
有关数据库备份和数据恢复的详细信息,请参见备份和数据恢复。
有关并发数据库使用的详细信息,请参见并发简介。
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。