回答:
データ型ではなく、列の目的を説明する必要があります。名前に日付/時刻/タイムスタンプを含めることができますが、意味も含める必要があります。例えば
最後に日付/時刻/タイムスタンプなどを追加すると、追加の不在が別の列と競合する場合に特に役立ちます。たとえば、テーブルにはStatusとStatusTimeの両方が必要な場合があります。
私が使う:
updated_at
どちらかです。しかし、答えは、いつものようにネーミングと同様に、すべての現実的な曖昧さを取り除く最も簡潔な名前を使用することだと思います。つまり、特定のコンテキストで特定の混乱の可能性がある場合は、それを排除しますが、そのために必要とされるより冗長な名前を使用しないでください
私はあなたのプロファイルを調べましたが、SQL Serverで作業し、SQL ServerではTIMESTAMPデータ型は日付や時刻とは関係がなく、行の種類のスタンプに使用されます。これは、特定の時点から変更された行を識別するのに非常に役立ちます。
TIMESTAMPを使用する場合、列名を指定する必要はありません。SQLServerは列 "TimeStamp"を作成します。ただし、「ROWVERSION」データ型を使用することをお勧めします。この場合、列名を指定する必要があります。
このような列に最適な名前は何ですか?それは依存し、VersionStamp、RVなどのようなものを使用します...私が重要だと思うのは、あなたがそれを命名する方法ではなく、一貫してそれを一貫して使用しているということです。
HTH
参照:http : //msdn.microsoft.com/en-us/library/ms182776(v=sql.90).aspx
私は、次のようなカラム名を使用していることを見つけcreate_time
、update_time
そしてexpire_time
それは方法の命名とスペック(RSpecの)になると、より良い可読性につながります。
日付スタンプにDTのプレフィックスを使用することを好みます。例:DTOpened、DTClosed、DTLastAccessed。これにより、特定のテーブル内のすべての日付スタンプのクイックリファレンスのために、すべてのDTxxxxをリストできます。
すでに存在する規約を使用することを好みます。
Unixやプログラミング言語は広く受け入れられているの大会持つmtime
ための修正時間を
作成時間については、
btime
crtime
otime
(「発信元」を推測して尋ねないでください)。だから、私はを選びmtime
、crtime
メタデータを選びます。
ユーザー提供のデータについては、フィールドが表すものを使用します。誕生日の場合、私は言うだけuser_birthday
です。
精度に関しては、一部の人にとっては精度が高すぎると思われます。あなたはbirthdate
タイムスタンプとして保存することができます(一日のうちに技術的に生まれたすべての後) 。アプリ自体で、必要なときにいつでも切り捨てることができます。つまり、私は決して行きませんbirthday_date
。
@Evan Carrollが示唆するように、パターンを破る強い理由がない限り、既存の標準に従ってください。
これが新しいものである場合は、自分に最適な回答に従うことができます。
* _onと* _byを使用するのは、行のいつ誰に対して一貫性を保つのに役立つためです。
- created_on & created_by
- updated_on & updated_by
- deleted_on & deleted_by -- soft delete
- approved_on & approved_by