PostgreSQL নামকরণ কনভেনশন সম্পর্কে আমি কোথায় বিশদ ম্যানুয়াল পাই? (টেবিলের নাম বনাম উটের ক্ষেত্রে, ক্রমগুলি, প্রাথমিক কীগুলি, সীমাবদ্ধতাগুলি, সূচিপত্রগুলি ইত্যাদি ...)
PostgreSQL নামকরণ কনভেনশন সম্পর্কে আমি কোথায় বিশদ ম্যানুয়াল পাই? (টেবিলের নাম বনাম উটের ক্ষেত্রে, ক্রমগুলি, প্রাথমিক কীগুলি, সীমাবদ্ধতাগুলি, সূচিপত্রগুলি ইত্যাদি ...)
উত্তর:
সারণীর নাম, কেস ইত্যাদি সম্পর্কিত প্রচলিত সম্মেলনটি হ'ল:
UPPER CASE
lower_case_with_underscores
UPDATE my_table SET name = 5;
এটি পাথরে লেখা নেই, তবে ছোট ক্ষেত্রে সনাক্তকারীদের সম্পর্কে বিটটি সুপারিশ করা হয়, আইএমও। পোস্টগ্র্যাস্কল শনাক্তকারীদের কেসকে সংবেদনশীলতার সাথে বিবেচনা করে যখন উদ্ধৃতি না দেওয়া হয় (এটি প্রকৃতপক্ষে অভ্যন্তরীণভাবে তাদের ছোট করে রাখবে), এবং উদ্ধৃত করার সময় সংবেদনশীলভাবে কেস; অনেকে এই কৌতূহল সম্পর্কে সচেতন নন। সর্বদা ছোট হাতের ব্যবহার করে আপনি নিরাপদ। যাইহোক, এটি গ্রহণযোগ্য camelCase
বা PascalCase
(বা UPPER_CASE
), যতক্ষণ আপনি সুসংগত হয়: হয় হয় শনাক্তকারীদের সর্বদা বা কখনও না (এবং এর মধ্যে স্কিমা তৈরি অন্তর্ভুক্ত রয়েছে!)।
আমি আরও অনেক কনভেনশন বা স্টাইল গাইড সম্পর্কে অবগত নই। সারোগেট কীগুলি সাধারণত একটি সিকোয়েন্স থেকে তৈরি করা হয় (সাধারণত serial
ম্যাক্রো সহ), আপনি যদি হাত দ্বারা তৈরি করেন তবে এই সিকোয়েন্সগুলির জন্য সেই নামকরণের সাথে লেগে থাকা সুবিধাজনক হবে tablename_colname_seq
।
আরও দেখুন কিছু আলোচনা এখানে , এখানে এবং (সাধারণ এসকিউএল জন্য) এখানে বিভিন্ন সংশ্লিষ্ট লিঙ্ক সহ, সব।
দ্রষ্টব্য: Postgresql 10 সিরিয়ালেরidentity
জন্য এসকিউএল-কমপ্লায়েন্ট রিপ্লেসমেন্ট হিসাবে কলামগুলি চালু করেছে ।
সত্যই কোনও আনুষ্ঠানিক ম্যানুয়াল নেই, কারণ কোনও একক স্টাইল বা মান নেই।
এতক্ষণ আপনি সনাক্তকারী নামকরণের নিয়মগুলি বুঝতে পারলে আপনি যা খুশি তা ব্যবহার করতে পারেন।
অনুশীলনে, আমি এটি ব্যবহার করা সহজ lower_case_underscore_separated_identifiers
বলে মনে করি কারণ "Double Quote"
কেস, স্পেসস ইত্যাদি সংরক্ষণের জন্য সর্বত্র তাদের প্রয়োজন হয় না
আপনি যদি নিজের টেবিলগুলি এবং ফাংশনগুলির নাম রাখতে "@MyAṕṕ! ""betty"" Shard$42"
চান তবে আপনি তা করতে নির্দ্বিধায় থাকবেন, যদিও সর্বত্র এটি টাইপ করতে ব্যথা হবে।
মূল বিষয়গুলি বুঝতে হবে:
ডাবল-কোট না করা হলে শনাক্তকারীরা লোয়ার-কেস-এ ভাঁজ করা হয়, তাই MyTable
, MYTABLE
এবং mytable
সমস্ত একই জিনিস, তবে "MYTABLE"
এবং "MyTable"
পৃথক;
ডাবল কোট না করা:
এসকিউএল শনাক্তকারী এবং মূল শব্দের অবশ্যই একটি অক্ষর দিয়ে শুরু করা উচিত (এজেড, তবে ডায়াক্রিটিকাল চিহ্ন এবং ল্যাটিন-অক্ষর সহ বর্ণগুলি) বা আন্ডারস্কোর (_)। সনাক্তকারী বা মূল শব্দের পরবর্তী অক্ষরগুলি বর্ণগুলি, আন্ডারস্কোরগুলি, অঙ্কগুলি (0-9), বা ডলার চিহ্ন (signs) হতে পারে।
আপনি কীওয়ার্ডগুলিকে সনাক্তকারী হিসাবে ব্যবহার করতে চাইলে আপনাকে অবশ্যই দ্বিগুণ-উদ্ধৃতি দিতে হবে।
অনুশীলনে আমি দৃ strongly়ভাবে প্রস্তাব দিচ্ছি যে আপনি কীওয়ার্ড সনাক্তকারী হিসাবে ব্যবহার করবেন না । অন্তত সংরক্ষিত শব্দ এড়িয়ে চলুন। আপনি কেবল কোনও টেবিলের নাম রাখতে পারেন তার অর্থ এই নয় যে আপনার উচিত।"with"
lower_case_underscore_separated_identifiers
" ... সম্প্রতি, আমি এটি "সাপের কেস" হিসাবে বর্ণিত শুনেছি