Вы пропускаете одно важное слово: вы можете 'восстановить некоторые данные', это не восстановление!
Если существует ситуация, когда поврежденная база данных может быть полностью восстановлена без взаимодействия с пользователем, то она не будет повреждена в первую очередь, и такая repair
была бы стандартной функцией SQLite