আমাদের দেব গোষ্ঠীতে প্রাথমিক এবং বিদেশী কীগুলির নামকরণ কনভেনশন সম্পর্কিত আমাদের তীব্র বিতর্ক রয়েছে। আমাদের গ্রুপে মূলত দুটি বিদ্যালয় রয়েছে:
1:
Primary Table (Employee)
Primary Key is called ID
Foreign table (Event)
Foreign key is called EmployeeID
বা
2:
Primary Table (Employee)
Primary Key is called EmployeeID
Foreign table (Event)
Foreign key is called EmployeeID
আমি কোনও কলামে টেবিলের নামটি নকল না করা পছন্দ করি (সুতরাং আমি উপরের বিকল্পটি পছন্দ করি)। ধারণাগতভাবে, এটি অন্যান্য ভাষায় প্রচুর প্রস্তাবিত অনুশীলনের সাথে সামঞ্জস্যপূর্ণ যেখানে আপনি তার সম্পত্তির নামগুলিতে বস্তুর নাম ব্যবহার করবেন না। আমি মনে করি যে বিদেশী কীটির নামকরণ EmployeeID(বা Employee_IDআরও ভাল হতে পারে) পাঠককে বলে যে এটি সারণির IDকলাম Employee।
কিছু অন্য বিকল্প 2 পছন্দ করে যেখানে আপনি প্রাথমিক কীটির নাম টেবিলের নামের সাথে উপরিযুক্ত করে রেখেছেন যাতে কলামের নামটি ডাটাবেস জুড়ে একই থাকে। আমি সেই পয়েন্টটি দেখতে পাচ্ছি, তবে আপনি এখন কোনও বিদেশী কী থেকে প্রাথমিক কীটি দৃশ্যত পৃথক করতে পারবেন না।
এছাড়াও, আমি মনে করি এটি কলামের নাম অনুসারে টেবিলের নাম রাখা অপ্রয়োজনীয় কারণ আপনি যদি সারণিকে সত্তা হিসাবে এবং কোনও কলামটিকে সেই সত্তার সম্পত্তি বা বৈশিষ্ট্য হিসাবে মনে করেন তবে আপনি এটির আইডি বৈশিষ্ট্য হিসাবে ভাবেন Employee, না EmployeeIDএকজন কর্মী এর অ্যাট্রিবিউট। আমি যেতে না একটি আমার সহকর্মীকে তার জিজ্ঞাসা PersonAgeবা PersonGenderহয়। আমি তাকে জিজ্ঞাসা করি তার বয়স কী।
সুতরাং আমি যেমন বলেছিলাম, এটি একটি তীব্র বিতর্ক এবং আমরা এটি নিয়ে আরও এগিয়ে চলেছি। আমি কিছু নতুন দৃষ্টিভঙ্গি পেতে আগ্রহী।