我想知道在具有许多表的数据库中命名主键/唯一键的最佳做法是什么。您是否应该始终只是调用每个表的主键id
,或者可以在每个表中都没有id
字段,只需为每个表something1_id
,something2_id
等命名?
答案 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
也很好