ওয়েব অ্যাপ্লিকেশনগুলির জন্য রিলেশনাল ডেটাবেস স্কিমা ডিজাইন করার সময়, আমি প্রায়শই একটি কেস পাই যেখানে আমি কেবল একটি সারি এবং কেবল একটি সারি রাখার জন্য একটি টেবিল তৈরি করি। এটি এটির নকশা করার ভুল উপায় বলে মনে হয় তবে আমি উল্লেখযোগ্যভাবে আরও ভাল কিছু নিয়ে আসতে পারি না বা এটি অবশ্যই "এটি করার সঠিক উপায়"।
সাম্প্রতিক উদাহরণটি এমন একটি সাইট যা ব্যবহারকারীদের হোম পেজে ম্যানুয়ালি সামগ্রী নিয়ন্ত্রণ করতে দেয়। ঠিক আছে, কেবলমাত্র একটি হোম পৃষ্ঠা আছে। আমি একটি টেবিল তৈরি করেছি যার হোমপেজ তৈরির জন্য সমস্ত প্রয়োজনীয় ক্ষেত্র রয়েছে যেমন বর্ণনামূলক পাঠ্য রয়েছে এমন কোনও অঞ্চলের জন্য একটি পাঠ্য ক্ষেত্র। একটি বড় চিত্র ফাইলের নাম সঞ্চয় করার ক্ষেত্র। কিছু বিদেশী কীগুলি নিবন্ধগুলি নির্দেশ করে যা হোমপেজে প্রদর্শিত হবে ইত্যাদি It এটি কাজ করে তবে কেবল এক সারি দিয়ে একটি টেবিল রাখা ভুল বলে মনে হয়।
অতীতে আমি অন্যান্য অনেক ডিজাইনের চেষ্টা করেছি যেমন হোমপেজ টেবিলে একাধিক সারিকে মঞ্জুরি দেওয়া এবং এলোমেলোভাবে একটি নির্বাচন করা। আমি "সক্রিয়" নামে একটি বুলিয়ান ক্ষেত্র যুক্ত করার চেষ্টা করেছি এবং এলোমেলোভাবে সক্রিয় হোমপেজগুলির মধ্যে একটি নির্বাচন করার চেষ্টা করেছি। আমি প্রয়োগের যুক্তিতে যে কোনও সময় সক্রিয় হতে শুধুমাত্র একটি সারি জোর করে চেষ্টা করেছি। এমনকি হোমপেজ টেবিল তৈরি না করে এবং অন্যান্য সমস্ত আইটেম যেমন নিবন্ধগুলির মতো বৈশিষ্ট্যযুক্ত_অন_পৃষ্ঠার মতো বুলিয়ান ক্ষেত্র রাখার চেষ্টা করেছি।
বেশিরভাগ ক্ষেত্রে আমি সেটিংস ফাইলে একগুচ্ছ কনস্ট্যান্ট সহ হোমপেজটি তৈরি করতে পারি। সেটিংস ফাইলটির প্রধান সমস্যা হ'ল এটি বিকাশকারী নিয়ন্ত্রণে রয়েছে। যেহেতু হোমপেজের বিষয়বস্তুগুলির মতো কিছু ব্যবহারকারীর দ্বারা সম্পাদনা করা যেতে পারে, এটি ডেটাবেসে যেতে হবে।
অনেক সাইটে আমার এই সমস্যা নেই কারণ আমি পাঁচটি নতুন নিবন্ধ নির্বাচন করার মতো কোনও প্রশ্নের সাথে হোমপেজের মতো জিনিসগুলি তৈরি করতে পারি। তবে যখন আমার কাছে এমন পৃষ্ঠা রয়েছে যা ম্যানুয়ালি কঠোর প্রয়োজনীয়তার সাথে সজ্জিত হয়, তখন এটি ডাটাবেসে মডেল করা কৃপণ হয়ে ওঠে। তবে ভাবুন আপনার কাছে একটি ফটো টেবিল এবং একটি নিবন্ধের টেবিল রয়েছে। প্রয়োজনটি হ'ল হোমপেজটি হ'ল পাঁচটি ফটো, হুবহু তিনটি নিবন্ধ এবং ব্যবহারকারী দ্বারা নিয়ন্ত্রিত নির্বিচারে পাঠ্যের দুটি ব্লক প্রদর্শন করবে। আপনি কিভাবে সঠিকভাবে ডাটাবেসে মডেল করবেন?
এছাড়াও, কেবল হোমপেজ ছাড়াও অন্যান্য অনেক ক্ষেত্রে আমার এই মডেলিংয়ের সমস্যা রয়েছে। এটি কেবলমাত্র সবচেয়ে সহজ এবং সর্বাধিক প্রয়োগযোগ্য উদাহরণ যা আমি সামনে আসতে পারি।