Deadlock causes transactions to "lock up". The transactions can never complete, and they can never abort themselves. If left in this state, the database will never enter a consistent state. Never the less, the database itself is consistent. Aborting a transaction neccesitates that its effects on the database have been removed from the database itself. If you do not undo the changes, the database will be in an inconsistent state. Reapplying the transaction log of committed transactions since the last checkpoint makes sure that the database is restored to a consistent state. A transaction which is aborted has all its changes to the database undone automatically by the DBMS, and thus always leaves the database in a consistent state. The accuracy and consistency of the database are not related..
|
|