মঙ্গোডিবি-র নামকরণ কনভেনশন কী কী?


186

মঙ্গোডিবি এনটাইটেল যেমন ডাটাবেস, সংগ্রহ, ক্ষেত্রের নামগুলির জন্য পছন্দের নামকরণের একটি সেট আছে?

আমি এই লাইন বরাবর চিন্তা ছিল:

  • ডাটাবেসগুলি: উদ্দেশ্যটি (এককথায় শব্দ) নিয়ে গঠিত হয় এবং "ডিবি" দিয়ে শেষ হয় - সমস্ত নিম্নতর ক্ষেত্রে: ইমেজডেব, রেজোমেব, মেম্বারডিবি ইত্যাদি etc.
  • সংগ্রহ: নিম্ন ক্ষেত্রে বহুবচন: চিত্র, পুনরায় শুরু,
  • দস্তাবেজ ক্ষেত্র: লোয়ারকামেলকেস, উদাহরণস্বরূপ সদস্যপৃষ্ঠা নাম, ফাইলনাম, ইত্যাদি,

উত্তর:


126
  1. Keep'em সংক্ষিপ্ত: ছোট এর নিখুঁত সংগ্রহস্থল অবজেক্টস , সার্ভার-863 । বোকা তবে সত্য।

  2. আমি অনুমান করি যে সম্পর্কের ডাটাবেসের ক্ষেত্রে প্রযোজ্য একই বিধিগুলি এখানে প্রয়োগ করা উচিত। এবং এত দশক পরে এখনও আরডিবিএমএস টেবিলগুলির নাম একক বা বহুবচন করা উচিত কিনা সে বিষয়ে কোনও চুক্তি হয়নি ...

  3. মঙ্গোডিবি জাভাস্ক্রিপ্ট কথা বলে, সুতরাং উট কেসের জেএস নামকরণের কনভেনশনগুলি ব্যবহার করুন।

  4. মঙ্গোডিবি অফিসিয়াল ডকুমেন্টেশনে উল্লেখ করা হয়েছে আপনি আন্ডারস্কোর ব্যবহার করতে পারেন, বিল্ট-ইন আইডেন্টিফায়ারের নামও দেওয়া হয়েছে _id(তবে এটি এমন হতে পারে যে _idএটি ব্যক্তিগত, অভ্যন্তরীণ, কখনই প্রদর্শিত বা সম্পাদিত নয়।


95
3 এবং 4 এক ধরণের পরস্পরবিরোধী - জেএস ক্যামিটকে পছন্দ করে, মঙ্গো আন্ডারস্কোর পছন্দ করে বলে মনে হয় ... তবে সন্দেহ হলে, আন্ডারস্কোরগুলিতে যান। ল্যাটিন-বর্ণমালায় অভ্যস্ত লোকেরা আপনাকে ধন্যবাদ জানাবে।
ম্যাট জুকোভস্কি

1
একক বনাম বহুবচন বিতর্কের জন্য এই প্রশ্নটি দেখুন: স্ট্যাকওভারফ্লো
জেসন

4
আমি নিশ্চিত না যে আমি "জেএস ​​পছন্দসই ক্যামেলকেস" বলব। জেএসের নিজস্ব কোনও পছন্দ নেই, তবে এটি সম্ভবত সত্য যে বেশিরভাগ জেএস প্রোগ্রামারদের উটের ক্ষেত্রে ব্যবহার করার প্রবণতা রয়েছে।
গাছের পৃষ্ঠ

1
@ ট্রিফেস আমি মনে করি ম্যাট জেএস-এর অন্তর্নির্মিত পদ্ধতিগুলি নোড এবং ব্রাউজার উভয় ক্ষেত্রেই উটকেস ব্যবহারের সত্যটি উল্লেখ করছিল
লূক টেলর

1
অন্তর্নির্মিত শনাক্তকারী _idসম্ভবত একটি সাধারণ জাভাস্ক্রিপ্ট কনভেনশন অনুসরণ করতে আন্ডারস্কোর দিয়ে উপসর্গযুক্ত থাকে যা নির্দেশ করে যে কীটি অভ্যন্তরীণ / ব্যক্তিগত কী হিসাবে বোঝানো হয়েছিল। অন্য কথায়, এটি _idকোনও সংগ্রহের ডেটা দেখার জন্য কাউকে সম্পাদনা বা উপস্থাপনের উদ্দেশ্যে নয়।
বিউ স্মিথ

56

তথ্যশালা

  • ক্যামেলকেস
  • নামের শেষে ডিবি যুক্ত করুন
  • একবচন করুন (সংগ্রহ বহুবচন)

মঙ্গোডিবি একটি দুর্দান্ত উদাহরণ বলেছে:

ব্যবহারের জন্য একটি ডাটাবেস নির্বাচন করতে, মঙ্গো শেলের মধ্যে, <d> বিবৃতিটি নিম্নোক্ত উদাহরণ হিসাবে প্রকাশ করুন:

MyDB
ব্যবহার করুন myNewDB

সামগ্রীগুলি থেকে: https://docs.mongodb.com/manual/core/databases-and-collections/# ডেটাবেস

সংগ্রহগুলি

  • ছোট হাতের নাম: কেস সংবেদনশীলতা সমস্যাগুলি এড়ায়, মঙ্গোডিবি সংগ্রহের নামগুলি কেস সংবেদনশীল।

  • বহুবচন: কোন কিছুর সংগ্রহকে বহুবচন হিসাবে লেবেল করা আরও স্পষ্টত উদাহরণস্বরূপ, "ফাইল" এর চেয়ে "ফাইল"

  • > কোনও শব্দ বিভাজক নেই: বিভিন্ন ব্যক্তি (ভুলভাবে) আলাদা শব্দ (ব্যবহারকারীর নাম <-> ব্যবহারকারীর নাম,
    প্রথম নাম <-> প্রথম নাম) এড়িয়ে চলে । এই
    চারপাশে কয়েকটি লোকের মতে এটি বিতর্কের পক্ষে রয়েছে তবে প্রদত্ত শর্তটি সংগ্রহের নামগুলিকে আলাদা করে দেওয়া হয়েছে বলে মনে করি এটি হওয়া উচিত নয়;) যদি আপনি নিজেকে
    সংগ্রহের আন্ডারস্কোর যোগ করে বা
    উটকে আবদ্ধ করে আপনার সংগ্রহের নামটির পাঠযোগ্যতা উন্নতি করে দেখেন তবে নামটি সম্ভবত খুব দীর্ঘ বা
    কাল হিসাবে যথাযথ হিসাবে ব্যবহার করা উচিত যা সংগ্রহের
    শ্রেণিবদ্ধকরণের মান ।

  • উচ্চতর বিশদ সংগ্রহের জন্য ডট স্বরলিপি: সংগ্রহ কীভাবে সম্পর্কিত তা সম্পর্কে কিছুটা ইঙ্গিত দেয়। উদাহরণস্বরূপ আপনি যুক্তিসঙ্গতভাবে নিশ্চিত হতে পারেন যে আপনি "ব্যবহারকারীদের" মুছে ফেলতে পারবেন যদি আপনি "ব্যবহারকারীদের" মুছে ফেলেন, স্কিমার ডিজাইনকারী লোকেরা একটি ভাল কাজ করেছেন তবে।

