いくつかのタイムスタンプフィールド(または他の日付/時刻スタイルフィールド)を作成する場合、それらに名前を付けるための最良の方法は何ですか? record_timestampを置くだけですか?
列の目的を説明する必要がありますが、必ずしもデータ型を説明する必要はありません。名前には日付/時刻/タイムスタンプを含めることができますが、意味も含める必要があります。例えば
最後に日付/時刻/タイムスタンプなどを追加すると、追加がないと別の列と競合する場合に特に便利です。たとえば、テーブルにはStatusとStatusTimeの両方が必要な場合があります。
timestamp
の場合はxyz_at
、date
フィールドの場合はxyz_on
-start_at
やstart_on
などはどうですか?
通常、フィールド名にデータ型を含めることは避けます。フィールドの名前から型について知る必要があるものを推測できる場合(description
と呼ばれるフィールドがinteger
である可能性は低いです)-できることtimestamp
とdate
の違いを知ることは、多くの場合役立ちます。
私が使う:
私はあなたのプロファイルを調べましたが、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)が読みやすくなることがわかりました。
既存の規則を使用することをお勧めします。
Unixとプログラミング言語には、広く受け入れられているmtime
の規則があります変更時間
作成時間については、
btime
を使用しますcrtime
を使用しますotime
を使用します(質問しないで、「元の場所」と推測してください)。つまり、私はmtime
を選択し、crtime
をメタデータに選択します。
ユーザーが入力したデータについては、フィールドが何を表すかを説明します。誕生日ならuser_birthday
。
精度に関しては、あまりに多くの精度でハングアップしているように見える場合があります。 birthdate
をタイムスタンプとして保存できますが(技術的にはある時刻に出生した後)、SQL仕様では高精度から低精度にキャストされるため、適切なデータベースを使用している場合は問題ではないはずです。アプリ自体では、必要なときにいつでも切り捨てることができます。つまり、私は決して行きませんbirthday_date
。
列名全体の一貫性を維持するために、次の構文をお勧めします。
dateCreated
dateUpdated
dateAccessed
dateStarted
date...
私は日付スタンプにDTのプレフィックスを使用することを好みます。たとえば、DTOpened、DTClosed、DTLastAccessedなどです。これにより、すべてのDTxxxxを一覧表示して、特定のテーブル内のすべての日付スタンプをすばやく参照できます。
私はテキサス・インスツルメンツで働いており、彼らのシステムではxxxx _dttmを使用しています。
@Evan Carrollが示唆しているように、パターンを破る強い理由がない限り、既存の標準を使用してください。
これが新しい何かであるならば、あなたはあなたに最も合っているどんな答えでも従うことができます。
* _onと* _byを使用するのは、行のいつ、誰に対しても一貫性を保つのに役立つためです。
- created_on & created_by
- updated_on & updated_by
- deleted_on & deleted_by -- soft delete
- approved_on & approved_by
私は意味のある接頭辞と_TSMPを接尾辞として使用しました。 CREATION_TSMPまたはLAST_UPDATE_TSMP