web-dev-qa-db-ja.com

タイムスタンプフィールドに最適な名前を​​付けるにはどうすればよいですか?

いくつかのタイムスタンプフィールド(または他の日付/時刻スタイルフィールド)を作成する場合、それらに名前を付けるための最良の方法は何ですか? record_timestampを置くだけですか?

61
garik

列の目的を説明する必要がありますが、必ずしもデータ型を説明する必要はありません。名前には日付/時刻/タイムスタンプを含めることができますが、意味も含める必要があります。例えば

  • 作成日
  • 開始日
  • StatusTime
  • アクセス
  • 更新しました

最後に日付/時刻/タイムスタンプなどを追加すると、追加がないと別の列と競合する場合に特に便利です。たとえば、テーブルにはStatusとStatusTimeの両方が必要な場合があります。

44
Leigh Riffel

timestampの場合はxyz_atdateフィールドの場合はxyz_on-start_atstart_onなどはどうですか?

通常、フィールド名にデータ型を含めることは避けます。フィールドの名前から型について知る必要があるものを推測できる場合(descriptionと呼ばれるフィールドがintegerである可能性は低いです)-できることtimestampdateの違いを知ることは、多くの場合役立ちます。

私が使う:

  • created_at
  • updated_at
18
David LeBauer

私はあなたのプロファイルを調べましたが、SQL Serverで作業していて、SQL ServerのTIMESTAMPデータ型は日付や時刻とは関係なく、バージョンに行をスタンプするために使用されています。これは、特定の時点から変更された行を識別するのに非常に役立ちます。

TIMESTAMPを使用する場合、列名を指定する必要はありません。SQLServerが列「TimeStamp」を作成します。ただし、「ROWVERSION」データ型を使用することをお勧めします。この場合、列名を指定する必要があります。

このような列に最適な名前は何ですか?それは場合によって異なり、VersionStamp、RVなどのようなものを使用します。私が重要だと考えるのは、どのように名前を付けるかではなく、全体で一貫してそれを使用していますか。

HTH

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

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

6
Sankar Reddy

create_timeupdate_timeexpire_timeなどの列名を使用すると、メソッドの名前と仕様(RSpec)が読みやすくなることがわかりました。

3
Artur Beljajev

既存の規則を使用することをお勧めします。

Unixとプログラミング言語には、広く受け入れられているmtimeの規則があります変更時間

作成時間については、

  • BSDとWindowsは誕生時間を使用
  • Windowsも作成時間を使用
  • xstatはbtimeを使用します
  • ext4はcrtimeを使用します
  • JFSとbtrfsはotimeを使用します(質問しないで、「元の場所」と推測してください)。

つまり、私はmtimeを選択し、crtimeをメタデータに選択します。

ユーザーが入力したデータについては、フィールドが何を表すかを説明します。誕生日ならuser_birthday

精度に関しては、あまりに多くの精度でハングアップしているように見える場合があります。 birthdateをタイムスタンプとして保存できますが(技術的にはある時刻に出生した後)、SQL仕様では高精度から低精度にキャストされるため、適切なデータベースを使用している場合は問題ではないはずです。アプリ自体では、必要なときにいつでも切り捨てることができます。つまり、私は決して行きませんbirthday_date

2
Evan Carroll

列名全体の一貫性を維持するために、次の構文をお勧めします。

dateCreated
dateUpdated
dateAccessed
dateStarted
date...
1
Andreas

私は日付スタンプにDTのプレフィックスを使用することを好みます。たとえば、DTOpened、DTClosed、DTLastAccessedなどです。これにより、すべてのDTxxxxを一覧表示して、特定のテーブル内のすべての日付スタンプをすばやく参照できます。

私はテキサス・インスツルメンツで働いており、彼らのシステムではxxxx _dttmを使用しています。

1
Barry McQuery

@Evan Carrollが示唆しているように、パターンを破る強い理由がない限り、既存の標準を使用してください。

これが新しい何かであるならば、あなたはあなたに最も合っているどんな答えでも従うことができます。

* _onと* _byを使用するのは、行のいつ、誰に対しても一貫性を保つのに役立つためです。

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

私は意味のある接頭辞と_TSMPを接尾辞として使用しました。 CREATION_TSMPまたはLAST_UPDATE_TSMP

0
Paddy Carroll