मुझे अपने टाइमस्टैम्प फ़ील्ड का सबसे अच्छा नाम कैसे देना चाहिए?


57

जब मैं कुछ टाइमस्टैम्प फ़ील्ड (या अन्य दिनांक / समय शैली फ़ील्ड) बनाना चाह रहा हूं, तो उन्हें नाम देने का सबसे अच्छा तरीका क्या है? क्या मुझे सिर्फ record_timestamp डालना चाहिए?

जवाबों:


42

आपको स्तंभ के उद्देश्य का वर्णन करना चाहिए और जरूरी नहीं कि डेटा प्रकार। आप नाम में दिनांक / समय / टाइमस्टैम्प शामिल कर सकते हैं, लेकिन आपको अर्थ भी शामिल करना चाहिए। उदाहरण के लिए

  • रचना तिथि
  • आरंभ करने की तिथि
  • StatusTime
  • एक्सेस किया गया
  • अपडेट किया गया

जोड़ने की तारीख / समय / टाइमस्टैम्प और इस तरह के अंत में विशेष रूप से उपयोगी है जब जोड़ की अनुपस्थिति किसी अन्य स्तंभ के साथ संघर्ष करेगी। उदाहरण के लिए, एक तालिका को एक स्थिति और एक स्थिति समय दोनों की आवश्यकता हो सकती है।


2
सिर्फ मेरे दो सेंट जोड़ने के लिए। मैंने कई विरासत MRP सिस्टम के साथ काम किया और CreatedOnUtc और UpdatedOnUtc को अक्सर इस्तेमाल किया।
जियोवानी मार्टिनेज

6
मुझे लगता है कि "एक्सेस किया गया" और "अपडेटेड" अस्पष्ट हो सकता है, क्योंकि यह बूलियन (कम से कम रूबी दुनिया में) का अर्थ भी लगा सकता है
आर्टुर बेलजावेव

2
@GeovaniMartinez जो कि बहुत सारे SQL डेटाबेस के रूप में भ्रमित हो सकता है, PostgreSQL शामिल है, UTC पर स्टोर करता है और क्लाइंट के टाइमज़ोन में पढ़ा जाता है।
इवान कैरोल

और अगर टाइम यूनिट को UTC बनाम सिस्टम लोकल माना जाता है, तो कॉलम नाम में _UTC निर्दिष्ट करें। हम सभी का धन्यवाद जो बाद में कोड बनाए रखना चाहिए।
जोनाथन फाइट

पहुँचा और अद्यतन डब्ल्यूएचओ के साथ अस्पष्ट या अद्यतन किया जा सकता है, जो ट्रैक करने के लिए एक काफी सामान्य बात है
जो फिलिप्स

27

कैसे के xyz_atलिए एक के लिए timestampऔर xyz_onएक dateक्षेत्र के लिए - जैसे start_atया start_on?

आम तौर पर मैं फ़ील्ड नाम में डेटा प्रकार को शामिल करने से बचता हूँ - यदि आप किसी भी फ़ील्ड के नाम से टाइप के बारे में जानने की जरूरत है, तो आप बेहतर अनुमान लगा सकते हैं - (कहा जाता descriptionहै कि एक फ़ील्ड होने की संभावना नहीं है integer) - लेकिन बताने में सक्षम a timestampऔर a के बीच का अंतर dateअक्सर मददगार होता है।


16

मैं उपयोग करता हूं:

  • पर बनाया गया
  • updated_at

2
"एट" भी स्थान को प्रभावित कर सकता है। "जब" के बजाय "जब" के बारे में क्या?
सेस्टर

1
"at" या "at at" का उपयोग कानूनी और वित्तीय दस्तावेजों में अक्सर किया जाता है ताकि कुछ हो सके। english.stackexchange.com/questions/112770/…
नील मैकगिगन

3
यह अभी भी अस्पष्ट हो सकता है। क्या होगा यदि आपको अपडेट किए गए समय और स्थान को जानने की आवश्यकता है? updated_atदोनो में से एक हो सकता है। लेकिन मुझे लगता है कि उत्तर हमेशा की तरह नामकरण के साथ है, सबसे संक्षिप्त नाम का उपयोग करें जो सभी यथार्थवादी अस्पष्टता को दूर करता है। Ie यदि किसी विशेष संदर्भ में एक निश्चित भ्रम की संभावना है, तो इसे समाप्त करें, लेकिन उन नामों का उपयोग न करें जो इसके लिए आवश्यक से अधिक
क्रिया हैं

1
कैसे "पर"। हालांकि यह एक समय से अधिक तारीख का तात्पर्य है, यह अभी भी बहुत स्पष्ट है
जो फिलिप्स

6

मैंने आपकी प्रोफ़ाइल को देखा और यह कहता है कि आप SQL सर्वर के साथ काम करते हैं और SQL सर्वर में TIMESTAMP डेटा प्रकार का दिनांक या समय से कोई लेना-देना नहीं है और इसका उपयोग पंक्तियों पर मुहर लगाने वाले संस्करण के लिए किया जाता है। यह पहचानने में बहुत उपयोगी है कि किन पंक्तियों को एक निश्चित समय से संशोधित किया गया है।

