就我的理解而言,它不可能在来自两个不同数据库的表之间强制执行引用活动(和级联更新)(即使这些表都在拆分后端)这是对的吗?
如果您的表设置正确(IE它们都已标准化),是否甚至需要强制引用活动?我问,因为如果前端正在使用(比如说)组合框从部门表中获取行源,而控制源将外键(IE为departmentID)存储在employee表中,为什么这很重要如果执行参照完整性?
如果它很重要,那么我绝对必须找到一种方法来强制来自不同数据库文件的表之间的参照完整性..必须有办法......
最后,修复是将所有后端表保存在一个数据库文件中吗?基本上每个数据库都使用Employee表和Department表..但其余表通常只与特定前端数据库中使用的其他表相关。
答案 0 :(得分:1)
参照完整性并不是真正参考查找表,它是关于父/子表或某种类似的重要关系,它们应该始终位于同一个数据库中。无论您是否使用RI,您的表格应始终设计为最适合应用程序。
重点是相关表具有另一个表指向的密钥ID,如果该相关记录受到影响,则不会破坏该关系。查找表可以构造成具有唯一标识符,因此如果原始记录丢失,并且添加了新记录,即使密钥已经更改,唯一标识符也不会,因为您只需将其重新放入。
作为一般规则,如果一个表中的记录依赖于另一个表中的记录,则需要参照完整性,并且它们必须位于同一个数据库中。这样,数据库本身就可以执行,程序员也不需要执行。