রিলেশনাল ডাটাবেসের প্রেক্ষাপটে, একটি বিদেশী কী হল একটি গুরুত্বপূর্ণ উপাদান যা সত্তার মধ্যে সম্পর্ক স্থাপন ও প্রয়োগ করে এবং ডাটাবেস টেবিল জুড়ে রেফারেন্সিয়াল অখণ্ডতা নিশ্চিত করে। একটি বিদেশী কী হল একটি টেবিলের একটি কলাম বা কলামের সেট যা অন্য টেবিলের প্রাথমিক কী কলাম(গুলি) বোঝায়। বিদেশী কী সম্বলিত টেবিলটিকে রেফারেন্সিং বা চাইল্ড টেবিল হিসাবে উল্লেখ করা হয়, যখন প্রাথমিক কী ধারণকারী টেবিলটিকে প্রায়শই রেফারেন্স বা প্যারেন্ট টেবিল হিসাবে উল্লেখ করা হয়।
AppMaster, একটি শক্তিশালী no-code প্ল্যাটফর্ম, ডাটাবেস স্কিমা ডিজাইন এবং পরিচালনার জন্য তার ব্যাপক পদ্ধতির অংশ হিসাবে বিদেশী কীগুলি ব্যবহার করে, ব্যবহারকারীদের কোনও কোড না লিখেই দক্ষ এবং মাপযোগ্য রিলেশনাল ডাটাবেস কাঠামো তৈরি করতে দেয়। বিদেশী কীগুলি ব্যবহার করে, AppMaster তার ব্যবহারকারীদের তাদের অ্যাপ্লিকেশনের ডেটা সত্তার মধ্যে জটিল সম্পর্ক এবং নির্ভরতা মডেল করার ক্ষমতা দেয়, অন্তর্নিহিত ব্যবসায়িক ডোমেনের সঠিক এবং সামঞ্জস্যপূর্ণ উপস্থাপনা নিশ্চিত করে।
একটি বিদেশী কী এর প্রাথমিক উদ্দেশ্য হল একটি রিলেশনাল ডাটাবেসে রেফারেন্সিয়াল অখণ্ডতা বজায় রাখা। রেফারেন্সিয়াল ইন্টিগ্রিটি হল ডেটা সামঞ্জস্যের নিয়ম এবং সীমাবদ্ধতার একটি সেট যা নিশ্চিত করে যে সম্পর্কিত টেবিলের ডেটা সঠিক এবং সামঞ্জস্যপূর্ণ থাকে। এই নিয়মগুলি নির্দেশ করে যে চাইল্ড টেবিলের বিদেশী কী কলাম(গুলি) এর যেকোন মান অবশ্যই প্যারেন্ট টেবিলের প্রাথমিক কী কলাম(গুলি) এর বিদ্যমান মানের সাথে সঙ্গতিপূর্ণ হবে৷ অন্য কথায়, বিদেশী মূল সীমাবদ্ধতা শিশু টেবিলে এতিম রেকর্ড তৈরির বিরুদ্ধে রক্ষা করে।
দুটি টেবিল, গ্রাহক এবং আদেশ সমন্বিত একটি ডাটাবেসের একটি সাধারণ উদাহরণ বিবেচনা করুন, যেখানে প্রতিটি অর্ডারের একজন গ্রাহক থাকে যিনি এটি স্থাপন করেছেন। এই পরিস্থিতিতে, গ্রাহক টেবিলে একটি প্রাথমিক কী কলাম অন্তর্ভুক্ত থাকবে, যেমন 'Customer_ID', প্রতিটি গ্রাহককে স্বতন্ত্রভাবে সনাক্ত করতে। অন্য দিকে, অর্ডার টেবিলে একটি বিদেশী কী কলাম থাকবে, যেমন 'Customer_ID', প্রতিটি অর্ডারকে তার সংশ্লিষ্ট গ্রাহকের সাথে লিঙ্ক করতে। এই বিদেশী কী সীমাবদ্ধতা প্রয়োগ করে যে অর্ডার টেবিলের যেকোনো অর্ডারের সাথে অবশ্যই একটি বৈধ গ্রাহক যুক্ত থাকতে হবে, যিনি গ্রাহক টেবিলে বিদ্যমান। ফলস্বরূপ, সম্ভাব্য ডেটা অসঙ্গতি রোধ করে একটি অস্তিত্বহীন গ্রাহকের সাথে একটি অর্ডার তৈরি করা অসম্ভব।
রেফারেন্সিয়াল অখণ্ডতা বজায় রাখার পাশাপাশি, বিদেশী কীগুলি সত্তার মধ্যে সম্পর্ক নির্ধারণ করতেও ব্যবহার করা যেতে পারে। এই সম্পর্কগুলিকে তিন প্রকারে শ্রেণীবদ্ধ করা যেতে পারে: এক-থেকে-এক, এক-থেকে-অনেক এবং বহু-থেকে-অনেক। একটি এক-এক-সম্পর্ক দুটি সত্তার মধ্যে একটি কঠোর সম্পর্ককে সংজ্ঞায়িত করে, যেখানে প্যারেন্ট টেবিলের প্রতিটি সত্তা শিশু টেবিলের সর্বাধিক একটি সত্তার সাথে সংযুক্ত থাকে। গ্রাহক এবং অর্ডার উদাহরণে প্রদর্শিত একটি এক-থেকে-অনেক সম্পর্ক, চাইল্ড টেবিলের একাধিক রেকর্ডকে প্যারেন্ট টেবিলে একটি একক রেকর্ডের সাথে যুক্ত করার অনুমতি দেয়। বহু-থেকে-অনেক সম্পর্ক, যার জন্য মধ্যস্থতাকারী বা জংশন টেবিলের প্রয়োজন হয়, প্রতিটি অংশগ্রহণকারী টেবিল থেকে একাধিক রেকর্ডকে অন্যটিতে একাধিক রেকর্ডের সাথে লিঙ্ক করার অনুমতি দেয়।
বিদেশী কী সীমাবদ্ধতাগুলি ক্যাসকেডিং অ্যাকশনগুলিও প্রয়োগ করতে পারে, যা নির্দেশ করে যে কীভাবে ডাটাবেস সম্পর্কিত রেকর্ডগুলির আপডেট বা মুছে ফেলা উচিত। চারটি প্রাথমিক ক্যাসকেডিং অ্যাকশন হল ক্যাসকেড, সেট নাল, সেট ডিফল্ট, এবং কোনও অ্যাকশন বা সীমাবদ্ধ নয়। CASCADE বিকল্পটি প্যারেন্ট টেবিলের একটি প্রাথমিক কী মানতে করা পরিবর্তন বা মুছে ফেলাকে চাইল্ড টেবিলের সমস্ত সম্পর্কিত বিদেশী কী মানগুলিতে প্রচার করবে। SET NULL চাইল্ড টেবিলের বিদেশী কী মানটিকে NULL এ সেট করবে যখন প্যারেন্ট টেবিলের সংশ্লিষ্ট প্রাথমিক কী মান আপডেট বা মুছে ফেলা হয়। সেট ডিফল্ট একইভাবে কাজ করে কিন্তু চাইল্ড টেবিলের বিদেশী কী মানটিকে NULL এর পরিবর্তে ডিফল্ট মান নির্ধারণ করে। অবশেষে, কোনো অ্যাকশন বা সীমাবদ্ধতা প্রাথমিক কী মানের কোনো পরিবর্তনকে বাধা দেয় না যা চাইল্ড টেবিলে সম্পর্কিত রেকর্ডগুলিকে অনাথ করে দেবে।
সংক্ষেপে, একটি বিদেশী কী একটি অত্যাবশ্যক ধারণা যা রিলেশনাল ডাটাবেসগুলির নির্মাণ এবং পরিচালনায়, সামঞ্জস্যপূর্ণ, সঠিক এবং আন্তঃসংযুক্ত ডেটা উপস্থাপনা নিশ্চিত করে। ডাটাবেস স্কিমা ডিজাইনে এর স্বজ্ঞাত, ভিজ্যুয়াল পদ্ধতির মাধ্যমে, AppMaster বিদেশী কীগুলির শক্তি এবং নমনীয়তাকে আলিঙ্গন করে, তার ব্যবহারকারীদেরকে একক লাইন কোড না লিখে স্কেলযোগ্য, দক্ষ এবং নির্ভরযোগ্য ডাটাবেস কাঠামো তৈরি করার ক্ষমতা দেয়। AppMaster কেবল ডাটাবেস ডিজাইনে বিদেশী কীগুলি অন্তর্ভুক্ত করার প্রক্রিয়াটিকে সহজ করে না বরং দ্রুত এবং আরও বেশি সাশ্রয়ী সফ্টওয়্যার বিকাশে অবদান রাখে।