it-swarm-eu.dev

Wie soll ich meine Zeitstempelfelder am besten benennen?

Wenn ich Zeitstempelfelder (oder andere Felder im Datums-/Zeitstil) erstellen möchte, wie kann ich sie am besten benennen? Soll ich nur record_timestamp setzen?

61
garik

Sie sollten den Zweck der Spalte und nicht unbedingt den Datentyp beschreiben. Sie können Datum/Uhrzeit/Zeitstempel in den Namen aufnehmen, aber Sie sollten auch die Bedeutung angeben. Zum Beispiel

  • Erstellungsdatum
  • Anfangsdatum
  • StatusTime
  • Zugriff
  • Aktualisiert

Das Hinzufügen von Datum/Uhrzeit/Zeitstempel und dergleichen am Ende ist besonders nützlich, wenn das Fehlen des Hinzufügens mit einer anderen Spalte in Konflikt stehen würde. Beispielsweise benötigt eine Tabelle möglicherweise sowohl einen Status als auch eine StatusTime.

44
Leigh Riffel

Wie wäre es mit xyz_at für ein timestamp und xyz_on für ein date Feld - zB start_at oder start_on?

Normalerweise würde ich es vermeiden, den Datentyp in den Feldnamen aufzunehmen - viel besser, wenn Sie aus dem Namen eines Feldes ableiten können, was Sie über den Typ wissen müssen (ein Feld mit dem Namen description ist wahrscheinlich kein integer) - aber es ist oft hilfreich, den Unterschied zwischen einem timestamp und einem date erkennen zu können.

Ich benutze:

  • hergestellt in
  • aktualisiert am
18
David LeBauer

Ich habe mir Ihr Profil angesehen und es heißt, Sie arbeiten mit SQL Server und in SQL Server hat der Datentyp TIMESTAMP nichts mit Datum oder Uhrzeit zu tun und wird zum Versionsstempeln der Zeilen verwendet. Dies ist sehr nützlich, um festzustellen, welche Zeilen zu einem bestimmten Zeitpunkt geändert wurden.

Wenn Sie TIMESTAMP verwenden, müssen Sie keinen Spaltennamen angeben, und SQL Server erstellt eine Spalte "TimeStamp" für Sie. Es wird jedoch empfohlen, den Datentyp "ROWVERSION" zu verwenden. In diesem Fall müssen Sie den Spaltennamen angeben.

Was ist der beste Name für eine solche Spalte? Es kommt darauf an, und ich würde so etwas wie VersionStamp, RV usw. verwenden. Was ich für wichtig halte, ist NICHT, wie Sie es benennen, sondern verwenden Sie es konsequent auf der ganzen Linie.

HTH

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

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

6
Sankar Reddy

Ich fand, dass mit Spaltennamen wie create_time, update_time und expire_time führt zu einer besseren Lesbarkeit, wenn es um Methodennamen und Spezifikationen (RSpec) geht.

3
Artur Beljajev

Ich bevorzuge bereits vorhandene Konventionen.

Unix und Programmiersprachen haben eine allgemein akzeptierte Konvention von mtime für Änderungszeit

Für die Erstellungszeit

  • BSD und Windows verwenden die Geburtszeit
  • Windows verwendet auch die Erstellungszeit
  • xstat verwendet btime
  • ext4 verwendet crtime
  • JFS und btrfs verwenden otime (fragen Sie nicht und raten Sie "Herkunft").

Also wähle ich für Metadaten mtime und crtime.

Für vom Benutzer bereitgestellte Daten gehe ich mit dem, was das Feld darstellt. Wenn es ein Geburtstag ist, sage ich einfach user_birthday.

Was die Präzision angeht, scheint es für einige zu viel Präzision aufzuhängen. Sie können Ihr birthdate als Zeitstempel speichern (schließlich wurden Sie zu einer Tageszeit technisch geboren), aber die SQL-Spezifikation weist Umwandlungen von höherer Genauigkeit zu niedrigerer Genauigkeit auf, wenn Sie also eine anständige Datenbank verwenden sollte kein Problem sein. In Ihrer App selbst können Sie bei Bedarf jederzeit abschneiden. Das heißt, ich würde niemals gehen birthday_date.

2
Evan Carroll

Um die Konsistenz zwischen den Spaltennamen zu gewährleisten, würde ich Ihnen die folgende Syntax empfehlen:

dateCreated
dateUpdated
dateAccessed
dateStarted
date...
1
Andreas

Ich bevorzuge die Verwendung eines DT-Präfixes für Datumsstempel. Zum Beispiel: DTOpened, DTClosed, DTLastAccessed. Auf diese Weise kann ich alle DTxxxx auflisten, um eine schnelle Referenz aller Datumsstempel in einer bestimmten Tabelle zu erhalten.

Ich arbeite für Texas Instruments und auf ihren Systemen verwenden sie xxxx _dttm

1
Barry McQuery

Befolgen Sie, wie von @Evan Carroll vorgeschlagen, die bestehenden Standards, es sei denn, Sie haben einen starken Grund, das Muster zu brechen.

Wenn dies etwas Neues ist, können Sie jeder Antwort folgen, die am besten zu Ihnen passt.

Ich benutze * _on und * _by, weil es mir hilft, es für wann und wer der Reihe konsistent zu halten:

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

Ich würde ein aussagekräftiges Präfix und _TSMP als Suffix verwenden, z. CREATION_TSMP oder LAST_UPDATE_TSMP

0
Paddy Carroll