在SQL中命名主键“id”与“something_id”

时间:2012-05-03 18:05:13

标签: mysql sql naming-conventions primary-key

我想知道在具有许多表的数据库中命名主键/唯一键的最佳做法是什么。您是否应该始终只是调用每个表的主键id,或者可以在每个表中都没有id字段,只需为每个表something1_idsomething2_id等命名?

5 个答案:

答案 0 :(得分:15)

无论你做什么,选择其中一个并坚持这个标准。每个都有利弊。

我更喜欢SomethingID,但其他人更喜欢ID。在我使用的系统中,有超过一千个表,并且PK和FK具有完全相同的名称使事情变得更容易。

答案 1 :(得分:8)

这是个人喜好。在一天结束时,它完全没有区别。我个人更喜欢只使用Id,因为我发现该字段(假设Customer表和Id字段)Customer.CustomerId很麻烦,Customer.Id似乎更有意义。

答案 2 :(得分:5)

是一个偏好的问题;但是,当你在表之间进行连接时,使用(某些)ID会有一个优点,即列名变得不那么模糊。

答案 3 :(得分:1)

id只是一个方便的约定 - 只要您将其声明为关键字段,就可以调用该字段。

在读取和编写代码时,使用相关上下文对id进行前缀可能会有所帮助,尤其是在从多个表和外键加入数据时提高可读性。

答案 4 :(得分:-2)

我建议你使用长名称的缩写,并对常规表使用(某些)Id(如user_id)。因此,对于表格customer_company_relation_metadata,请使用ccm_id。但是使用id也很好