1/6

The three classical anomalies are each defined by what a re-read sees.

Dirty read — you observe a value another transaction wrote and has not committed. If it rolls back, you acted on data that never existed.

Non-repeatable read — you read the same row twice in one transaction and get two different values, because another transaction committed in between.

Phantom read — you run the same range query twice and the second returns rows that were not there before. The rows you already read did not change; the set changed.

The ANSI isolation levels are defined by which of these they forbid — not by how. That distinction is the lesson: the level is a contract, the mechanism is the engine's business.