কলাম নামকরণ নামকরণ কনভেনশন এবং সেরা অভ্যাস


19

কলাম নামকরণের ক্ষেত্রে আমি সেরা অনুশীলনের বিষয়ে কিছু বিশেষজ্ঞের মতামত চাই ।

পটভূমিটি হ'ল উইকিপিডিয়া অনুসারে , নিম্নলিখিত সিনট্যাক্স,

SELECT ... FROM Employees JOIN Timesheets USING (EmployeeID);

তুলনায় আরও দক্ষ

SELECT ... FROM Employees JOIN Timesheets ON (Employees.EmployeeID = Timesheets.EmployeeID);

যাইহোক, JOIN ... USINGসিনট্যাক্স শুধুমাত্র কাজ সব প্রাথমিক কী কলাম সার্বিক অদ্বিতীয় নাম আছে । এইভাবে আমি ভাবছি যদি এটি করণীয়কে সঠিক জিনিস হিসাবে বিবেচনা করা হয়।

ব্যক্তিগতভাবে, আমি সর্বদা পিকে কলাম idএবং বিদেশী কী কলাম দিয়ে সারণী তৈরি করতাম othertable_id। তবে সেভাবে এটি ব্যবহার করা সম্ভব নয় USINGবা NATURAL JOIN

শৈলীর নকশার জন্য কোনও লিঙ্ক বা সারণী নকশার জন্য সেরা অনুশীলন গাইডগুলিরও প্রশংসা করা হবে!


3
উইকিপিডিয়া ভুল। প্রথম সংস্করণটি কোনওভাবেই দ্বিতীয়টির চেয়ে বেশি দক্ষ নয়। হুডের অধীনে ডাটাবেসটি
অবিস্মরণীয়

উত্তর:


13

এটি এসও এর আগে জিজ্ঞাসা করা হয়েছিল।

যেখানে আপনার প্রচলিত এবং অত্যন্ত অস্পষ্ট নাম রয়েছে, তারপরে সারণির নামের সাথে উপসর্গ করুন। এটি হ'ল প্রায় প্রতিটি ক্যোয়ারীতে আপনার কোনও নাম নেই alias

একটি কর্মচারী টেবিলের জন্য আমি চাই

EmployeeID
EmployeeName
Comment
Salary
StartDate
EndDate
InsertedDateTime
...

এবং উইকিপিডিয়া আসলে বলে:

ইউএসইং কনস্ট্রাক্ট নিছক সিনট্যাকটিক চিনির চেয়েও বেশি, যেহেতু ফলাফল সেটটি স্পষ্ট বর্ণের সাথে সংস্করণের ফলাফল সেট থেকে পৃথক। বিশেষত, ইউএসিং তালিকায় উল্লিখিত যে কোনও কলামগুলি যোগদানের প্রতিটি টেবিলের জন্য একবার না করে কেবল একবারই অযোগ্য নাম সহ প্রদর্শিত হবে।

এটি একটি কম কলাম। আপনি কখনই ব্যবহার করবেন SELECT *না তাই পয়েন্টটি মোটা ...


আমি এসও অনুসন্ধান করার কথা ভাবিনি - আমাকে নির্বোধ। বিশেষত কোনও ভাল এসও প্রশ্নের সাথে আপনার কি লিঙ্ক রয়েছে? যাইহোক, ধন্যবাদ, আমি এখন থেকে নামকরণ "অনন্য আইডি" বদ্ধ থাকব!
কেরেক এসবি

@ কের্ক এসবি: আসলে, আমি পাইনি। আমি তাদের এড়িয়ে যাচ্ছি কারণ প্রত্যেকে
প্রত্যুত্তর পেয়ে

আমি অনুরূপ প্রশ্নগুলি এসও তে দেখতে চাই, যদি কেউ লিঙ্কটি খনন করতে পারে। আমি এখানে এসেছি কারণ আমি সেখানে কোনও প্রশ্ন খুঁজে পাইনি এবং আমি নিশ্চিত যে এটি ইতিমধ্যে জিজ্ঞাসা করা হবে। আমি তত্ক্ষণাত্ এই প্রশ্নটি খুঁজে পেয়েছি।
নিকোলাস শ্যাঙ্কস

এটি প্রোগ্রামারস.এসইতে ছিল। আপনার জন্য একটি দুর্দান্ত বড় বান লড়াই ... প্রোগ্রামারস.স্ট্যাকেক্সেঞ্জার.কম
সেকশনস

6

আপনার নীচের বইটি এসকিউএল অ্যান্টিপ্যাটার্ন হিসাবে আইডি ব্যবহার করার বিষয়ে কথা বলেছে এবং আমি এটি লেখকের সাথে সম্মতি জানাই। http://www.amazon.com/SQL-Antipatterns-Programming-Pragmatic-Programmers/dp/1934356557/ref=sr_1_1?s=books&ie=UTF8&qid=1330025134&sr=1-1

এটি জটিল সমস্যা যখন আপনি জটিল প্রতিবেদন করছেন এবং আপনার একাধিক আইডি প্রয়োজন যেমন আপনার উপনামের প্রয়োজন হয়। টেবিলের নাম আইডি ব্যবহার করে সঠিক এফকে যোগ দিতে (যেমন তাদের একই নাম রয়েছে) সনাক্ত করা আরও সহজ করে তোলে এবং ভুল জিনিসটিতে যুক্ত হওয়ার সম্ভাবনা কম হওয়ার সম্ভাবনা থাকে।

এটি বলেছিল যে অনেকগুলি ডাটাবেস ইউএসিং সিনট্যাক্সকে সমর্থন করে না যা সমস্যার ফলে আপনি এই ডাটাবেসগুলির জন্য কোনও সমস্যা তৈরি করেনি many এখন অনেক ডাটাবেসই প্রাকৃতিক যোগদানের সাহায্যে সমর্থন করে না যা আমি যোগ করার পরিবর্তে যে কোনও ক্ষেত্রেই ব্যবহার করার পরামর্শ দিই না change যদি টেবিলের কাঠামো পরিবর্তন হয়। সুতরাং ধরুন আপনি উভয় টেবিলগুলিতে মডিফাইডডেট নামে একটি ক্ষেত্র যুক্ত করেছেন, আপনি এতে যোগ দিতে চাইবেন না তবে প্রাকৃতিক যোগদানটি এটি করবে।


4

কর্মচারীদের মতো স্পষ্টভাবে টেবিলের নাম এবং কলামের নাম দেওয়া ভাল।

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