表不可知的外键?

OOP*_*Man 3 orm rdbms foreign-keys

首先,我确实读过这个StackOverflow问题,所以不需要指向我.

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

ID,EntityID,EntityTypeID,ActionTypeID,DateTime

现在,正如您可以猜到的,EntityID的通用特性意味着进出该表的外键关系很难管理,特别是通过ORM系统进入混合.

当然,grunt-work解决方案是手动执行所需的查询并使用ORM工作的东西,我很好.

但是,这个问题在我的脑海中确实提出了一个问题,即是否存在允许形式的外键关系的任何RDBMS:表:要定义的ID.

换句话说,在这样的RDBMS中,EntityTypeID列可能包含诸如的值

'TableA:1'和'TableB:somekey'

所以...

有没有RDBMS这样做?

Jon*_*ler 5

审计表通常不能对它们具有参照完整性约束.审计表A在某些表T中记录有关一行数据R的信息,并包含R的一系列记录,每个记录在某个不同的时间表示R. 当随后修改R时,A中的信息不会改变,并且不允许更改为R.当R随后被删除时,A中的审计记录的存在不允许停止该删除.