لماذا يهم هذا الدرس؟
فهم المفاتيح الخارجية وربطه بمثال علائقي عملي واضح. تعطي Primary Keys الصفوف هوية ثابتة وتحمي Foreign Keys المراجع بين الجداول وتحدد Cardinality مكان تلك المفاتيح.
كيف تفكر فيه؟
- في درس المفاتيح الخارجية، النتيجة التي يجب أن تتحقق: نفّذ الاستعلام على بيانات تجريبية واقرأ النتيجة قبل الانتقال إلى الحالة التالية.
- في سياق المفاتيح الخارجية، الخطر الذي يجب أن يبقى تحت السيطرة: تخزين أسماء مرتبطة بدل Keys يصنع Duplicates ويجعل Updates عاجزة عن حفظ Referential Integrity.
- تطبيق المفاتيح الخارجية: صمم علاقات Customer وOrder وProduct بالمفاتيح وحدد One-to-many وMany-to-many.
ربط الجداول بالمفتاح الخارجي
customers.id
IDrelation_key1 — Norders.customer_id
IDrelation_key1 — NFK Constraint
IDrelation_keyتطبيق عملي
في التطبيق الخاص بدرس المفاتيح الخارجية: نفّذ الاستعلام على بيانات تجريبية واقرأ النتيجة قبل الانتقال إلى الحالة التالية.
example.sqlsql
CREATE TABLE orders (
id BIGINT PRIMARY KEY,
customer_id BIGINT NOT NULL REFERENCES customers(id)
);جرّب بنفسك
تمرين المفاتيح الخارجية
صمم علاقات Customer وOrder وProduct بالمفاتيح وحدد One-to-many وMany-to-many.
- سجل النتيجة المتوقعة قبل التنفيذ
- اختبر حالة صحيحة وحالة فشل مرتبطة بالدرس
- اشرح في سطرين أين يوجد الحد المسؤول عن القرار