থেকে সামগ্রী: http://www.tutespace.com/2016/03/schema-design-and-naming-conventions-in.html

সংগ্রহের জন্য আমি প্রস্তাবিত নিদর্শনগুলি অনুসরণ করছি যতক্ষণ না আমি অফিশিয়াল মঙ্গোডিবি ডকুমেন্টেশন না পাই।


25

এমনকি এ সম্পর্কে কোনও কনভেনশন নির্দিষ্ট না করা থাকলেও ম্যানুয়াল রেফারেন্সগুলি এক-এক সম্পর্কের জন্য মঙ্গো নথিভুক্ত রেফারেন্স সংগ্রহের নামে ধারাবাহিকভাবে নামকরণ করা হয়। নাম সর্বদা কাঠামো অনুসরণ করে<document>_id

উদাহরণস্বরূপ, কোনও dogsসংকলনে, কোনও নথিতে বাইরের নথির মতো ম্যানুয়াল উল্লেখ থাকতে পারে:

{
  name: 'fido',
  owner_id: '5358e4249611f4a65e3068ab',
  race_id: '5358ee549611f4a65e3068ac',
  colour: 'yellow'
  ...
}

এটি _idপ্রতিটি নথির জন্য শনাক্তকারীর নামকরণের মঙ্গো সম্মেলন অনুসরণ করে।


1
আমি আমার উত্তরে উটকেস এর উল্লেখ করিনি, তাই আমি ব্যবহার করবowner_id
ডানজা

7

সংগ্রহের জন্য নামকরণের সম্মেলন

