ডাটাবেসে বহুমূল্য নির্ভরতা

সুচিপত্র:

ডাটাবেসে বহুমূল্য নির্ভরতা
ডাটাবেসে বহুমূল্য নির্ভরতা
Anonim

একটি রিলেশনাল ডাটাবেসে, একটি নির্ভরতা ঘটে যখন একই ডাটাবেস টেবিলে সংরক্ষিত তথ্য একই টেবিলে সংরক্ষিত অন্যান্য তথ্য অনন্যভাবে নির্ধারণ করে। একটি বহুমূল্য নির্ভরতা ঘটে যখন একটি টেবিলে এক বা একাধিক সারির উপস্থিতি একই টেবিলে এক বা একাধিক সারির উপস্থিতি বোঝায়। অন্যভাবে বলুন, একটি টেবিলের দুটি বৈশিষ্ট্য (বা কলাম) একে অপরের থেকে স্বতন্ত্র, তবে উভয়ই একটি তৃতীয় বৈশিষ্ট্যের উপর নির্ভর করে।

Image
Image

একটি বহুমূল্য নির্ভরতা স্বাভাবিকীকরণ স্ট্যান্ডার্ড চতুর্থ স্বাভাবিক ফর্মকে বাধা দেয়। রিলেশনাল ডাটাবেসগুলি পাঁচটি সাধারণ ফর্ম অনুসরণ করে যা রেকর্ড ডিজাইনের জন্য নির্দেশিকা উপস্থাপন করে।তারা আপডেটের অসঙ্গতি এবং ডেটাতে অসঙ্গতি প্রতিরোধ করে। চতুর্থ স্বাভাবিক ফর্মটি একটি ডাটাবেসের মধ্যে বহু-থেকে-এক সম্পর্ক নিয়ে কাজ করে৷

কার্যকর নির্ভরতা বনাম বহুমূল্য নির্ভরতা

একটি বহুমূল্য নির্ভরতা বোঝার জন্য, একটি কার্যকরী নির্ভরতা কী তা পুনরায় পর্যালোচনা করা সহায়ক৷

যদি একটি বৈশিষ্ট্য X স্বতন্ত্রভাবে একটি বৈশিষ্ট্য Y নির্ধারণ করে, তাহলে Y কার্যত X এর উপর নির্ভরশীল। এটি X -> Y হিসাবে লেখা হয়। উদাহরণস্বরূপ, নীচের ছাত্রদের টেবিলে, Student_Name প্রধান নির্ধারণ করে:

ছাত্রের_নাম মেজর
রবি শিল্পের ইতিহাস
বেথ রসায়ন

এই কার্যকরী নির্ভরতা লেখা যেতে পারে: Student_Name -> Major। প্রতিটি ছাত্রের_নাম ঠিক একজন মেজর নির্ধারণ করে এবং আর নয়।

আপনি যদি চান যে ডাটাবেসটি এই ছাত্রদের খেলাধুলাও ট্র্যাক করতে পারে, তাহলে আপনি মনে করতে পারেন এটি করার সবচেয়ে সহজ উপায় হল স্পোর্ট শিরোনামের আরেকটি কলাম যুক্ত করা:

ছাত্রের_নাম মেজর খেলাধুলা
রবি শিল্পের ইতিহাস সকার
রবি শিল্পের ইতিহাস ভলিবল
রবি শিল্পের ইতিহাস টেনিস
বেথ রসায়ন টেনিস
বেথ রসায়ন সকার

এখানে সমস্যা হল রবি এবং বেথ দুজনেই বিভিন্ন খেলা খেলে। প্রতিটি অতিরিক্ত খেলার জন্য একটি নতুন সারি যোগ করা প্রয়োজন৷

এই টেবিলটি একটি বহুমূল্য নির্ভরতা চালু করেছে কারণ প্রধান এবং খেলাধুলা একে অপরের থেকে স্বাধীন কিন্তু উভয়ই শিক্ষার্থীর উপর নির্ভরশীল। এটি একটি সাধারণ উদাহরণ এবং সহজেই শনাক্ত করা যায়, কিন্তু একটি বহুমূল্য নির্ভরতা একটি বড়, জটিল ডাটাবেসে সমস্যা হয়ে দাঁড়াতে পারে৷

একটি বহুমূল্য নির্ভরতা লেখা হয় X ->-> Y। এই ক্ষেত্রে:

ছাত্রের_নাম ->-> মেজর ছাত্রের_নাম ->- >

খেলাধুলা

এটিকে "স্টুডেন্ট_নেম মাল্টিডেটারমাইনস মেজর" এবং "স্টুডেন্ট_নেম মাল্টিডেটারমাইন স্পোর্ট" হিসাবে পড়া হয়৷

একটি বহুমূল্য নির্ভরতার জন্য সর্বদা কমপক্ষে তিনটি বৈশিষ্ট্যের প্রয়োজন হয় কারণ এতে কমপক্ষে দুটি বৈশিষ্ট্য থাকে যা তৃতীয়টির উপর নির্ভরশীল৷

বহুমূল্য নির্ভরতা এবং স্বাভাবিককরণ

একটি বহুমূল্য নির্ভরতা সহ একটি টেবিল চতুর্থ স্বাভাবিক ফর্মের স্বাভাবিককরণের মানকে লঙ্ঘন করে কারণ এটি অপ্রয়োজনীয় অপ্রয়োজনীয়তা তৈরি করে এবং অসামঞ্জস্যপূর্ণ ডেটাতে অবদান রাখতে পারে। এটিকে 4NF পর্যন্ত আনতে, এই তথ্যটিকে দুটি টেবিলে বিভক্ত করা প্রয়োজন৷

নিচের সারণীতে এখন Student_Name -> Major এর একটি কার্যকরী নির্ভরতা রয়েছে এবং কোনো বহুমূল্য নির্ভরতা নেই:

ছাত্রের_নাম মেজর
রবি শিল্পের ইতিহাস
রবি শিল্পের ইতিহাস
রবি শিল্পের ইতিহাস
বেথ রসায়ন
বেথ রসায়ন

যদিও এই টেবিলে Student_Name -> খেলার একটি একক কার্যকরী নির্ভরতা রয়েছে:

ছাত্রের_নাম খেলাধুলা
রবি সকার
রবি ভলিবল
রবি টেনিস
বেথ টেনিস
বেথ সকার

নর্মালাইজেশন প্রায়শই জটিল টেবিলকে সরলীকরণের মাধ্যমে সম্পন্ন করা হয় যাতে সেগুলিতে একটি একক ধারণা বা থিম সম্পর্কিত তথ্য থাকে না বরং একটি একক টেবিলে খুব বেশি অসমান তথ্য থাকে।