আমার অভিজ্ঞতায়, আমি অতীতে যে সমস্ত প্রকল্পগুলি পড়েছি তাদের অনেকেরই ডেটাবেসে সম্পর্কের সংজ্ঞা ছিল না, পরিবর্তে তারা কেবলমাত্র সোর্স কোডে সেগুলি সংজ্ঞায়িত করেছিল। সুতরাং আমি ভাবছি যে ডাটাবেসে এবং উত্স কোডের সারণীর মধ্যে সম্পর্ক নির্ধারণের সুবিধাগুলি / অসুবিধাগুলি কী? এবং বিস্তৃত প্রশ্নটি ক্যাসকেড, ট্রিগারস, প্রক্রিয়াগুলির মতো আধুনিক ডেটাবেজে অন্যান্য উন্নত বৈশিষ্ট্যগুলি সম্পর্কে ... আমার চিন্তার কিছু পয়েন্ট রয়েছে:
ডাটাবেসে:
ডিজাইন থেকে সঠিক তথ্য। অ্যাপ্লিকেশন ত্রুটিগুলি প্রতিরোধ করুন যা অবৈধ ডেটা তৈরি করতে পারে।
অ্যাপ্লিকেশন হিসাবে ডেটা /োকানো / আপডেট করার সময় অ্যাপ্লিকেশনটিতে নেটওয়ার্ক রাউন্ড ট্রিপ হ্রাস করুন ডেটা অখণ্ডতা পরীক্ষা করতে আরও জিজ্ঞাসা করতে হবে)
উত্স কোডে:
আরো নমনীয়.
একাধিক ডাটাবেসে স্কেলিং করা ভাল, কারণ কখনও কখনও সম্পর্কটি ক্রস-ডাটাবেস হতে পারে।
ডেটা অখণ্ডতার উপর আরও নিয়ন্ত্রণ। ডাটাবেসটিতে প্রতিবার অ্যাপ্লিকেশন ডেটা সংশোধন করার সময় পরীক্ষা করতে হবে না (জটিলতা ও (এন) বা ও (এন লগ এন) (?)) হতে পারে। পরিবর্তে, এটি প্রয়োগের জন্য প্রেরণ করা হয়। এবং আমি মনে করি অ্যাপ্লিকেশনটিতে ডেটা অখণ্ডতা হ্যান্ডেল করা ডেটাবেস ব্যবহারের চেয়ে ভার্বোজের ত্রুটি বার্তাগুলির দিকে নিয়ে যাবে। উদাহরণস্বরূপ: যখন আপনি একটি API সার্ভার তৈরি করেন, আপনি যদি ডাটাবেসে সম্পর্কের সংজ্ঞা দেন এবং কিছু ভুল হয়ে যায় (যেমন রেফারেন্সড সত্তাটি বিদ্যমান নেই), আপনি একটি বার্তা সহ একটি এসকিউএল ব্যতিক্রম পাবেন Ex সহজ উপায়টি হ'ল ক্লায়েন্টকে 500 ফিরিয়ে দেওয়া হবে যে "অভ্যন্তরীণ সার্ভার ত্রুটি" আছে এবং ক্লায়েন্টের কোনও ধারণা নেই যে কী ঘটছে। অথবা সার্ভার বার্তাটি বিশ্লেষণ করতে পারে যা ভুল হয়েছে তা খুঁজে বের করতে পারে, এটি আমার মতে একটি কুৎসিত, ত্রুটি-প্রবণ উপায়। আপনি যদি অ্যাপ্লিকেশনটিকে এটি পরিচালনা করতে দেন,
আর কিছু আছে?
সম্পাদনা: কিলিয়ান যেমন উল্লেখ করেছেন, পারফরম্যান্স এবং ডেটা অখণ্ডতার বিষয়ে আমার বক্তব্যটি খুব বিভ্রান্ত। সুতরাং আমি আমার পয়েন্টটি সংশোধন করার জন্য সম্পাদনা করেছি। আমি পুরোপুরি বুঝতে পেরেছি যে এটি ডাটাবেসটিকে হ্যান্ডেল দেওয়া আরও কার্যকর এবং দৃ approach় পদ্ধতির হতে পারে। দয়া করে আপডেট হওয়া প্রশ্নটি পরীক্ষা করুন এবং এ সম্পর্কে কিছু ধারণা দিন।
সম্পাদনা করুন: সবাইকে ধন্যবাদ আমি যে উত্তর পেয়েছি সেগুলি সমস্ত উল্লেখ করে যে ডাটাবেসে সীমাবদ্ধতা / সম্পর্কের সংজ্ঞা দেওয়া উচিত। :)। আমার আরও একটি প্রশ্ন আছে, কারণ এটি এই প্রশ্নের ক্ষেত্রের বাইরে যথেষ্ট, আমি কেবল এটি একটি পৃথক প্রশ্ন হিসাবে পোস্ট করেছি: এপিআই সার্ভারের জন্য ডাটাবেস ত্রুটি পরিচালনা করুন । দয়া করে কিছু অন্তর্দৃষ্টি দিন।