背景
我有几个使用 SQLite DB 存储数据的项目。存储在数据库中的数据显然存储在多个表中,通过键/外键值链接。
问题是在这些数据库中,如果一条记录发生变化,我必须更新其他几个表。我脑海中最好的例子就是删除一条记录。我必须确保与被删除的记录相关的所有其他记录也被删除。现在,我相信这个例子可以使用键/外键值来解决,但是更复杂的更新呢?
现在我不是专业的数据库管理员,但我知道数据库中需要数据完整性,否则事情会变得丑陋。
问题
所以,我的问题。我知道以编程方式更新相关表时我有更大的控制权,但代价是人为错误和时间。我可能会遗漏一些东西或没有正确实现表更新,并且在更新中编写代码需要更长的时间。另一方面,我可以放入触发器并让数据库处理对其他表的更新,但我会失去很多控制权。
那么,哪一个更好呢?在不同的情况下每个更好吗?