я не так давно, после беседы с Сергеем, перешла на следующую модель своих приложений, опишу на твоем примерее...
делаем сущность Page{id, bookId, texId}, отделяем текст в сущность к примеру TextPage{id, text}
TextPage - всегда создаем, никакого remove, только обновляем texId в сущности Page
какой профит - мы можем откатить изменения, мы можем отследить изменения, никакой конкуренции, ну и кучу еще чего можем связать