it-swarm-eu.dev

Jak mám nejlépe pojmenovat pole pro časové razítko?

Když se snažím vytvořit některá pole pro časové razítko (nebo jiná pole stylu datum/čas), jaký je nejlepší způsob, jak je pojmenovat? Měl bych jen dát record_timestamp?

61
garik

Měli byste popsat účel sloupce a ne nutně typ dat. Do názvu můžete zahrnout datum/čas/časové razítko, ale měli byste také uvést význam. Například

  • Datum vzniku
  • Datum začátku
  • StatusTime
  • Přístup
  • Aktualizováno

Přidání data/času/časového razítka a podobně na konci je zvláště užitečné, když by absence přidávání byla v rozporu s jiným sloupcem. Například tabulka může potřebovat jak Status, tak StatusTime.

44
Leigh Riffel

Co takhle xyz_at pro timestamp a xyz_on pro pole date - např. start_at nebo start_on?

Normálně bych se vyhnul zahrnutí datového typu do názvu pole - mnohem lepší, pokud můžete odvodit to, co potřebujete vědět o typu z názvu jakéhokoli pole (pole nazvané description je nepravděpodobné, že bude integer) - často je však užitečné poznat rozdíl mezi timestamp a date.

Používám:

  • created_at
  • updated_at
18
David LeBauer

Podíval jsem se na váš profil a říká se, že pracujete se serverem SQL Server a v datovém typu TIMESTAMP serveru SQL Server nemá nic společného s datem nebo časem a používá se k jakési verzi razítkování řádků. To je velmi užitečné při určování, které řádky byly změněny z daného časového bodu.

Pokud používáte TIMESTAMP, nemusíte zadávat název sloupce a SQL Server pro vás vytvoří sloupec „TimeStamp“. Doporučuje se však použít datový typ ROWVERSION a v tomto případě musíte zadat název sloupce.

Jaký je nejlepší název tohoto sloupce? Záleží na tom, a já bych použil něco jako VersionStamp, RV atd. ... Co považuji za důležité, NENÍ, jak to pojmenujete, ale používáte to důsledně napříč deskou.

HTH

Odkaz: http://msdn.Microsoft.com/en-us/library/ms182776 (v = sql.90) .aspx

http://msdn.Microsoft.com/en-us/library/ms182776.aspx

6
Sankar Reddy

Zjistil jsem, že pomocí názvů sloupců, například create_time, update_time a expire_time vede k lepší čitelnosti, pokud jde o pojmenování metod a specifikace (RSpec).

3
Artur Beljajev

Dávám přednost použití konvencí, které již existují.

Unix a programovací jazyky mají široce přijímanou konvenci mtime pro čas modifikace

Po dobu vytvoření

  • BSD a Windows používají čas narození
  • Systém Windows také používá čas vytvoření
  • xstat používá btime
  • ext4 používá crtime
  • JFS a btrfs používají otime (neptejte se, hádejte „původ“).

Takže pro mě vybírám mtime a crtime pro meta data.

Pokud jde o data dodaná uživatelem, jdu s tím, co pole představuje. Pokud jsou narozeniny, řeknu jen user_birthday.

Pokud jde o přesnost, u některých se zdá, že je zavěsí na příliš velkou přesnost. Můžete si uložit svůj birthdate jako časové razítko (po tom všem, co jste se technicky narodili v denní době), ale specifikace SQL má obsazení od vyšší přesnosti k nižší přesnosti, takže pokud používáte slušnou databázi, neměl by být problém. V samotné aplikaci můžete vždy podle potřeby zkrátit. To znamená, že bych nikdy nešel birthday_date.

2
Evan Carroll

Abychom zachovali konzistenci mezi názvy sloupců, navrhuji následující syntaxi:

dateCreated
dateUpdated
dateAccessed
dateStarted
date...
1
Andreas

Dávám přednost použití předpony DT pro datová razítka. Například: DTOpened, DTClosed, DTLastAccessed. To mi umožňuje vyjmenovat všechny DTxxxx pro rychlý přehled všech známek data v dané tabulce.

Pracuji pro Texas Instruments a na jejich systémech používají xxxx _dttm

1
Barry McQuery

Jak navrhuje @ Evan Carroll, jděte se stávajícími standardy, pokud nemáte silný důvod prolomit vzor.

Pokud je to něco nového, můžete sledovat jakoukoli odpověď, která vám nejlépe vyhovuje.

Používám * _on a * _by, protože mi to pomáhá udržovat konzistentní, kdy a kdo v řadě:

- created_on & created_by
- updated_on & updated_by
- deleted_on & deleted_by -- soft delete
- approved_on & approved_by
1
Shaunak Sontakke

Jako příponu bych použil smysluplnou předponu a _TSMP CREATION_TSMP nebo LAST_UPDATE_TSMP

0
Paddy Carroll