it-swarm.asia

كيف يمكنني تسمية حقول الطابع الزمني بشكل أفضل؟

عندما أتطلع إلى إنشاء بعض حقول الطابع الزمني (أو حقول نمط التاريخ/الوقت الأخرى) ، ما هي أفضل طريقة لتسمية هذه الحقول؟ هل يجب أن أضع Record_timestamp فقط؟

61
garik

يجب أن تصف الغرض من العمود وليس نوع البيانات بالضرورة. يمكنك تضمين التاريخ/الوقت/الطابع الزمني في الاسم ، ولكن يجب عليك أيضًا تضمين المعنى. فمثلا

  • تاريخ الإنشاء
  • تاريخ البدء
  • الوقت
  • تم الوصول إليه
  • محدث

تعتبر إضافة التاريخ/الوقت/الطابع الزمني وما شابه ذلك في النهاية مفيدة بشكل خاص عندما يتعارض غياب الإضافة مع عمود آخر. على سبيل المثال ، قد يحتاج الجدول إلى حالة و StatusTime.

44
Leigh Riffel

ماذا عن xyz_at لـ timestamp و xyz_on لحقل date - مثل start_at أو start_on؟

عادةً ما أتجنب تضمين نوع البيانات في اسم الحقل - أفضل كثيرًا إذا استطعت استنتاج ما تحتاج إلى معرفته عن النوع من اسم أي حقل (من غير المحتمل أن يكون الحقل المسمى description هو integer) - ولكن القدرة على معرفة الفرق بين timestamp و date غالبًا ما تكون مفيدة.

31
Jack says try topanswers.xyz

أنا أستعمل:

  • أنشئت في
  • تم التحديث في
18
David LeBauer

نظرت إلى ملفك الشخصي وتقول أنك تعمل مع SQL Server وفي نوع بيانات TIMESTAMP في SQL Server لا علاقة له بالتاريخ أو الوقت وتستخدمه لنوع من ختم الصفوف. هذا مفيد جدًا في تحديد الصفوف التي تم تعديلها من نقطة زمنية معينة.

إذا كنت تستخدم TIMESTAMP ، فلن تضطر إلى تحديد اسم عمود وسيعمل SQL Server على إنشاء عمود "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_time ، update_time و expire_time يؤدي إلى سهولة القراءة عندما يتعلق الأمر بطريقة التسمية والمواصفات (RSpec).

3
Artur Beljajev

أفضل استخدام الاصطلاحات الموجودة بالفعل.

لدى يونكس ولغات البرمجة اصطلاح مقبول على نطاق واسع من 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 للحصول على مرجع سريع لجميع طوابع التاريخ في جدول معين.

1
Michael Riley - AKA Gunny

أنا أعمل لصالح شركة Texas Instruments ، وعلى أنظمتهم يستخدمون 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
Shaunak Sontakke

كنت أستخدم بادئة ذات معنى و _TSMP كلاحقة مثل CREATION_TSMP أو LAST_UPDATE_TSMP

0
Paddy Carroll