1

是否将外键设置为父表费用的代理?

因为我必须加入那个父/引用表来显示自然键。

但是为什么最好将外键设置为引用表的代理。

4

1 回答 1

2

从某种意义上说,在某些不需要使用自然键的情况下需要 JOIN (正如您已经指出的那样),这是昂贵的。此外,自然键通常更适合聚类,并且有时对于正确建模菱形依赖关系是必需的。

另一方面,使用“更瘦”的代理键可以节省一些空间并简化更新(尤其是当有多个 FK 级别时)。

这两种方法都不是绝对“更好”的——这是一个妥协的问题。

于 2012-06-05T08:45:29.787 回答