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

One to Many Relationship Pattern علاقة واحد لمتعدد العلائقية

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

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

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

تُعد علاقة واحد لمتعدد (1:N) العمود الفقري لتصميم قواعد البيانات العلائقية (مثل: قسم واحد يضم عدة موظفين، أو عميل واحد ينشئ عدة طلبات):

  • القاعدة الذهبية لموقع المفتاح الأجنبي: يوضع عمود المفتاح الأجنبي دائماً في جدول الطرف «المتعدد» (الابن) ليشير إلى المفتاح الأساسي في جدول الطرف «الواحد» (الأب).
  • قبول تكرار المفتاح الأجنبي: نظراً لأن العميل الواحد قد يطلب 10 مرات، فإن العمود customer_id داخل جدول orders يسمح بتكرار رقم العميل عبر عدة صفوف.
SQL
CREATE TABLE orders (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  customer_id INT UNSIGNED NOT NULL,
  order_total DECIMAL(10, 2) NOT NULL,
  CONSTRAINT fk_orders_customer
    FOREIGN KEY (customer_id) REFERENCES customers(id)
    ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;