Quand je cherche à créer des champs d'horodatage (ou d'autres champs de style de date / heure), quel est le meilleur moyen de les nommer? Devrais-je simplement mettre record_timestamp?
naming-convention
garik
la source
la source
Que diriez-vous
xyz_at
d'untimestamp
etxyz_on
pour undate
domaine - par exemplestart_at
oustart_on
?Normalement, j'éviterais d'inclure le type de données dans le nom du champ - beaucoup mieux si vous pouvez déduire ce que vous devez savoir sur le type à partir du nom de n'importe quel champ (un champ appelé a
description
peu de chances d'être uninteger
) - mais être capable de le dire la différence entre atimestamp
et adate
est souvent utile.la source
J'utilise:
la source
updated_at
pourrait être soit. Mais je pense que la réponse est, comme toujours avec l'attribution de nom, d'utiliser le nom le plus concis qui élimine toute ambiguïté réaliste. C'est-à-dire que si, dans un contexte donné, il existe un risque de confusion, éliminez-la, mais n'utilisez pas de noms plus verbeux que nécessaireJ'ai regardé votre profil et il indique que vous travaillez avec SQL Server et que dans SQL Server, le type de données TIMESTAMP n'a rien à voir avec la date ou l'heure et son type de version estampillant les lignes. Ceci est très utile pour identifier quelles lignes ont été modifiées à partir d'un moment donné.
Si vous utilisez TIMESTAMP, vous n'avez pas besoin de spécifier un nom de colonne et SQL Server créera une colonne "TimeStamp" pour vous. Mais il est recommandé d'utiliser le type de données "ROWVERSION" et dans ce cas, vous devez spécifier le nom de la colonne.
Quel est le meilleur nom pour une colonne comme celle-ci? Cela dépend, et j'utiliserais quelque chose comme VersionStamp, RV, etc. Ce que j'estime important, ce n'est PAS comment vous le nommez, mais vous l'utilisez systématiquement dans tous les domaines.
HTH
Réf.: Http://msdn.microsoft.com/en-us/library/ms182776(v=sql.90).aspx
http://msdn.microsoft.com/en-us/library/ms182776.aspx
la source
J'ai constaté que l'utilisation de noms de colonne tels que
create_time
,update_time
etexpire_time
conduit à une meilleure lisibilité en matière de nommage de méthode et de spécification (RSpec).la source
Je préfère utiliser un préfixe DT pour les horodatages. Par exemple: DTOpened, DTClosed, DTLastAccessed. Cela me permet de répertorier tous les DTxxxx pour une référence rapide de tous les horodatages d'une table donnée.
la source
Je travaille pour Texas Instruments, et sur leurs systèmes, ils utilisent xxxx_ dttm
la source
Je préfère utiliser des conventions existantes.
Unix et les langages de programmation ont une convention largement acceptée de
mtime
pour Modification TimePour le moment de la création,
btime
crtime
otime
(ne demandez pas, devinant "l'origine").Donc, pour moi, je choisis
mtime
, etcrtime
pour les méta-données.Pour les données fournies par l'utilisateur, je vais avec ce que le champ représente. Si c'est un anniversaire, je dis juste
user_birthday
.En ce qui concerne la précision, il semble que, pour certains, il soit trop long. Vous pouvez stocker votre
birthdate
horodatage (après tout, votre naissance technique à une heure de la journée), mais les spécifications SQL prévoient des conversions allant d'une précision supérieure à une précision inférieure. Si vous utilisez une base de données correcte, cela ne devrait pas poser problème. . Dans votre application elle-même, vous pouvez toujours tronquer lorsque vous en avez besoin. C'est-à-dire que je n'irais jamaisbirthday_date
.la source
J'utilisais un préfixe significatif et _TSMP comme suffixe, par exemple CREATION_TSMP ou LAST_UPDATE_TSMP
la source
Afin de maintenir la cohérence entre les noms de colonnes, je vous suggère la syntaxe suivante:
la source
Comme le suggère @Evan Carroll, respectez les normes existantes, à moins que vous n’ayez de bonnes raisons de casser le schéma.
S'il s'agit de quelque chose de nouveau, vous pouvez suivre la réponse qui vous convient le mieux.
J'utilise * _on et * _by car cela m'aide à le garder cohérent pour quand et qui du rang:
la source