Ну, вы используете базу данных.
Базы данных реализуют свойства ACID (см. здесь ). Насколько это возможно, они гарантируют целостность данных, даже если транзакции не завершены.
Проблема, на которой вы сосредотачиваетесь, - это потеря соединений. Я думаю, что потерянные соединения обычно приводят к откату транзакции (я не уверен, что есть исключения). То есть база данных игнорирует все, начиная с последнего коммита.
Таким образом, база данных защищает вас от внутреннего повреждения. Ваша модель данных может стать недействительной, если последовательность операций остановлена в произвольном месте. Решение этой проблемы состоит в том, чтобы обернуть такие операции в транзакцию, чтобы откат транзакции.
Существует (небольшая) опасность повреждения баз данных, когда аппаратное или программное обеспечение, на котором они работают, внезапно "исчезает". Это редко и есть гарантии. И это не та проблема, которая вас волнует (если только ваш экземпляр SQLite не является частью вашего процесса python).