لماذا يهم هذا الدرس؟
فهم 1NF و2NF و3NF وربطه بمثال علائقي عملي واضح. تفصل Normalization الحقائق حسب Dependencies بحيث يكون لكل حقيقة مكان authoritative واحد. تزيل 1NF و2NF و3NF التكرارات والاعتماديات المشكلة تدريجيًا، بينما Denormalization تحسين قراءة مقصود.
كيف تفكر فيه؟
- في درس 1NF و2NF و3NF، النتيجة التي يجب أن تتحقق: نفّذ الاستعلام على بيانات تجريبية واقرأ النتيجة قبل الانتقال إلى الحالة التالية.
- في سياق 1NF و2NF و3NF، الخطر الذي يجب أن يبقى تحت السيطرة: Denormalization المبكرة تكرر الحقائق وتجبر كل Writer على مزامنة النسخ، بينما Over-normalization قد تعقد Reads بسيطة بلا داعٍ.
- تطبيق 1NF و2NF و3NF: خذ Order Spreadsheet فيها Customer وProduct Data مكررة وطبّعها إلى Tables مترابطة ثم حدد Read Case يمكن تحسينها بSummary مشتقة.
التدرج في التطبيع
1
1NFStart
2
2NFStep
3
3NFStep
4
Clear DependenciesOutcome
تطبيق عملي
في التطبيق الخاص بدرس 1NF و2NF و3NF: نفّذ الاستعلام على بيانات تجريبية واقرأ النتيجة قبل الانتقال إلى الحالة التالية.
example.sqlsql
SELECT o.id, c.name
FROM orders o
JOIN customers c ON c.id = o.customer_id;جرّب بنفسك
تمرين 1NF و2NF و3NF
خذ Order Spreadsheet فيها Customer وProduct Data مكررة وطبّعها إلى Tables مترابطة ثم حدد Read Case يمكن تحسينها بSummary مشتقة.
- سجل النتيجة المتوقعة قبل التنفيذ
- اختبر حالة صحيحة وحالة فشل مرتبطة بالدرس
- اشرح في سطرين أين يوجد الحد المسؤول عن القرار
