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

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

كيف تفكر فيه؟

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

تطبيق عملي

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

example.sqlsql
CREATE TABLE customers (id BIGINT PRIMARY KEY, name TEXT);
CREATE TABLE orders (id BIGINT PRIMARY KEY, customer_id BIGINT REFERENCES customers(id));

جرّب بنفسك

Practice

تمرين لماذا نطبّع البيانات

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

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

الخلاصة