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

فهم المفاتيح الخارجية وربطه بمثال علائقي عملي واضح. تعطي Primary Keys الصفوف هوية ثابتة وتحمي Foreign Keys المراجع بين الجداول وتحدد Cardinality مكان تلك المفاتيح.

كيف تفكر فيه؟

  • في درس المفاتيح الخارجية، النتيجة التي يجب أن تتحقق: نفّذ الاستعلام على بيانات تجريبية واقرأ النتيجة قبل الانتقال إلى الحالة التالية.
  • في سياق المفاتيح الخارجية، الخطر الذي يجب أن يبقى تحت السيطرة: تخزين أسماء مرتبطة بدل Keys يصنع Duplicates ويجعل Updates عاجزة عن حفظ Referential Integrity.
  • تطبيق المفاتيح الخارجية: صمم علاقات Customer وOrder وProduct بالمفاتيح وحدد One-to-many وMany-to-many.
Diagram

ربط الجداول بالمفتاح الخارجي

تطبيق عملي

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

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

جرّب بنفسك

Practice

تمرين المفاتيح الخارجية

صمم علاقات Customer وOrder وProduct بالمفاتيح وحدد One-to-many وMany-to-many.

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

الخلاصة