8

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

4

5 回答 5

15

无论你做什么,选择一个或另一个并坚持这个标准。 每个都有优点和缺点。

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

于 2012-05-03T18:07:21.633 回答
13

这是个人喜好。归根结底,这完全没有区别。我个人更喜欢使用,Id因为我发现引用字段(比如说Customer表格和Id字段)Customer.CustomerId很麻烦,Customer.Id似乎更有意义。

于 2012-05-03T18:07:44.503 回答
5

一个偏好问题;但是,在表之间进行连接时,使用 (something)ID 的好处是列名变得不那么模棱两可了。

于 2012-05-03T18:10:04.570 回答
1

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

在读取和编写代码时,为 id 添加相关上下文的前缀可能会很有帮助,尤其是在连接来自多个表和外键的数据时可以提高可读性。

于 2012-05-03T18:09:09.243 回答
-3

我建议您对长名称使用缩写,user_id对常规表使用 (something)Id (like )。所以供表customer_company_relation_metadata使用ccm_id。但它也很好id

于 2012-05-03T18:07:55.640 回答