Réponses:
Vous devez décrire le but de la colonne et pas nécessairement le type de données. Vous pouvez inclure la date, l'heure et l'horodatage dans le nom, mais vous devez également inclure le sens. Par exemple
L'ajout de date / heure / horodatage et ainsi de suite à la fin est particulièrement utile lorsque l'absence de l'ajout serait en conflit avec une autre colonne. Par exemple, une table peut nécessiter à la fois un statut et un statut.
Que diriez-vous xyz_at
d'un timestamp
et xyz_on
pour un date
domaine - par exemple start_at
ou start_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 un integer
) - mais être capable de le dire la différence entre a timestamp
et a date
est souvent utile.
J'utilise:
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écessaire
J'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
J'ai constaté que l'utilisation de noms de colonne tels que create_time
, update_time
et expire_time
conduit à une meilleure lisibilité en matière de nommage de méthode et de spécification (RSpec).
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.
Je travaille pour Texas Instruments, et sur leurs systèmes, ils utilisent xxxx_ dttm
Je préfère utiliser des conventions existantes.
Unix et les langages de programmation ont une convention largement acceptée de mtime
pour Modification Time
Pour le moment de la création,
btime
crtime
otime
(ne demandez pas, devinant "l'origine").Donc, pour moi, je choisis mtime
, et crtime
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 jamais birthday_date
.
J'utilisais un préfixe significatif et _TSMP comme suffixe, par exemple CREATION_TSMP ou LAST_UPDATE_TSMP
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:
- created_on & created_by
- updated_on & updated_by
- deleted_on & deleted_by -- soft delete
- approved_on & approved_by