Cuando estoy buscando crear algunos campos de marca de tiempo (u otros campos de estilo de fecha / hora), ¿cuál es la mejor manera de nombrarlos? ¿Debo poner record_timestamp?
naming-convention
Garik
fuente
fuente
¿Qué tal
xyz_at
untimestamp
ayxyz_on
para undate
campo, por ejemplo,start_at
ostart_on
?Normalmente evitaría incluir el tipo de datos en el nombre del campo, mucho mejor si puede inferir lo que necesita saber sobre el tipo a partir del nombre de cualquier campo (
description
es poco probable que un campo llamado sea uninteger
), pero poder saber La diferencia entre aytimestamp
adate
menudo es útil.fuente
Yo suelo:
fuente
updated_at
podría ser cualquiera. Pero creo que la respuesta es, como siempre con los nombres, usar el nombre más conciso que elimine toda ambigüedad realista. Es decir, si en un contexto particular existe la posibilidad de una cierta confusión,Miré tu perfil y dice que trabajas con SQL Server y en el tipo de datos TIMESTAMP de SQL Server no tiene nada que ver con la fecha o la hora y se usa para el tipo de versión que estampa las filas. Esto es muy útil para identificar qué filas se han modificado desde un punto de tiempo dado.
Si usa TIMESTAMP, entonces no tiene que especificar un nombre de columna y SQL Server creará una columna "TimeStamp" para usted. Pero se recomienda utilizar el tipo de datos "ROWVERSION" y en este caso debe especificar el nombre de la columna.
¿Cuál es el mejor nombre para una columna como esta? Depende, y usaría algo como VersionStamp, RV, etc. Lo que considero importante NO es cómo lo nombras, sino que lo usas de manera consistente en todos los ámbitos.
HTH
Ref: http://msdn.microsoft.com/en-us/library/ms182776(v=sql.90).aspx
http://msdn.microsoft.com/en-us/library/ms182776.aspx
fuente
Descubrí que usar nombres de columna como
create_time
,update_time
yexpire_time
conduce a una mejor legibilidad cuando se trata de nombres de métodos y especificaciones (RSpec).fuente
Prefiero usar un prefijo de DT para sellos de fecha. Por ejemplo: DTOpened, DTClosed, DTLastAccessed. Esto me permite enumerar todos los DTxxxx para obtener una referencia rápida de todos los sellos de fecha en una tabla determinada.
fuente
Trabajo para Texas Instruments, y en sus sistemas usan xxxx_ dttm
fuente
Prefiero usar convenciones que ya existen.
Los lenguajes de programación y Unix tienen una convención ampliamente aceptada
mtime
para el tiempo de modificaciónPor tiempo de creación,
btime
crtime
otime
(no preguntar, adivinar "origen").Entonces, para mí, elijo
mtime
ycrtime
para los metadatos.Para los datos proporcionados por el usuario, voy con lo que representa el campo. Si es un cumpleaños, solo digo
user_birthday
.En cuanto a la precisión, para algunos parece colgarlos con demasiada precisión. Puede almacenarlo
birthdate
como una marca de tiempo (después de todo, técnicamente nació en un momento del día), pero la especificación SQL tiene conversiones de mayor precisión a menor precisión, por lo que si está utilizando una base de datos decente, esto no debería ser un problema . En su propia aplicación, siempre puede truncar cuando sea necesario. Es decir, nunca iríabirthday_date
.fuente
Usaría un prefijo significativo y _TSMP como sufijo, por ejemplo, CREATION_TSMP o LAST_UPDATE_TSMP
fuente
Para mantener la coherencia entre los nombres de columna, sugeriría la siguiente sintaxis:
fuente
Como sugiere @Evan Carroll, siga los estándares existentes a menos que tenga una buena razón para romper el patrón.
Si esto es algo nuevo, puede seguir cualquier respuesta que más le convenga.
Uso * _on y * _by porque me ayuda a mantenerlo constante para cuándo y quién de la fila:
fuente