تطبيع قواعد البيانات – من جدول مسطح إلى 3NF مع مخططات الكيانات والعلاقات

علوم الحاسوبالملفات والتخزين وقواعد البيانات16–17 سنة

جارٍ التحميل…

استخدمها مع صفي ✨ خصّصها بالذكاء الاصطناعي الإبلاغ عن مشكلة

ابدأ من جدول مسطح مليء بالبيانات المكررة، وأحدث شذوذ التحديث والإدراج والحذف، ثم تقدّم عبر 1NF و2NF و3NF بينما ينقسم الجدول، ويظهر المفتاح الأساسي والمفتاح الأجنبي، وتُزال الاعتماديات الجزئية والمتعدية. يتغير مخطط الكيانات والعلاقات (ER) بترميز قدم الغراب في كل خطوة، ويعدّ مخطط بياني القيم المخزنة والنسخ المكررة، ويعيد استعلام SQL يستخدم JOIN بناء الصفوف الأصلية ليُظهر أنه لم تُفقد أي معلومات.

الدرس: تصميم قواعد البيانات العلائقية: الاعتماديات الوظيفية، والتطبيع إلى 1NF و2NF و3NF، وشذوذ البيانات، ومخططات الكيانات والعلاقات، وعلاقات واحد إلى واحد وواحد إلى متعدد ومتعدد إلى متعدد

ماذا تعرض

الجدول المسطح الذي يخزن كل شيء في مكان واحد يكرر الحقائق نفسها مرات كثيرة، فيجب إجراء التغيير الواحد في عدة صفوف (شذوذ التحديث)، ولا يمكن تخزين حقائق جديدة قبل أن يستخدمها سجل ما (شذوذ الإدراج)، وقد يؤدي حذف سجل واحد إلى ضياع حقائق لا علاقة لها به (شذوذ الحذف). يقسم التطبيع الجدول خطوة بخطوة: تزيل 1NF المجموعات المتكررة، وتزيل 2NF الاعتماديات الجزئية على جزء من المفتاح المركب، وتزيل 3NF الاعتماديات المتعدية بين الأعمدة غير المفتاحية. تربط المفاتيح الأجنبية الجداول، ويعيد JOIN بناء الصفوف الأصلية دون فقد.

طريقة الاستخدام

اختر «البيانات» وعدد «السجلات»، ثم اضغط UNF و1NF و2NF و3NF (أو «رجوع» و«التالي») لترى الجدول ينقسم. فعّل «الاعتماديات» لترى أي اعتمادية وظيفية تخرق أي صيغة طبيعية. اختر «الشذوذ» واضغط «جرّب» لتغيير البيانات أو إضافتها أو حذفها؛ ويعيدها «تراجع». بدّل «مخطط ER» بين «منطقي» و«مفاهيمي»، واضغط كيانًا لإبراز جدوله، واستخدم «تصفية» لتشغيل استعلام SQL على سجل واحد.

المعاملات القابلة للتغيير

  • مجموعة البيانات طلبات متجر, تسجيل الطلاب في المواد
  • خطوة التطبيع الصيغة غير المطبَّعة (UNF), الصيغة الطبيعية الأولى (1NF), الصيغة الطبيعية الثانية (2NF), الصيغة الطبيعية الثالثة (3NF)
  • عدد السجلات (الطلبات أو الطلاب) 3–8 سجلات
  • الشذوذ المراد اختباره بلا, شذوذ التحديث, شذوذ الإدراج, شذوذ الحذف
  • مستوى مخطط ER منطقي (مع جدول ربط), مفاهيمي (متعدد إلى متعدد)
  • عرض الاعتماديات الوظيفية

أسئلة للاستكشاف

  1. لماذا يحتوي جدول 1NF على نسخ مكررة من الحقائق نفسها أكثر من الجدول غير المطبَّع؟
  2. في 2NF، لماذا لا يمكن بعدُ تخزين عميل جديد لم يطلب أي شيء؟
  3. لماذا يجب أن يحل جدول ربط محل علاقة متعدد إلى متعدد بين الطلبات والمنتجات؟