复合Primairy Key postgres(一个PK的值相同)

时间:2015-09-20 10:41:05

标签: database postgresql relational-database database-schema postgresql-9.3

我正面临这种情况:

enter image description here

r_owner是表r_contact中的外键。 我想将(iD)“r_contact”和(r_owner)“r_contact”设置为PK。我的问题是,如果我这样做,r_owner可以为r_contact表的不同实例采用相同的值吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

首先,你为什么要这样做?对于主键,ID就足够了,因为它应该是唯一的。此外,它可能需要在两个字段上添加一个额外的索引 - ID和R_Owner(它比ID索引更大)。 您提出的复合密钥通常适用于N对M关系,而不是您的情况。

无论如何,回答你的问题是"是"。您可以在r_contract中使用重复的r_owner值,因为ID是唯一的。