انتقل إلى محتوى الدرس

Parent Child FOREIGN KEY Links ربط الجداول بقيد FOREIGN KEY

تعلّم قيد المفتاح الأجنبي FOREIGN KEY والتكامل المرجعي بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
8 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يربط قيد المفتاح الأجنبي FOREIGN KEY عموداً داخل الجدول الابن (مثل orders.customer_id) بالمفتاح الأساسي أو الفريد في الجدول الأب (مثل customers.id). ويفرض محرك InnoDB التكامل المرجعي (Referential Integrity) بحيث يستحيل تسجيل طلب لعميل غير موجود أصلاً (Error 1452):

  • الجدول الأب (Parent Table): الجدول المرجعي الذي يحتوي على المفتاح الأساسي الأصلي (customers).
  • الجدول الابن (Child Table): الجدول التابع الذي يضم عمود المفتاح الأجنبي المرتبط بالأب (orders).
مخطط يوضح ربط الجدول الأب والابن عبر FOREIGN KEY وأفعال التكامل المرجعي CASCADE وSET NULL وRESTRICT في InnoDB
SQL
CREATE TABLE customers (
    id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    full_name VARCHAR(100) NOT NULL,
    PRIMARY KEY (id)
);
CREATE TABLE orders (
    order_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    customer_id BIGINT UNSIGNED NOT NULL,
    PRIMARY KEY (order_id),
    CONSTRAINT fk_orders_customer
        FOREIGN KEY (customer_id) REFERENCES customers (id)
);