উত্তর:
আপনার কলামের উদ্দেশ্যটি বর্ণনা করা উচিত এবং প্রয়োজনীয়ভাবে ডেটা ধরণের নয়। আপনি নামের সাথে তারিখ / সময় / টাইমস্ট্যাম্প অন্তর্ভুক্ত করতে পারেন তবে আপনার অর্থটিও অন্তর্ভুক্ত করা উচিত। উদাহরণ স্বরূপ
তারিখ / সময় / টাইমস্ট্যাম্প এবং এর শেষে এগুলি যুক্ত করা বিশেষত কার্যকর যখন সংযোজন না হওয়া অন্য কলামের সাথে বিরোধ করবে would উদাহরণস্বরূপ, একটি সারণীতে স্ট্যাটাস এবং স্ট্যাটাসটাইম উভয়ের প্রয়োজন হতে পারে।
কেমন xyz_at
একটি জন্য timestamp
এবং xyz_on
একটি date
ক্ষেত্র - যেমন start_at
বা start_on
?
সাধারণত আমি ক্ষেত্রের নামের সাথে ডেটা টাইপকে অন্তর্ভুক্ত করে এড়াতে চাই - আপনি যদি কোনও ক্ষেত্রের নাম থেকে প্রকারটি সম্পর্কে যা জানতে চান তা নির্ধারণ করতে পারেন তবে (ক্ষেত্র নামক ক্ষেত্রটি description
সম্ভবত এটি হওয়ার সম্ভাবনা নেই integer
) - তবে বলতে সক্ষম হচ্ছেন একটি মধ্যে পার্থক্য timestamp
এবং date
প্রায়ই সহায়ক।
আমি ব্যবহার করি:
updated_at
হয় হতে পারে। তবে আমি মনে করি উত্তরটি বরাবরের মতোই উত্তরটি হ'ল সর্বাধিক সংক্ষিপ্ত নাম ব্যবহার করুন যা সমস্ত বাস্তববাদী অস্পষ্টতা দূর করে। উদাহরণস্বরূপ, যদি কোনও নির্দিষ্ট প্রসঙ্গে নির্দিষ্ট বিভ্রান্তির সম্ভাবনা থাকে তবে এটিকে নির্মূল করুন, তবে যে
আমি আপনার প্রোফাইলে দেখেছি এবং এটিতে বলা হয়েছে যে আপনি এসকিউএল সার্ভারের সাথে কাজ করেন এবং এসকিউএল সার্ভারে টাইমস্ট্যাম্প ডেটা টাইপের কোনও তারিখ বা সময় এবং কোনও সারণী মুদ্রাঙ্কনের সংস্করণ ব্যবহারের সাথে কোনও সম্পর্ক নেই। কোন নির্দিষ্ট সময় থেকে কোন সারিগুলি পরিবর্তন করা হয়েছে তা চিহ্নিত করতে এটি খুব কার্যকর useful
আপনি যদি টাইমস্ট্যাম্প ব্যবহার করেন তবে আপনাকে কোনও কলামের নাম নির্দিষ্ট করতে হবে না এবং এসকিউএল সার্ভার আপনার জন্য একটি কলাম "টাইমস্ট্যাম্প" তৈরি করবে। তবে "রাউভারশন" ডেটা টাইপ ব্যবহার করার পরামর্শ দেওয়া হচ্ছে এবং এই ক্ষেত্রে আপনাকে কলামের নামটি নির্দিষ্ট করতে হবে।
এর মতো কলামের সেরা নাম কী? এটি নির্ভর করে এবং আমি ভার্সন স্ট্যাম্প, আরভি ইত্যাদির মতো কিছু ব্যবহার করবো ... আমি যা গুরুত্বপূর্ণ মনে করি তা হল এটির নাম আপনি কীভাবে রাখছেন তা নয় তবে আপনি বোর্ডের ক্রমাগত এটি ব্যবহার করছেন।
আছে HTH
তথ্যসূত্র: http://msdn.microsoft.com/en-us/library/ms182776(v=sql.90).aspx
আমি দেখেছি যে কলাম নামে যেমন ব্যবহার create_time
, update_time
এবং expire_time
ভাল পাঠযোগ্যতা বাড়ে যখন এটি পদ্ধতি নামকরণ এবং চশমা (RSpec) আসে।
আমি তারিখের ডাকটিকিটের জন্য ডিটির একটি উপসর্গ ব্যবহার করতে পছন্দ করি। উদাহরণস্বরূপ: ডিটিওপেনড, ডিটিসি ক্লোজড, ডিটিলাস্ট অ্যাক্সেসড। এটি আমাকে প্রদত্ত টেবিলের সমস্ত তারিখ স্ট্যাম্পগুলির দ্রুত রেফারেন্সের জন্য সমস্ত ডিটিএক্সএক্সএক্সএক্সএক্সএক্স তালিকাবদ্ধ করতে দেয়।
আমি টেক্সাস উপকরণগুলির জন্য কাজ করি এবং তাদের সিস্টেমে তারা xxxx_ dttm ব্যবহার করে
আমি ইতিমধ্যে বিদ্যমান সম্মেলন ব্যবহার পছন্দ করি prefer
ইউনিক্স এবং প্রোগ্রামিং ভাষার সংশোধন সময়েরmtime
জন্য একটি বহুল স্বীকৃত কনভেনশন রয়েছে
সৃষ্টি সময়ের জন্য,
btime
crtime
otime
(জিজ্ঞাসা করবেন না, "উত্স" অনুমান করে)।সুতরাং আমার জন্য, আমি বাছাই করি mtime
, এবং crtime
মেটা ডেটার জন্য।
ব্যবহারকারীর সরবরাহিত ডেটার জন্য, আমি ক্ষেত্রটি যা উপস্থাপন করে তা দিয়ে যাই। যদি এটি জন্মদিন হয়, আমি কেবল বলি user_birthday
।
যথার্থতা হিসাবে, কারও কারও কাছে এটি অত্যধিক নির্ভুলতার সাথে আটকে রয়েছে বলে মনে হয়। আপনি আপনার birthdate
টাইমস্ট্যাম্প হিসাবে সংরক্ষণ করতে পারেন (সর্বোপরি আপনি এক সময় প্রযুক্তিগতভাবে বার্থড হয়েছিলেন) তবে এসকিউএল স্পেকের উচ্চতর নির্ভুলতা থেকে নিম্ন নির্ভুলতা পর্যন্ত কাস্ত রয়েছে যাতে আপনি যদি কোনও শালীন ডাটাবেস ব্যবহার করেন তবে এটি কোনও সমস্যা হবে না should । আপনার অ্যাপ্লিকেশনটিতেই, আপনি যখন প্রয়োজন তখন সর্বদা ছাঁটাই করতে পারেন। তা বলতে গেলে আমি কখনই যেতাম না birthday_date
।
আমি প্রত্যয় হিসাবে একটি অর্থবোধক উপসর্গ এবং _TSMP ব্যবহার করতাম যেমন CREATION_TSMP বা LAST_UPDATE_TSMP
কলামের পুরো নাম জুড়ে ধারাবাহিকতা বজায় রাখার জন্য, আপনাকে নীচের বাক্য গঠনের পরামর্শ দিচ্ছি:
dateCreated
dateUpdated
dateAccessed
dateStarted
date...
@ ইভান ক্যারোলের পরামর্শ অনুসারে, প্যাটার্নটি ভাঙার দৃ strong় কারণ না থাকলে বিদ্যমান মানগুলি নিয়ে যান।
এটি যদি নতুন কিছু হয় তবে আপনি যে কোনও উত্তর অনুসরণ করতে পারেন যা সেরা আপনার পক্ষে উপযুক্ত।
আমি * _অন এবং * _বি ব্যবহার করি কারণ এটি কখন এবং কাদের সারি জন্য এটি ধারাবাহিক রাখতে আমাকে সহায়তা করে:
- created_on & created_by
- updated_on & updated_by
- deleted_on & deleted_by -- soft delete
- approved_on & approved_by