如何正确命名记录创建(插入)日期时间字段?

时间:2010-03-16 17:55:44

标签: sql sql-server database-design naming-conventions naming

如果我创建一个包含datetime default getdate()字段的表格,用于保留记录插入的日期和时间,哪个名称最适合用于该字段?

我喜欢使用Created,我看到有人使用DateCreatedCreateDate

我能想到的其他候选人包括:CreatedDateCreateTimeTimeCreatedCreateDateTimeDateTimeCreatedRecordCreated,{ {1}},Inserted,...

从我的观点来看,任何名称中的日期内容看起来很糟糕,因为如果我有2个字段InsertedDateCreateDate,它可能会与日期部分混淆,所以我想知道是否有任何字段该领域的具体建议/标准基于真实原因,而不仅仅是风格,情绪或一致性。

当然,如果有100个现有表,这是表101,那么为了保持一致性,我将使用与这100个表中使用的相同的命名约定,但是这个问题是关于第一个服务器中的第一个数据库中的第一个表第一次申请。

6 个答案:

答案 0 :(得分:8)

为什么不在CreatedCreatedOn上使用plain。 Windows操作系统对文件使用三个日期属性。

Created:
Modified:
Accessed:

因此,如果您愿意,可以尝试保留这种惯例。

答案 1 :(得分:5)

我倾向于InsertedDateTimeInsertedBy(和Updated%Affected%进行间接更新,Deleted%进行逻辑删除)。

OperationDateTime一般的auidt表

如果我只存储日期,则为StartDate。同样,时间只有BookedTime

另一个规则是避免“SQL”团队,因此添加/更改而不是插入/更新。我继承了Inserted / Updated并且它至少是一致的

保持一致:Created%Inserted% Added%混合{{1}}

答案 2 :(得分:2)

我总是在这些情况下使用CreatedDate,并为其他日期提供模板:UpdatedDateDeletedDatePurchasedDate等等。

答案 3 :(得分:1)

对于数据库中列的名称,我喜欢created_at

对于我的代码中使用的对象中的属性名称,我喜欢createdAt


不确定是否有任何“官方”方式来命名那种字段 - 但这是PHP中使用良好的ORM的默认名称,即使对于我不使用该约定的项目,我也保留了该约定。

答案 4 :(得分:0)

我总是使用这些列名:

CreateDate  --when they did it
CreateID    --who who did it

LastChgDate --when they did it
LastChgID   --who who did it

答案 5 :(得分:0)

文件属性中的Windows使用

DateCreated
DateModified

所以我认为这还不错。