Suppose a row is being written while you're trying to read it. You might get one field from before the change and another from after the change. Or suppose you are reading a selection of rows and you get some rows from before a change and others from after a change. You might get an inconsistent picture from half way through a change. So a database must be locked against reads while it is being updated.