我明白需要具有引用完整性来限制进入的具体值,或者可能会在删除请求时阻止它们被删除。然而,我不清楚一个有效的用例,将排除这种机制永远被使用。
我想这将分为几个小问题:
>什么时候参照完整性不合适?
>包含外键列表的多个和/或可能不完整子集的字段是否适合?
通常情况下,这应该是模式结构设计决策还是接口设计决策? (或者两者都可以)
思考?
解决方法
什么时候参照完整性不合适?
如果通常不在数据仓库中使用参考整合,其中数据是事务数据库的只读副本。当您不需要RI的另一个例子是当您要记录包含行ids的信息时;维护只读日志表的引用完整性浪费数据库开销。
包含多个和/或可能不完整的外键列表的子集的字段是否适合?
有时,您更关心捕获数据而不是数据质量。想象一下,您正在从不同的系统汇总大量的数据,每个系统本身都受到数据质量问题的影响。有时候,在数据质量更好的情况下,即使使用断键等将所有内容都放在一个地方,也是实现数据质量的起点。这不是理想的,但它确实发生了,因为fitf可以超过权衡。
通常情况下,应该是模式结构设计决策还是接口设计决策? (或者两者都可以)
关于系统开发的一切都围绕信息安全,其中的一个关键因素是数据完整性。数据库结构应该尽可能地执行这些事情,但是您通常不会处理现代数据库系统。有时你的数据源是一个古老的学校AS400,拥有悠久的应用程序。有时你必须建立一个提供数据完整性的数据和业务层。
只是我的想法