假设我的表的名称是
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.
到目前为止,我认为最重要的选择是最好的。标准规定是什么
虽然没有固定的规则,但这些年来我已经学会并使用了一些约定。首先,我避免在表中使用复数名称。这简直令人困惑。在您的示例中,我将表命名为entry
。
那么id将是entry_id
。
在我的约定中,_id指定entry_id是该表的主键,AND通常是一个数字序列号。
我使用的其他主要密钥类型:
- table_code:一个char键
- table_guid:生成的guid
- created_on:创建时间戳
- updated_on:更新时间戳
这表明,当您与另一个表实现外键关系时,键(table_id)来自特定的表,并且如果您使用ER图表工具,它们通常可以很好地与此约定配合使用。
我唯一发现需要重命名外键的时候,是当存在自引用关系时,或者在涉及同一表的多个外键的多对多解析中。通常,这些可以很容易地加上前缀,如下所示:
parent_person_idchild_person_id
总之,我不完全清楚你所说的公众身份是什么意思?如果你的意思是,你有一个候选密钥,那么它的命名方式应该描述列的实际内容。典型的例子是一个人的SSN(社会安全号码)。
标准规定了什么?
我不认为有任何这样的命名标准。你可以根据你的可读性和易用性来命名它。
我更喜欢把它命名为EntryID_public
,但这完全取决于一个人的容易程度和选择。许多人可能会争论,因为他们会发现任何其他公约都更可读。但就命名约定标准而言,没有这样的标准。