你能有2个外键而没有主键吗?

Tom*_*Tom 5 database-design relational-database

我有一个简单的数据库,我正在两个表之间建立关系。所以我有第三个表,它们被链接在一起。第三个表需要主键吗?因为我所需要的只是将两个表链接在一起,并为其他内容添加一个额外的列。

Chr*_*ung 4

您所描述的表类型有时称为连接表。您可以在要加入的列之间创建一个主键,这既是为了唯一性,也是因为它更有可能被索引以获得更好的性能。

  • 除非您打算允许重复的行,否则您当然应该有一个密钥。出于数据完整性和简单可用性的合理原因,允许表中存在重复行通常不是一个好主意!唯一性约束只是键约束的另一个名称(假设相关列不可为空,因为否则唯一性不一定是强制执行的)。 (2认同)