الاعتماد متعدد القيم في تصميم قواعد البيانات

التبعية متعددة القيم يكسر الشكل الطبيعي الرابع

في قاعدة بيانات علائقية ، تحدث تبعية عندما تحدد المعلومات المخزنة في نفس جدول قاعدة البيانات بشكل فريد المعلومات الأخرى المخزنة في نفس الجدول. تحدث تبعية متعددة القيم عند وجود صف واحد أو أكثر في جدول يتضمن وجود صف واحد أو أكثر في نفس الجدول. وبطريقة أخرى ، تكون السمتان (أو الأعمدة) في الجدول مستقلة عن بعضهما البعض ، ولكن كلاهما يعتمدان على سمة ثالثة.

تمنع تبعية متعددة القيم النموذج العادي القياسي الرابع للتطبيع (4NF). قواعد البيانات العلائقية تتبع خمسة أشكال عادية تمثل مبادئ توجيهية لتصميم السجلات. أنها تمنع الشذوذات وعدم التناسق التحديث في البيانات. النموذج العادي الرابع يتعامل مع علاقات متعدد في قاعدة بيانات .

التبعية الوظيفية مقابل التبعية متعددة القيم

لفهم تبعية متعددة القيم ، من المفيد إعادة النظر في التبعية الوظيفية.

إذا حددت السمة X السمة Y بشكل فريد ، فإن Y يعتمد بشكل وظيفي على X. وهذا مكتوب على أنه X -> Y. على سبيل المثال ، في جدول الطلاب أدناه ، يحدد Student_Names الرئيسي:

الطلاب
أسم الطالب رائد
رافي تاريخ الفن
بيت كيمياء


يمكن كتابة هذه التبعية الوظيفية: Student_Name -> Major . يحدد كل Student_Name واحدة رئيسية تمامًا ، وليس أكثر.

إذا كنت ترغب في أن تتبع قاعدة البيانات أيضًا الرياضة التي يأخذها هؤلاء الطلاب ، فقد تعتقد أن أسهل طريقة للقيام بذلك هي فقط إضافة عمود آخر بعنوان Sport:

الطلاب
أسم الطالب رائد رياضة
رافي تاريخ الفن كرة القدم
رافي تاريخ الفن الكرة الطائرة
رافي تاريخ الفن تنس
بيت كيمياء تنس
بيت كيمياء كرة القدم


المشكلة هنا هي أن كلا من رافي وبيت يلعبان رياضات متعددة. من الضروري إضافة صف جديد لكل رياضة إضافية.

قدم هذا الجدول تبعية متعددة القيم لأن التخصص والرياضة مستقل عن بعضهما البعض ولكن كلاهما يعتمد على الطالب.

هذا مثال بسيط ويمكن التعرف عليه بسهولة ، لكن الاعتماد على multivalue قد يصبح مشكلة في قاعدة بيانات كبيرة ومعقدة.

تتم كتابة تبعية متعددة القيم X -> -> Y. في هذه الحالة:

Student_Name -> -> Major
Student_Name -> -> الرياضة

تتم قراءة هذا كـ "Student_Name multidetermines Major" و "Student_Name multidetermines رياضة".

تتطلب التبعية متعددة القيم دائمًا ثلاث سمات على الأقل لأنها تتكون من سمتين على الأقل تعتمد على ثالثة.

التبعية المتعددة والتطبيع

ينتهك جدول ذو تبعية متعددة القيم معيار التطبيع الخاص بالنموذج Normal Fourth Form (4NK) لأنه يخلق فائضًا غير ضروري ويمكن أن يساهم في بيانات غير متسقة. لجعل هذا الأمر يصل إلى 4NF ، من الضروري تقسيم هذه المعلومات إلى جدولين.

يحتوي الجدول أدناه الآن على اعتماد وظيفي لـ Student_Name -> Major ، ولا توجد تبعيات متعددة القيم:

الطلاب و التخصصات
أسم الطالب رائد
رافي تاريخ الفن
رافي تاريخ الفن
رافي تاريخ الفن
بيت كيمياء
بيت كيمياء

بينما يحتوي هذا الجدول أيضًا على اعتماد واحد وظيفي لـ Student_Name -> Sport:

الطلاب والرياضة
أسم الطالب رياضة
رافي كرة القدم
رافي الكرة الطائرة
رافي تنس
بيت تنس
بيت كرة القدم

من الواضح أن التطبيع يتم معالجته غالبًا عن طريق تبسيط الجداول المعقدة بحيث تحتوي على معلومات مرتبطة بفكرة واحدة أو موضوع معين بدلاً من محاولة وضع جدول فردي يحتوي على الكثير من المعلومات المتباينة.