ডাটাবেস ডিজাইন মধ্যে Multivalued নির্ভরতা

বহুভুজের নির্ভরতা চতুর্থ স্বাভাবিক ফর্ম ভাঙ্গা

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

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

কার্যকরী নির্ভরতা বনাম বহুভুজি নির্ভরতা

একটি বহুভুজের নির্ভরতা বোঝার জন্য, এটি একটি কার্যকরী নির্ভরতা কি তা পুনর্বিবেচনা করা সহায়ক।

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

শিক্ষার্থীরা
শিক্ষার্থীর নাম মুখ্য
রবি শিল্প ইতিহাস
বেথ রসায়ন


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

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

শিক্ষার্থীরা
শিক্ষার্থীর নাম মুখ্য খেলা
রবি শিল্প ইতিহাস ফুটবল খেলা
রবি শিল্প ইতিহাস ভলিবলখেলা
রবি শিল্প ইতিহাস টেনিস
বেথ রসায়ন টেনিস
বেথ রসায়ন ফুটবল খেলা


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

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

এটি একটি সহজ উদাহরণ এবং সহজেই সনাক্তযোগ্য, কিন্তু একটি বহুভুজ নির্ভরতা একটি বৃহৎ, জটিল ডাটাবেসের মধ্যে একটি সমস্যা হতে পারে।

একটি বহুভুজি নির্ভরশীলতাটি X -> -> Y লিখেছে। এই ক্ষেত্রে:

Student_Name -> -> মেজর
Student_Name -> -> খেলাধুলা

এটি "Student_Name multidetermines Major" এবং "Student_Name multidetermines Sport" হিসাবে পড়েছে।

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

বহুভাষিক নির্ভরতা এবং সাধারণকরণ

একটি বহুভুজের নির্ভরশীলতার সঙ্গে একটি টেবিল চতুর্থ সাধারণ ফর্ম (4NK) এর স্বাভাবিককরণের মান লঙ্ঘন করে কারণ এটি অপ্রয়োজনীয় অপ্রয়োজনীয় সৃষ্টি করে এবং অসঙ্গত তথ্যগুলিতে অবদান রাখতে পারে। 4 এনএফ পর্যন্ত এটিকে আনতে, এই তথ্যটি দুটি টেবিলে বিভক্ত করা প্রয়োজন।

নীচে টেবিলে Student_Name- এর একটি কার্যকরী নির্ভরতা আছে -> মেজর এবং বহুভুজ নির্ভরতা:

ছাত্র ও মেজর
শিক্ষার্থীর নাম মুখ্য
রবি শিল্প ইতিহাস
রবি শিল্প ইতিহাস
রবি শিল্প ইতিহাস
বেথ রসায়ন
বেথ রসায়ন

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

ছাত্র ও ক্রীড়া
শিক্ষার্থীর নাম খেলা
রবি ফুটবল খেলা
রবি ভলিবলখেলা
রবি টেনিস
বেথ টেনিস
বেথ ফুটবল খেলা

এটি স্পষ্ট যে স্বাভাবিককরণটি প্রায়ই জটিল টেবিলের সরলতা দ্বারা সমাধান করা হয় যাতে একটি একক টেবিল তৈরির চেষ্টা করার পরিবর্তে তারা একক ধারণা বা থিমের সাথে সম্পর্কিত তথ্য ধারণ করে থাকে যা খুব বেশি অস্পষ্ট তথ্য ধারণ করে।