"সংগ্রহস্থল প্যাটার্ন" ডাটাবেস ডিজাইনের জন্য আপনি কোন তাত্ত্বিক ভিত্তি খুঁজে পেয়েছেন? আমি অনুমান করছি না। এটি একটি জটিলতার স্তর যা একটি বগাস ভিত্তিতে বিশ্রাম নিচ্ছে: যে "দৃistence়তা স্তর" এমন একটি জিনিস যা থেকে আপনাকে বিচ্ছিন্ন করা দরকার। আমি যা বলতে পারি তা থেকে, এটি সম্পর্কিত প্রোগ্রামিংয়ের নীতিগুলি সম্পর্কে ব্যাপক প্রোগ্রামিং অজ্ঞতা এবং অ্যাপ্লিকেশনটির ও ও ডিজাইনের একটি অনুমিত কেন্দ্রে মনোনিবেশ করে। তবে এটি তাত্ত্বিক, ভিত্তি ছেড়ে দেওয়া যুক্তিসঙ্গত উপর তার অস্তিত্বের ন্যায্যতা দেয় না।
30 বছরের মধ্যে ডাটাবেস ডিজাইনের ওয়ান ট্রু পাথ পরিবর্তিত হয়নি: ডেটা বিশ্লেষণ করুন। কী এবং সীমাবদ্ধতা এবং একাধিক এক সম্পর্ক Find বয়েস-কোডড সাধারণ ফর্ম অনুযায়ী আপনার টেবিলগুলি ডিজাইন করুন। ডেটা অ্যাক্সেসের সুবিধার্থে দর্শন এবং সঞ্চিত পদ্ধতি ব্যবহার করুন।
এটি প্রচ্ছন্ন না হলেও এটি একটি এসকিউএল ডিবিএমএস প্রোগ্রামার সরবরাহ করতে পারে তার চেয়ে আরও ভাল বিচ্ছিন্ন স্তর সরবরাহ করে। এটি সত্য যে ডাটাবেসগুলি অ্যাক্সেস করার জন্য ব্যবহৃত এসকিউএল পরিবর্তন করার সাথে সাথে এর পরিবর্তন হতে পারে। তবে মনে রাখবেন যে মধ্যস্থতা স্তর আছে কিনা তা নির্বিশেষে এটি সত্য । অ্যাপ্লিকেশন যতক্ষণ না ডিবিএমএস অ্যাক্সেস করার জন্য দর্শন এবং সঞ্চিত পদ্ধতি ব্যবহার করে, সাধারণ এসকিউএল ইঞ্জিনিয়ারিং সরঞ্জামগুলি অন্তর্নিহিত ডাটাবেসে পরিবর্তনগুলি যখন এই দর্শনগুলি এবং সঞ্চিত পদ্ধতিগুলিকে অকার্যকর করে তা নির্দেশ করবে।
এতে অবশ্যই চ্যালেঞ্জ রয়েছে। একটি মধ্যস্থতা স্তর বিচ্ছিন্নতার বিভ্রম এবং রাইটিং কোডের প্রোগ্রামারকে স্বাচ্ছন্দ্য সরবরাহ করে, যা তিনি কীভাবে করতে জানেন। ডাটাবেস ডিজাইন এবং এসকিউএল শেখার জন্য নতুন কিছু শেখার প্রয়োজন। বেশিরভাগ মানুষ বরং চিন্তা করার চেয়ে মারা যায় এবং অনেকে সফল হয়।
আপনার দলের কেউ সন্দেহ নেই যে আপনার 200 ক্লাস সমর্থন করার জন্য এসকিউএল লেখা অনেক কাজ। কোনো সন্দেহ নেই. তবে কমপক্ষে এটি কার্যকর কাজ। আপনি যদি নিজের ও ডিজাইনের নকল করে কোনও ডাটাবেস ডিজাইন করেন তবে আপনি প্রচুর কাজও করবেন, এর বেশিরভাগই অকেজো এবং ডিবিএমএস আপনাকে যা দেয় তার বেশিরভাগটিকে পরাস্ত করে।
উদাহরণস্বরূপ, আপনি ডাটাবেসে ওয়ার্কের ইউনিটকে প্রতিফলিত করার বিষয়ে চিন্তাভাবনা করেন (টেবিল বা টেবিল হিসাবে, আমি অনুমান করি)। কাজ একক : একটি বিল্ট-ইন DBMS এর সেবা begin transaction
... আপডেট ডাটাবেস ... commit transaction
। মডেল হিসাবে কিছুই নয়, এসকিউএল ডাটাবেস টেবিলগুলিতে আপনার ক্লাসগুলির ম্যাপিং ব্যতীত।
আপনার প্রশ্ন 4 বছর আগে পোস্ট করা হয়েছিল। আমি উত্তর দিচ্ছি কারণ এটি সম্প্রতি কোনওভাবে "আপডেট" হয়েছিল, এটি ইঙ্গিত করে যে এটি এখনও কারও আগ্রহী। আমি আশা করি আমার উত্তর পাঠককে অর্থহীন কাজের ভিত্তি অবলম্বন না করে সমস্যার ক্ষেত্রে প্রাথমিক সম্পর্কের তত্ত্ব প্রয়োগ করতে উত্সাহিত করবে।