لماذا يهم هذا الدرس؟

فهم متى نستخدم Denormalization وربطه بمثال علائقي عملي واضح. تفصل Normalization الحقائق حسب Dependencies بحيث يكون لكل حقيقة مكان authoritative واحد. تزيل 1NF و2NF و3NF التكرارات والاعتماديات المشكلة تدريجيًا، بينما Denormalization تحسين قراءة مقصود.

كيف تفكر فيه؟

  • في درس متى نستخدم Denormalization، النتيجة التي يجب أن تتحقق: نفّذ الاستعلام على بيانات تجريبية واقرأ النتيجة قبل الانتقال إلى الحالة التالية.
  • في سياق متى نستخدم Denormalization، الخطر الذي يجب أن يبقى تحت السيطرة: Denormalization المبكرة تكرر الحقائق وتجبر كل Writer على مزامنة النسخ، بينما Over-normalization قد تعقد Reads بسيطة بلا داعٍ.
  • تطبيق متى نستخدم Denormalization: خذ Order Spreadsheet فيها Customer وProduct Data مكررة وطبّعها إلى Tables مترابطة ثم حدد Read Case يمكن تحسينها بSummary مشتقة.

تطبيق عملي

في التطبيق الخاص بدرس متى نستخدم Denormalization: نفّذ الاستعلام على بيانات تجريبية واقرأ النتيجة قبل الانتقال إلى الحالة التالية.

example.sqlsql
SELECT product_id, SUM(quantity) AS sold
FROM order_items
GROUP BY product_id;

جرّب بنفسك

Practice

تمرين متى نستخدم Denormalization

خذ Order Spreadsheet فيها Customer وProduct Data مكررة وطبّعها إلى Tables مترابطة ثم حدد Read Case يمكن تحسينها بSummary مشتقة.

  • سجل النتيجة المتوقعة قبل التنفيذ
  • اختبر حالة صحيحة وحالة فشل مرتبطة بالدرس
  • اشرح في سطرين أين يوجد الحد المسؤول عن القرار

الخلاصة