DBMS-এ নির্ভরতা হল দুটি বা ততোধিক বৈশিষ্ট্যের মধ্যে একটি সম্পর্ক। DBMS -
-এ এটির নিম্নলিখিত প্রকার রয়েছে- কার্যকর নির্ভরতা
- সম্পূর্ণ-কার্যকর নির্ভরতা
- ট্রানজিটিভ নির্ভরতা
- বহুমূল্য নির্ভরতা
- আংশিক নির্ভরতা
চলুন ফাংশনাল ডিপেন্ডেন্সি -
দিয়ে শুরু করিকার্যকর নির্ভরতা
যদি একটি টেবিলে সংরক্ষিত তথ্য একই টেবিলের অন্য একটি তথ্যকে স্বতন্ত্রভাবে নির্ধারণ করতে পারে, তাহলে তাকে ফাংশনাল ডিপেন্ডেন্সি বলা হয়। এটিকে একই সম্পর্কের দুটি বৈশিষ্ট্যের মধ্যে একটি সম্পর্ক হিসাবে বিবেচনা করুন৷
যদি P কার্যকরীভাবে Q নির্ধারণ করে, তাহলে
P -> প্রশ্ন |
আসুন একটি উদাহরণ দেখি -
কর্মচারী>
EmpID | EmpName৷ | EmpAge৷ |
E01 | অমিত | 28 |
E02 | রোহিত | 31 |
উপরের সারণীতে, EmpName কার্যকরীভাবে EmpID -এর উপর নির্ভরশীল কারণ EmpName EmpID: এর প্রদত্ত মানের জন্য শুধুমাত্র একটি মান নিতে পারে
EmpID -> EmpName |
একই −
সম্পূর্ণভাবে কার্যকরী নির্ভরতা
একটি অ্যাট্রিবিউট সম্পূর্ণরূপে কার্যকরী নির্ভর করে অন্য অ্যাট্রিবিউটের ওপর, যদি এটি কার্যকরীভাবে সেই অ্যাট্রিবিউটের ওপর নির্ভরশীল হয় এবং তার কোনো সঠিক উপসেটের ওপর নয়।
উদাহরণস্বরূপ, একটি অ্যাট্রিবিউট Q সম্পূর্ণরূপে কার্যকরী নির্ভর করে অন্য অ্যাট্রিবিউট P এর উপর, যদি এটি P এর উপর কার্যকরীভাবে নির্ভরশীল হয় এবং P এর কোনো সঠিক উপসেটের উপর না থাকে।
আসুন একটি উদাহরণ দেখি -
প্রকল্প মূল্য>
ProjectID | প্রকল্প মূল্য |
001 | 1000৷ |
002 | 5000৷ |
EmpID | ProjectID | দিন ৷ (প্রকল্পে ব্যয়) |
E099 | 001 | 320 |
E056 | 002 | 190 |
উপরের সম্পর্কগুলি বলে:
EmpID, ProjectID, ProjectCost -> দিন |
যাইহোক, এটি সম্পূর্ণরূপে কার্যকরী নির্ভরশীল নয়।
যেখানে সাবসেট {EmpID, ProjectID} সহজেই {দিন নির্ধারণ করতে পারে কর্মচারী দ্বারা প্রকল্পে ব্যয় করা হয়েছে৷
এটি আমাদের সম্পূর্ণ কার্যকরী নির্ভরতা −
কে সংক্ষিপ্ত করে এবং দেয়{EmpID, ProjectID} -> (দিন) |
ট্রানজিটিভ নির্ভরতা
যখন একটি পরোক্ষ সম্পর্ক কার্যকরী নির্ভরতা সৃষ্টি করে তখন তাকে বলা হয় ট্রানজিটিভ নির্ভরতা।
যদি P -> Q এবং Q -> R সত্য হয়, তাহলে P-> R হল ট্রানজিটিভ নির্ভরতা।
মাল্টিভ্যালুড ডিপেন্ডেন্সি
যখন একটি টেবিলে এক বা একাধিক সারির অস্তিত্ব একই টেবিলে এক বা একাধিক সারি বোঝায়, তখন বহু-মূল্য নির্ভরতা দেখা দেয়।
যদি একটি টেবিলে P, Q এবং R গুণাবলী থাকে, তাহলে Q এবং R হল P-এর বহু-মূল্যবান তথ্য৷
এটি ডবল তীর দ্বারা প্রতিনিধিত্ব করা হয় -
->-> |
আমাদের উদাহরণের জন্য:
P->->প্রশ্ন Q->->R |
উপরের ক্ষেত্রে, বহুমূল্য নির্ভরতা তখনই বিদ্যমান থাকে যদি Q এবং R স্বতন্ত্র বৈশিষ্ট্য হয়।
আংশিক নির্ভরতা
আংশিক নির্ভরতা ঘটে যখন একটি নন-প্রাইম অ্যাট্রিবিউট কার্যকরীভাবে একটি প্রার্থী কী-এর অংশের উপর নির্ভর করে।
২য় সাধারণ ফর্ম (2NF) আংশিক নির্ভরতা দূর করে। আসুন একটি উদাহরণ দেখি -
ছাত্রপ্রকল্প>
StudentID | প্রকল্প নম্বর | ছাত্রের নাম৷ | প্রকল্পের নাম |
S01 | 199 | কেটি | ভৌগলিক অবস্থান |
S02 | 120 | অলি | ক্লাস্টার এক্সপ্লোরেশন৷ |
উপরের টেবিলে, আমাদের আংশিক নির্ভরতা আছে; আসুন দেখি কিভাবে -
প্রধান মূল বৈশিষ্ট্য হল StudentID এবংপ্রকল্প নম্বর।
যেমন বলা হয়েছে, নন-প্রাইম অ্যাট্রিবিউটগুলি যেমন ছাত্রের নাম এবং প্রকল্পের নাম আংশিক নির্ভরশীল হওয়ার জন্য প্রার্থীর কী অংশের উপর কার্যকরীভাবে নির্ভরশীল হওয়া উচিত।
ছাত্রের নাম StudentID দ্বারা নির্ধারণ করা যেতে পারে যা সম্পর্কটিকে আংশিক নির্ভরশীল করে তোলে।
প্রকল্পের নাম ProjectID দ্বারা নির্ধারণ করা যেতে পারে , যে সম্পর্কটি আংশিক নির্ভরশীল।