সংগ্রহের নাম দেওয়ার জন্য কয়েকটি সতর্কতা অবলম্বন করতে হবে:

  1. খালি স্ট্রিং ("") সহ একটি সংগ্রহ বৈধ সংগ্রহের নাম নয়।
  2. কোনও সংগ্রহের নামটিতে নাল অক্ষর থাকা উচিত নয় কারণ এটি সংগ্রহের নামের শেষ সংজ্ঞা দেয়।
  3. সংগ্রহের নামটি "সিস্টেম" উপসর্গ দিয়ে শুরু করা উচিত নয়। এটি অভ্যন্তরীণ সংগ্রহের জন্য সংরক্ষিত reserved
  4. সংগ্রহের নামে "$" অক্ষরটি না রাখাই ভাল হবে কারণ ডাটাবেসের জন্য উপলব্ধ বিভিন্ন ড্রাইভার সংগ্রহের নামে "$" সমর্থন করে না।

    একটি ডাটাবেস নাম তৈরি করার সময় যে বিষয়গুলি মনে রাখা উচিত তা হ'ল:

  5. খালি স্ট্রিং ("") সহ একটি ডাটাবেস একটি বৈধ ডাটাবেসের নাম নয়।
  6. ডাটাবেসের নাম 64৪ বাইটের বেশি হতে পারে না।
  7. ডেটাবেসটির নাম কেস-সংবেদনশীল, এমনকি কেস-সংবেদনশীল ফাইল সিস্টেমগুলিতেও। এইভাবে ছোট ক্ষেত্রে নাম রাখা ভাল।
  8. একটি ডাটাবেস নামের মধ্যে এই অক্ষরগুলির মধ্যে "/, \,।,", *, <,>,:, |,?, Characters, "থাকতে পারে না। এটিতে একটি একক স্থান বা নাল অক্ষরও থাকতে পারে না।

আরও তথ্যের জন্য. দয়া করে নীচের লিঙ্কটি দেখুন: http://www.tutespace.com/2016/03/schema-design-and-naming-conventions-in.html


3

আমি মনে করি এটি সমস্ত ব্যক্তিগত পছন্দ। আমার পছন্দগুলি এসকিউএল সার্ভারের সাথে .NET- এ NHibernate ব্যবহার করা থেকে আসে, তাই তারা সম্ভবত অন্যরা যা ব্যবহার করেন তার থেকে পৃথক।

  • ডাটাবেসগুলি: যে অ্যাপ্লিকেশনটি ব্যবহৃত হচ্ছে .. প্রাক্তন: স্ট্যাকওভারফ্লো
  • সংগ্রহগুলি: নামে এককুলার, এটি কী হতে চলেছে এর একটি সংগ্রহ, প্রাক্তন: প্রশ্ন
  • নথির ক্ষেত্রগুলি, প্রাক্তন: সদস্যপত্রে নাম

সত্যিই, যতক্ষণ না এটি প্রকল্পের জন্য সামঞ্জস্য থাকে তত বেশি পরিমাণে আসে না। শুধু কাজ করতে যান এবং বিশদ ঘামবেন না: পি


1
আমি মনে করি যে যার পরিণতি হতে পারে তা হ'ল ডকুমেন্ট ক্ষেত্র, যেহেতু সেগুলি প্রতিটি নথির ভিতরেই সংরক্ষণ করা হবে। টমসজ যেমন উল্লেখ করেছেন, এগুলি সংক্ষিপ্ত রাখার সাথে স্থান / ব্যান্ডউইথের সাশ্রয় হওয়া উচিত। যদিও আমি মনে করি এটি এমন কি আরও গুরুত্বপূর্ণ যে আপনি এমন কিছু ব্যবহার করুন যা এটি বোঝার পক্ষে সহজ করে তোলে।
রেক্স মরগান

2

যতক্ষণ না আমরা সার্ভার -863 ফিল্ডের নামগুলি যতটা সম্ভব সংক্ষিপ্ত রাখার পরামর্শ দেওয়া হয় বিশেষত যেখানে আপনার প্রচুর রেকর্ড রয়েছে।

আপনার ব্যবহারের ক্ষেত্রে উপর নির্ভর করে ফিল্ডের নামগুলি স্টোরেজটিতে বিশাল প্রভাব ফেলতে পারে। এটি কেন মঙ্গোডিবির পক্ষে উচ্চ অগ্রাধিকার নয় তা বুঝতে পারবেন না কারণ এটি সমস্ত ব্যবহারকারীর উপর ইতিবাচক প্রভাব ফেলবে। আর কিছু না হলে, আমরা আমাদের ফিল্ডের নামগুলি নিয়ে ব্যান্ডউইথ এবং স্টোরেজ ব্যয়ের জন্য দু'বার চিন্তা না করে আরও বর্ণনামূলক হতে শুরু করতে পারি।

দয়া করে ভোট দিন


কেবলমাত্র এই উত্তরটির ভবিষ্যতের সম্ভাব্য পাঠকদের আপডেট করার জন্য, মঙ্গোডিবি আজকাল সংকোচনের কাজ করে, তাই দীর্ঘ ক্ষেত্রের নামগুলি আসলে কোনও সমস্যা নয়।
হুব্রো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.