与表无关的外键?

2024-03-11

首先,我确实读过这个 StackOverflow 问题 https://stackoverflow.com/questions/294969/sql-one-foreign-key-references-primary-key-in-one-of-several-tables,所以不需要指出我的方向。

我现在正在研究类似的问题。具体来说,我有一个带有审核表的数据库,该表用于存储有关数据库中其他表的审核信息。该表的基本形式为:

ID、EntityID、EntityTypeID、ActionTypeID、日期时间

现在,正如您可以猜到的,EntityID 的通用性质意味着与此表之间的外键关系很难管理,尤其是在您通过 ORM 系统进行混合的情况下。

当然,繁重的工作解决方案是手动执行所需的查询并在有效的地方使用 ORM 内容,我对此很满意。

然而,这个问题确实在我的脑海中提出了一个问题:是否存在允许定义以下形式的外键关系的 RDBMS:Table:ID。

换句话说,在这样的 RDBMS 中,EntityTypeID 列可能包含以下值:

“表A:1”和“表B:somekey”

So...

有没有 RDBMS 可以做到这一点?


审计表通常不能有引用完整性约束。审核表 A 记录有关某个表 T 中的一行数据 R 的信息,并包含 R 的一系列记录,每个记录代表不同时间的 R。当 R 随后被修改时,A 中的信息不会改变,并且不允许阻止对 R 的更改。当 R 随后被删除时,A 中审计记录的存在不允许阻止该删除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与表无关的外键? 的相关文章

随机推荐