একটি ডাটাবেসের একটি কার্যকরী নির্ভরতা বৈশিষ্ট্যগুলির মধ্যে সীমাবদ্ধতার একটি সেট প্রয়োগ করে। এটি ঘটে যখন একটি সম্পর্কের একটি বৈশিষ্ট্য অনন্যভাবে অন্য বৈশিষ্ট্য নির্ধারণ করে। এটি A -> B লেখা যেতে পারে যার অর্থ "B কার্যকরীভাবে A এর উপর নির্ভরশীল।" একে ডাটাবেস নির্ভরতাও বলা হয়।
এই সম্পর্কে, A B এর মান নির্ধারণ করে, যখন B A এর উপর নির্ভর করে।
ডেটাবেস ডিজাইনে কার্যকরী নির্ভরতা কেন গুরুত্বপূর্ণ
কার্যকরী নির্ভরতা তথ্যের বৈধতা নিশ্চিত করতে সাহায্য করে। সোশ্যাল সিকিউরিটি নম্বর (SSN), নাম, জন্মতারিখ, ঠিকানা ইত্যাদি সহ বৈশিষ্ট্যগুলি তালিকাভুক্ত করে এমন একটি সারণী কর্মীদের বিবেচনা করুন৷
SSN নাম, জন্ম তারিখ, ঠিকানা এবং সম্ভবত অন্যান্য মানগুলির মান নির্ধারণ করবে, কারণ একটি সামাজিক নিরাপত্তা নম্বর অনন্য, যখন একটি নাম, জন্ম তারিখ বা ঠিকানা নাও হতে পারে৷ আমরা এটি এভাবে লিখতে পারি:
SSN -> নাম, জন্ম তারিখ, ঠিকানা
অতএব, নাম, জন্ম তারিখ এবং ঠিকানা কার্যত SSN এর উপর নির্ভরশীল। যাইহোক, বিপরীত বিবৃতি (নাম -> SSN) সত্য নয় কারণ একাধিক কর্মীর একই নাম থাকতে পারে কিন্তু একই SSN কখনই থাকবে না। আরেকটি, আরো সুনির্দিষ্ট উপায় রাখুন, যদি আমরা SSN বৈশিষ্ট্যের মান জানি, আমরা নাম, জন্ম তারিখ এবং ঠিকানার মান খুঁজে পেতে পারি। কিন্তু আমরা যদি এর পরিবর্তে শুধুমাত্র নামের বৈশিষ্ট্যের মান জানি, তাহলে আমরা SSN শনাক্ত করতে পারব না।
একটি কার্যকরী নির্ভরতার বাম দিকে একাধিক বৈশিষ্ট্য অন্তর্ভুক্ত করতে পারে। ধরা যাক আমাদের একাধিক অবস্থান সহ একটি ব্যবসা আছে। কর্মচারী, শিরোনাম, বিভাগ, অবস্থান এবং ব্যবস্থাপক সহ আমাদের একটি টেবিল কর্মচারী থাকতে পারে।
কর্মচারী যে অবস্থানে কাজ করছেন তা নির্ধারণ করে, তাই সেখানে একটি নির্ভরতা রয়েছে:
কর্মচারী -> অবস্থান
কিন্তু লোকেশনে একাধিক ম্যানেজার থাকতে পারে, তাই কর্মচারী এবং বিভাগ একসঙ্গে ম্যানেজার নির্ধারণ করে:
কর্মচারী, বিভাগ -> ম্যানেজার
কার্যকরী নির্ভরতা এবং স্বাভাবিককরণ
কার্যকরী নির্ভরতা ডাটাবেস স্বাভাবিকীকরণে অবদান রাখে, যা ডেটা অখণ্ডতা নিশ্চিত করে এবং ডেটা অপ্রয়োজনীয়তা হ্রাস করে। স্বাভাবিককরণ ব্যতীত, ডাটাবেসের ডেটা সঠিক এবং নির্ভরযোগ্য বলে কোনও নিশ্চয়তা নেই।