我想知道在具有许多表的数据库中命名主键/唯一键的最佳做法是什么。您应该总是只调用每个表的主键id
,还是可以在每个表中没有id
字段而只命名每个表something1_id
,something2_id
等等?
问问题
9336 次
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 回答