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

One to One Relationship Pattern علاقة واحد لواحد بـ UNIQUE

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

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

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

تربط علاقة واحد لواحد (1:1) سجلاً واحداً في الجدول الأول بسجل واحد فقط على الأكثر في الجدول الثاني (مثل جدول الحسابات السريع users وجدول الهوية التفصيلي user_profiles):

  • متى نستخدم فصل 1:1؟ لعزل البيانات السرية الحساسة أو الحقول النصية الضخمة النادرة الاستخدام عن جدول تسجيل الدخول السريع.
  • كيف نفرض 1:1 برمجياً في SQL؟ بإضافة قيد التفرد UNIQUE على عمود المفتاح الأجنبي، أو جعل عمود المفتاح الأجنبي نفسه هو PRIMARY KEY للجدول التابع.
SQL
CREATE TABLE user_profiles (
  user_id INT UNSIGNED PRIMARY KEY,
  passport_no VARCHAR(30) NOT NULL UNIQUE,
  bio_summary TEXT,
  CONSTRAINT fk_profile_user
    FOREIGN KEY (user_id) REFERENCES customers(id)
    ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;