2

有人可以告诉我是否可以将外键用作表中的主键?

例如,我有一个作为主键的PATIENT表,我还希望有一个外键作为表的主键(其中包含患者的生命体征)。没问题还是会产生问题?PATIENT_IDPATIENT_IDASSESSMENT

4

5 回答 5

4

只要你能保持一对一的关系就可以了。数据库端没有限制

于 2012-12-24T13:15:21.030 回答
1

是的,外键可以作为表中的主键。

于 2012-12-24T13:17:21.620 回答
1

没问题还是会产生问题?

我会说没关系。这产生的一个小问题可能是它让你需要问这个问题。因此,如果你真的想了解更多,你应该问问自己为什么不确定,这样你才能真正学到一些东西。

于 2012-12-24T13:17:40.170 回答
1

这称为一对一关系。

没问题还是会产生问题?

只要您有充分的理由将数据保存在两个表中,就可以了。

于 2012-12-24T15:58:14.530 回答
0

外键的先决条件是作为外键的列必须是两个表中的键。所以从这个角度来看,你是绝对安全的。唯一可能出现的问题是应用程序的未来发展,当您可能需要在 2 个表之间建立一对多关系时,在这种情况下使用这种方法非常糟糕。稍后在数据库级别更改此行为并不难,但在应用程序级别可能会非常棘手。

老实说,我非常怀疑您是否需要在两张表之间实际使用外键,因为 id 将始终相同,这违背了外键的目的。此外,大多数主键通常是自动递增的,这对您而言并非如此,这可能会导致未来开发中的其他问题。

于 2012-12-24T15:58:22.307 回答