定义复合主键的最佳方法

时间:2016-09-05 03:56:37

标签: sql postgresql

我会创建一个带有主键,名称和密码的用户表。我希望users表中的所有名称都是唯一的。 这是最好的方法。

  1. 将(id,name)定义为复合主键。

  2. 定义(id) - >主键和名称 - >独特的关键。

  3. 你为什么选择其他人?

1 个答案:

答案 0 :(得分:2)

没有最好的"方式,虽然很多人会试着告诉你有。

你可以使用一个人工密钥,比如你的id字段,它通常是一个整数,或一个自然键,它将是你的名字字段。

您选择哪一个主要是个人偏好。各自有利有弊,但两者都建立了成功的应用程序。搜索"人工与自然键"找到无数关于哪个是最好的辩论。

然而,没有必要创建一个ID字段,然后制作一个复合主键 - 单独使用ID字段,并在名称上创建一个唯一索引,或者使用名称字段并且不要使用名称字段。打扰一个id。