বিদেশী কী বাধা 0 তে সেট করা ভাল ধারণা নয়, কারণ আপনি যদি এটি করেন তবে আপনার ডাটাবেসটি নিশ্চিত করবে না যে এটি রেফারেন্সিয়াল অখণ্ডতা লঙ্ঘন করছে না। এটি ভুল, বিভ্রান্তিকর, বা অসম্পূর্ণ ডেটা হতে পারে।
আপনি কোনও কারণে বিদেশী কী তৈরি করেন: কারণ শিশু কলামের সমস্ত মান প্যারেন্ট কলামের মান হিসাবে সমান হবে। যদি কোনও বিদেশী কী বাধা না থাকে তবে একটি শিশু সারির একটি মান থাকতে পারে যা প্যারেন্ট সারিতে নেই, যা ভুল তথ্য নিয়ে যেতে পারে।
উদাহরণস্বরূপ, ধরা যাক শিক্ষার্থীদের জন্য লগইন করার জন্য আপনার কাছে একটি ওয়েবসাইট রয়েছে এবং প্রতিটি ছাত্রকে অবশ্যই ব্যবহারকারী হিসাবে অ্যাকাউন্টের জন্য নিবন্ধন করতে হবে। ব্যবহারকারী আইডির জন্য আপনার কাছে একটি টেবিল রয়েছে, প্রাথমিক আইডি হিসাবে ব্যবহারকারী আইডি; এবং ছাত্র অ্যাকাউন্টগুলির জন্য অন্য একটি সারণী, কলাম হিসাবে শিক্ষার্থী আইডি। যেহেতু প্রত্যেক শিক্ষার্থীর অবশ্যই একটি ব্যবহারকারী আইডি থাকতে হবে, তাই ছাত্রদের অ্যাকাউন্ট থেকে শিক্ষার্থী আইডিটি একটি বিদেশী কী তৈরি করা বোধগম্য হবে যা ব্যবহারকারী আইডির টেবিলে প্রাথমিক কী ব্যবহারকারী আইডি উল্লেখ করে। যদি কোনও বিদেশী কী চেক না থাকে তবে একজন শিক্ষার্থীর স্টুডেন্ট আইডি এবং কোনও ইউজার আইডি থাকা শেষ হতে পারে, যার অর্থ একজন শিক্ষার্থী ব্যবহারকারী না হয়ে অ্যাকাউন্ট পাবে, যা ভুল।
এটি বিপুল পরিমাণে ডেটা হয়ে যায় কিনা তা কল্পনা করুন। এজন্য আপনার বিদেশী কী চেক দরকার।
কী কারণে ত্রুটি ঘটছে তা নির্ধারণ করা ভাল। সম্ভবত, আপনি সন্তানের সারিটি মোছা ছাড়াই প্যারেন্ট সারি থেকে মোছার চেষ্টা করছেন। প্যারেন্ট সারি থেকে মোছার আগে সন্তানের সারি থেকে মোছার চেষ্টা করুন।