-1

我正在开发一个数据库模式,并且对正在开发的模式的一部分持观望态度。我有指向某些表的外键,其中很多表都包含指向一个中央表的外键。

我正在设计的两个表,我设置了一个“ID 类型”查找(外键列出 ID 所属的类型/表),然后是 FK ID 值。我想知道我是否应该对所有表外键都这样做,以保持一致。对于这 2 个表,它们可能需要连接到不同的表,具体取决于记录的内容。认为人员与流程的不同方面相关联,因此人员记录将链接回一个表或不同的表,具体取决于他们参与流程的位置。

对于其他表,它们实际上只会链接到那个主要的中央表。我应该直接将显式外键留给该表,还是使其始终成为 ID 类型/表和基于 ID 类型表链接的 FK ID?

如果这没有意义,请告诉我,我会尽力解释得更好。

谢谢!

4

1 回答 1

0

与同事交谈,有人建议我没有外键列,该列基于另一个表标识符列链接到不同的表。显然这会很快变得危险,因为如果人们不小心,ID 可能会错误地链接到错误的表。

建议是有人员表,然后是多个人员交叉引用表,每个数据区域一个人需要链接到的地方。每个 CR 表都有一个非空外键,并且只记录 FK 链接到的 1 个表。还将有一个人员类型 ID,以便一个人可以在需要存在的尽可能多的 CR 中拥有多个类型/卷。

如果有人不同意,我很乐意尽可能多地获得。

于 2017-06-16T19:02:20.140 回答