Python, Java, ORACLE/Postgresql
created_at, createdAt, CREATED_AT // Time when the record was created
updated_at, updatedAt, UPDATED_AT // Time when the record was last modified
started_at, startedAt, STARTED_AT // Some other record time
Or
create_time, createTime, CREATE_TIME
update_time, updateTime, UPDATE_TIME
start_time, startTime, START_TIME
您应该描述列的用途,而不必描述数据类型。您可以在名称中包含日期/时间/时间戳,但您也应该包含含义。例如
当添加的缺失与另一列冲突时,在末尾添加日期/时间/时间戳等特别有用。例如,一个表可能需要 Status 和 StatusTime。
xyz_at
对于一个timestamp
和xyz_on
一个字段怎么样date
- 例如start_at
orstart_on
?通常我会避免在字段名称中包含数据类型-如果您可以从任何字段的名称中推断出您需要了解的有关类型的信息(称为字段
description
不太可能是integer
),那就更好了-但能够告诉atimestamp
和 a之间的区别date
通常很有帮助。我用:
我发现在方法命名和规范 (RSpec) 方面使用诸如
create_time
,之类的列名可以提高可读性。update_time
expire_time
我查看了您的个人资料,它说您使用 SQL Server,并且在 SQL Server 中,TIMESTAMP 数据类型与日期或时间无关,它习惯于对行进行标记。这对于识别从给定时间点修改了哪些行非常有用。
如果您使用 TIMESTAMP,那么您不必指定列名,SQL Server 将为您创建一个列“TimeStamp”。但建议使用“ROWVERSION”数据类型,在这种情况下,您必须指定列名。
像这样的列的最佳名称是什么?这取决于,我会使用诸如 VersionStamp、RV 等之类的东西……我认为重要的不是你如何命名它,而是你是否始终如一地使用它。
高温高压
参考: http: //msdn.microsoft.com/en-us/library/ms182776 (v=sql.90).aspx
http://msdn.microsoft.com/en-us/library/ms182776.aspx
没有完全正确的方法可以做到这一点,唯一重要的是在您的代码库和数据库中保持一致,这样开发人员就不会感到困惑。
确切的命名取决于语言约定,但我会选择以下之一:
几乎所有字段都存储为时间戳,有些字段需要作为日期,但通常它们与业务领域更相关,可以根据即将到来的请求命名
以 UTC 格式存储的所有时间戳字段。
我更喜欢使用已经存在的约定。
Unix 和编程语言具有广泛接受的
mtime
修改时间约定对于创作时间,
btime
crtime
otime
(不要问,猜测“起源”)。所以对我来说,我选择
mtime
和crtime
元数据。对于用户提供的数据,我选择该字段所代表的内容。如果是生日,我就说
user_birthday
。就精度而言,对于某些人来说,似乎过于精确了。您可以将您的时间戳存储
birthdate
为时间戳(毕竟从技术上讲,您是在一天中的某个时间出生的),但是 SQL 规范已从高精度转换为低精度,因此如果您使用的是体面的数据库,这应该不是问题. 在您的应用程序本身中,您始终可以在需要时截断。也就是说,我永远不会去birthday_date
。我更喜欢使用 DT 前缀作为日期戳。例如:DTOpened、DTClosed、DTLastAccessed。这让我可以列出所有 DTxxxx,以便快速参考给定表中的所有日期戳。
我在德州仪器工作,他们在他们的系统上使用 xxxx_ dttm
为了保持列名的一致性,我建议您使用以下语法: