Ketika saya mencari untuk membuat beberapa bidang cap waktu (atau bidang gaya tanggal / waktu lainnya), apa cara terbaik untuk menamainya? Haruskah saya meletakkan record_timestamp?
naming-convention
garik
sumber
sumber
Bagaimana dengan
xyz_at
untuktimestamp
danxyz_on
untukdate
bidang - misalnyastart_at
ataustart_on
?Biasanya saya akan menghindari memasukkan tipe data dalam nama bidang - jauh lebih baik jika Anda dapat menyimpulkan apa yang perlu Anda ketahui tentang jenis dari nama bidang apa pun (bidang yang disebut
description
tidak mungkin menjadiinteger
) - tetapi bisa memberi tahu perbedaan antara atimestamp
dan adate
sering kali membantu.sumber
Saya menggunakan:
sumber
updated_at
bisa juga. Tapi saya pikir jawabannya adalah, seperti biasa dengan penamaan, menggunakan nama paling ringkas yang menghilangkan semua ambiguitas realistis. Yaitu jika dalam konteks tertentu ada potensi untuk kebingungan tertentu, hilangkan itu, tetapi jangan menggunakan nama yang lebih bertele-tele daripada yang diperlukan untuk ituSaya melihat profil Anda dan mengatakan Anda bekerja dengan SQL Server dan dalam SQL Server TIMESTAMP tipe data tidak ada hubungannya dengan tanggal atau waktu dan digunakan untuk jenis versi yang menginjak baris. Ini sangat berguna dalam mengidentifikasi baris mana yang telah dimodifikasi dari titik waktu tertentu.
Jika Anda menggunakan TIMESTAMP maka Anda tidak perlu menentukan nama kolom dan SQL Server akan membuat kolom "TimeStamp" untuk Anda. Tetapi disarankan untuk menggunakan tipe data "ROWVERSION" dan dalam hal ini Anda harus menentukan nama kolom.
Apa nama terbaik untuk kolom seperti ini? Itu tergantung, dan saya akan menggunakan sesuatu seperti VersionStamp, RV dll ... Yang saya anggap penting BUKAN bagaimana Anda menyebutkannya tetapi apakah Anda menggunakannya secara konsisten.
HTH
Ref: http://msdn.microsoft.com/en-us/library/ms182776(v=sql.90).aspx
http://msdn.microsoft.com/en-us/library/ms182776.aspx
sumber
Saya menemukan bahwa menggunakan nama kolom seperti
create_time
,update_time
danexpire_time
mengarah pada keterbacaan yang lebih baik ketika datang ke penamaan metode dan spesifikasi (RSpec).sumber
Saya lebih suka menggunakan awalan DT untuk prangko tanggal. Sebagai contoh: DTOpened, DTClosed, DTLastAccessed. Ini memungkinkan saya daftar semua DTxxxx untuk referensi cepat dari semua perangko tanggal dalam tabel yang diberikan.
sumber
Saya bekerja untuk Texas Instruments, dan pada sistem mereka menggunakan xxxx_ dttm
sumber
Saya lebih suka menggunakan konvensi yang sudah ada.
Unix dan bahasa pemrograman memiliki konvensi yang diterima secara luas
mtime
untuk Waktu ModifikasiUntuk waktu pembuatan,
btime
crtime
otime
(jangan tanya, tebak "originasi").Jadi bagi saya, saya memilih
mtime
, dancrtime
untuk data meta.Untuk data yang diberikan pengguna, saya pergi dengan apa yang diwakili bidang tersebut. Jika ini hari ulang tahun, saya katakan saja
user_birthday
.Sejauh presisi, untuk beberapa tampaknya menggantung terlalu banyak presisi. Anda dapat menyimpan Anda
birthdate
sebagai timestamp (setelah semua Anda secara teknis dilahirkan pada waktu hari), tetapi spesifikasi SQL telah dilemparkan dari presisi yang lebih tinggi ke presisi yang lebih rendah sehingga jika Anda menggunakan database yang layak ini seharusnya tidak menjadi masalah . Di aplikasi Anda sendiri, Anda selalu dapat memotong bila diperlukan. Artinya, saya tidak akan pernah pergibirthday_date
.sumber
Saya akan menggunakan awalan yang bermakna dan _TSMP sebagai akhiran misalnya CREATION_TSMP atau LAST_UPDATE_TSMP
sumber
Untuk menjaga konsistensi di antara nama kolom, saya sarankan Anda untuk sintaks berikut:
sumber
Seperti yang disarankan oleh @Evan Carroll, gunakan standar yang ada kecuali Anda memiliki alasan kuat untuk menghentikan polanya.
Jika ini adalah sesuatu yang baru maka Anda dapat mengikuti jawaban apa pun yang paling cocok untuk Anda.
Saya menggunakan * _on dan * _by karena ini membantu saya untuk tetap konsisten untuk kapan dan siapa baris:
sumber