Фон
У меня есть несколько проектов, в которых для данных используется БД SQLite. Данные, хранящиеся в базах данных, очевидно, хранятся в нескольких таблицах, связанных значениями ключ / внешний ключ.
Дело в том, что в этих базах данных, если что-то меняется на одну запись, мне приходится обновлять несколько других таблиц. Лучший пример с моей головы - удаление записи. Я должен убедиться, что все другие записи, относящиеся к удаляемой, также удалены. Теперь этот пример может быть решен с использованием значений ключа / внешнего ключа, я полагаю, но как насчет более сложных обновлений?
Сейчас я не профессиональный администратор БД, но я знаю, что в БД должна быть целостность данных, иначе все станет плохо.
Вопрос
Итак, мой вопрос. Я знаю, что у меня больше контроля при программном обновлении связанных таблиц, но за счет человеческих ошибок и времени. Я могу что-то пропустить или неправильно внедрить обновления таблиц, и это займет намного больше времени, чтобы кодировать в обновлениях. С другой стороны, я могу включить триггеры и позволить БД обрабатывать обновления других таблиц, но затем я теряю много контроля.
Так, какой из них лучше? Каждый из них лучше в разных ситуациях?