数据库表公共ID的命名约定是什么

时间:2013-11-30 08:03:37

标签: database-design

假设我的桌子的名字是

Entries

然后表的id列为

EntryID

但公共身份证怎么样?以下是一些替代方案和我的问题:

EntryID_public - postfix should be for content (_on), underscore should be avoided
EntryID_Public - postfix should not have uppercase
EntryIdPublic - could work, but acronyms with two letter should be capitalized according to some.
PublicID - too anonymous column name, no reference to its content
EntryIDPublic - three character acronym, looks bad and is hard to read.

到目前为止,我认为最重要的选择是最好的选择。标准说什么

2 个答案:

答案 0 :(得分:1)

虽然没有固定的规则,但多年来我已经采用并使用了一些惯例。首先,我避免使用多个表名。这简直令人困惑。在您的示例中,我将表格命名为entry

id,将为entry_id

在我的约定中,_id指定entry_id是该表的主键,它通常是一个数字序列号。

我使用的其他主键类型:

  • table_code:一个char键。
  • table_guid:生成的GUID。
  • created_on:创建时间戳
  • updated_on:更新时间戳

这使得在与另一个表实现外键关系时非常清楚,键(table_id)来自特定的表,如果使用ER图表工具,它们通常可以很好地使用此约定。 / p>

我发现需要重命名外键的唯一一次是,当存在自引用关系时,或者在涉及同一表的多个外键的多对多分辨率中。通常这些可以很容易地加上这样的前缀:

parent_person_id child_person_id

总之,我不完全清楚你的公共身份是什么意思?如果您的意思是,您有一个候选键,那么应该以描述该列实际是什么的方式命名。典型的例子是一个人的SSN(社会安全号码)。

答案 1 :(得分:0)

  

标准是什么意思?

我认为没有任何这样的标准来命名它。您可以根据您的可读性和容易程度来命名。

我更喜欢将其命名为EntryID_public,但这完全取决于一个人的容易程度和选择。许多人可能会争辩说,他们会发现任何其他约定更具可读性。但就命名惯例标准而言,没有这样的标准。