1. Which pairing of read phenomenon and description is correct?
Phantoms are new or missing rows that match a predicate on a later scan. They show up with range predicates. Non-repeatable reads are the same row showing different values. Dirty reads are uncommitted values. Lost updates happen when both read the same value and the later write overwrites the earlier without awareness.
/* Phantom example */ -- T1: SELECT * FROM orders WHERE amt > 100; -- sees N -- T2: INSERT order amt=200 COMMIT -- T1: re-run: now sees N+1