The ANSI/ISOSQL
standard defines four levels of transaction isolation in terms of
three phenomena that must be prevented between concurrent
transactions. These undesirable phenomena are:

dirty reads

A transaction reads data written by concurrent
uncommitted transaction.

non-repeatable reads

A transaction re-reads data it has previously read and
finds that data has been modified by another transaction
(that committed since the initial read).

phantom read

A transaction re-executes a query returning a set of
rows that satisfy a search condition and finds that the set
of rows satisfying the condition has changed due to another
recently-committed transaction.

The four transaction
isolation levels and the corresponding behaviors are described in
Table
9-1.