Pet*_*ger 42 database sql-server naming-conventions
DATETIME列的命名约定是什么(在我的例子中,使用MS SQL Server)
对于存储行创建时的列,CreatedDatetime有意义,或LastModifiedDatetime.
但是对于一个简单的表,让我们说一个名为Event的表,你会创建一个名为:
EventID, // Primary key
EventDatetime, // When the event is happening
EventEnabled // Is the event is on
Run Code Online (Sandbox Code Playgroud)
要么
ID, // Primary key
Datetime, // When the event is happening
Enabled // Is the event is on
Run Code Online (Sandbox Code Playgroud)
如果您既不使用约定:请提供您将使用的列名称.
Ste*_*ven 81
我通常将DATETIME列命名为 ACTION_WORD_on: created_on, completed_on, etc.
在ACTION_WORD定义了什么的列表示,和后缀(_on)指示该列表示时间.
其他后缀(或者甚至前缀)可以被用于指定的数据类型(_at,_UTC,when_等).
具有描述性.始终如一.
Phi*_*ley 14
当你不使用EventIDInt或EventEnbaledVarchar时,为什么称它为EventDateTime?为什么要包含列名中的数据类型?(我的经验法则是,如果他们访问表中的数据,他们更好地知道列数据类型是什么,'否则他们不知道他们正在使用什么.)
这些天我更喜欢我认为的描述性列名,例如:
CreateDate
DateCreated
CreatedAt
CreatedOn(如果没有时间部分)
AddedOn(可能是semanitcally更合适,具体取决于数据)
选择一个"标签"并在每个需要该类数据的表中一致地使用它也是一件好事.例如,在(几乎)每个表中都有一个"CreateDate"列很好,因为这样你就会知道每个表中的哪一列会告诉你何时创建了一行.不要挂断"但他们都必须有独特的名字"的说法; 如果您正在编写查询,则最好知道从哪个表中提取每个列.
- 编辑 -
我刚刚回忆起我过去做过的一个例外.如果DateTime(或SmallDateTime)列不包含时间部分,只包含日期,作为"提醒"我将"日期"放在列名中,例如"BilledDate"而不是"Billed"或"BilledOn".在追踪添加行时,这不应该适用,因为您也需要时间.
Cha*_*ana 13
名称应该传达数据的业务含义在列中..."DateTime"只是数据的类型.事件发生的时候?什么时候录制?什么时候存储在DB中?上次修改数据时?
如果它有效地传达了列包含的含义,那么名称就可以了."DateTime"不太好."EventDateTime"只是略微好一些.如果表保存事件,则表中的任何datetime字段都是EventDateTime(它记录与事件相关的某些日期时间).虽然如果"事件"表中只有一个日期时间列,那么EventDateTime意味着它发生在事件发生时,所以这可能没问题.
选择或选择名称,以便传达价值的含义 ......
鉴于编辑过的问题,一些建议的名称可能是:
发生,或发生事件,或发生事件,或发生事件,或者,如果业务模型中的事件有持续时间,则可能是StartedUtc,BeganUtc或InitiatedUtc等.
| 归档时间: |
|
| 查看次数: |
14812 次 |
| 最近记录: |