想象一下,我有一个具有以下依赖关系的表:
(名称、BoughtFrom、TimeBought)-> 成本
其中粗体的三个属性构成表的复合主键。现在,我想从另一个表链接(形成关系)到这个表。我怎么做?如果我有一个 ID 列,我会知道该怎么做,但我从来没有遇到过这样的场景。
我是否必须将所有三列添加(Name, BoughtFrom, TimeBought)
到另一个表中?还是有其他方法?
想象一下,我有一个具有以下依赖关系的表:
(名称、BoughtFrom、TimeBought)-> 成本
其中粗体的三个属性构成表的复合主键。现在,我想从另一个表链接(形成关系)到这个表。我怎么做?如果我有一个 ID 列,我会知道该怎么做,但我从来没有遇到过这样的场景。
我是否必须将所有三列添加(Name, BoughtFrom, TimeBought)
到另一个表中?还是有其他方法?
是的,您将添加所有三列。假设它们在两个表中具有相同的名称,您将使用类似
如果您决定使用代理 ID 号,您仍然需要对 {Name, BoughtFrom, TimeBought} 进行唯一约束。你可以用这些方法来做到这一点。
代理键不必是ID 号。它不必是任何类型的数字。但是自动递增的 ID 号是最常见的。
替代手段代替。代理键(如 ID 号)代替自然键。有点像代母代替亲生母亲。