有人可以告诉我,是否可以将外键作为表中的主键?
示例是,我有一个PATIENT
表,其中PATIENT_ID
为主键,我还希望将PATIENT_ID
作为外键,同时使用主键到ASSESSMENT
表(包含患者的生命体征)。可以,还是会产生问题?
答案 0 :(得分:4)
只要您可以保持1比1的关系,那就没问题。 数据库方面没有限制
答案 1 :(得分:1)
是的外键可以作为表中的主键。
答案 2 :(得分:1)
可以或者是否会产生问题?
我会说没关系。这产生的一个小问题可能是它让你需要提问。所以,如果你真的想要了解更多,你应该问问自己为什么不确定具体的事情,这样你才能真正学到一些东西。
答案 3 :(得分:1)
这称为一对一关系。
可以或者是否会产生问题?
只要您有充分的理由将数据保存在两个表中,就可以了。
答案 4 :(得分:0)
外键的先决条件是作为外键的列需要是两个表中的键。所以从这个角度来看,你是完全安全的。可能引发的唯一问题是应用程序的未来发展,当您可能需要在两个表之间存在一对多关系时,在这种情况下使用此方法非常糟糕。稍后在数据库级别上更改此行为并不是很困难,但在应用程序级别可能会非常棘手。
老实说,我非常怀疑你需要在两个表之间实际使用外键,因为id总是相同的,这种方法会破坏外键的用途。此外,大多数主键通常是自动递增的,而您的情况并非如此,这可能会导致未来发展中出现其他问题。