यदि आप TIMESTAMP का उपयोग करते हैं तो आपको कॉलम नाम निर्दिष्ट करने की आवश्यकता नहीं है और SQL सर्वर आपके लिए एक कॉलम "टाइमस्टैम्प" बनाएगा। लेकिन "ROWVERSION" डेटा प्रकार का उपयोग करने की अनुशंसा की जाती है और इस मामले में आपको कॉलम नाम निर्दिष्ट करना होगा।

इस तरह के कॉलम के लिए सबसे अच्छा नाम क्या है? यह निर्भर करता है, और मैं वर्जनस्टैंप, आरवी आदि जैसे कुछ का उपयोग करूंगा ... जो मैं महत्वपूर्ण मानता हूं वह यह नहीं है कि आप इसे कैसे नाम दें, लेकिन क्या आप बोर्ड भर में लगातार उपयोग कर रहे हैं।

HTH

Ref: http://msdn.microsoft.com/en-us/library/ms182776(v=sql.90.in.xx

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


3

मैंने पाया कि स्तंभ नाम जैसे कि create_time, update_timeऔर expire_timeजब नामकरण और युक्ति (RSpec) की बात आती है तो बेहतर पठनीयता आती है।


1

मैं तारीख टिकटों के लिए डीटी के एक उपसर्ग का उपयोग करना पसंद करता हूं। उदाहरण के लिए: DTOpened, DTClosed, DTLastAccessed। यह मुझे किसी भी तालिका में सभी दिनांक टिकटों के त्वरित संदर्भ के लिए सभी DTxxxx को सूचीबद्ध करने देता है।


1

मैं टेक्सास इंस्ट्रूमेंट्स के लिए काम करता हूं, और उनके सिस्टम पर वे xxxx_ dttm का उपयोग करते हैं


1

मैं पहले से मौजूद सम्मेलनों का उपयोग करना पसंद करता हूं।

यूनिक्स और प्रोग्रामिंग भाषाओं में संशोधन समय के mtimeलिए एक व्यापक रूप से स्वीकृत सम्मेलन है

निर्माण समय के लिए,

  • बीएसडी और विंडोज जन्म का उपयोग करते हैं
  • विंडोज क्रिएशन टाइम का भी उपयोग करता है
  • xstat उपयोग करता है btime
  • ext4 उपयोग करता है crtime
  • JFS और btrfs उपयोग otimeकरते हैं (पूछें नहीं, "उत्पत्ति" अनुमान लगाते हुए)।

तो मेरे लिए, मैं चुनता हूं mtime, और crtimeमेटा डेटा के लिए।

उपयोगकर्ता द्वारा आपूर्ति किए गए डेटा के लिए, मैं उस क्षेत्र के साथ जाता हूं जो क्षेत्र का प्रतिनिधित्व करता है। अगर यह जन्मदिन है, तो मैं कहता हूं user_birthday

जहाँ तक सटीक है, कुछ के लिए यह उन्हें बहुत अधिक सटीक पर लटका लगता है। आप अपने birthdateटाइमस्टैम्प के रूप में स्टोर कर सकते हैं (आखिरकार आप तकनीकी रूप से दिन के समय पैदा हुए थे), लेकिन एसक्यूएल कल्पना में उच्च परिशुद्धता से लेकर कम सटीकता तक कास्ट होता है, इसलिए यदि आप एक सभ्य डेटाबेस का उपयोग कर रहे हैं तो यह एक मुद्दा नहीं होना चाहिए। । अपने ऐप में ही, जरूरत पड़ने पर आप हमेशा रौंद सकते हैं। यही कहना है, मैं कभी नहीं जाना होगा birthday_date


0

मैं एक प्रत्यय के रूप में एक सार्थक उपसर्ग और _TSMP का उपयोग करता था जैसे कि CREATION_TSMP या LAST_UPDATE_TSMP


0

कॉलम नामों के साथ स्थिरता बनाए रखने के लिए, मैं आपको निम्नलिखित सिंटैक्स का सुझाव दूंगा:

dateCreated
dateUpdated
dateAccessed
dateStarted
date...

0

@ इवान कैरोल द्वारा सुझाव के रूप में, मौजूदा मानकों के साथ जाएं जब तक कि आपके पास पैटर्न को तोड़ने का मजबूत कारण न हो।

यदि यह कुछ नया है तो आप किसी भी उत्तर का अनुसरण कर सकते हैं जो आपको सबसे अच्छा लगता है।

मैं * _on और * _by का उपयोग करता हूं क्योंकि इससे मुझे यह जानने में मदद मिलती है कि कब और कौन पंक्ति के अनुरूप है:

- created_on & created_by
- updated_on & updated_by
- deleted_on & deleted_by -- soft delete
- approved_on & approved_by
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.