العودة إلى الدورة

نمذجة العلاقات: واحد لواحد (1:1)

أساسيات قواعد البيانات: من الصفر إلى الاحتراف

الدرس 9: نمذجة العلاقات: واحد لواحد (1:1)

تصف العلاقات كيفية تفاعل كيانين. علاقة 1:1 هي الأبسط، على الرغم من أنها الأقل شيوعًا.

تعريف علاقة واحد لواحد (1:1)

تعني علاقة 1:1 أنه مقابل كل سجل في الجدول A، يوجد سجل واحد على الأكثر مطابق في الجدول B، والعكس صحيح.

متى تستخدم 1:1؟

بينما يمكنك وضع جميع البيانات في جدول واحد، هناك حالات يكون فيها تقسيم البيانات إلى جدولين مفيدًا:

  1. الأمان/الخصوصية: تخزين البيانات شديدة الحساسية (مثل السجلات الطبية أو معلومات الرواتب المفصلة) في جدول منفصل وأكثر تقييدًا.
  2. الأداء: إذا كان الجدول يحتوي على العديد من الأعمدة وكان بعضها نادر الوصول إليه (مثل حقل نصي ضخم للسيرة الذاتية Biography)، فإن فصلها يحسن سرعة الاستعلام للعمليات الشائعة.

تطبيق 1:1

لفرض قاعدة 1:1، يجب أيضًا تعيين المفتاح الخارجي في الجدول الثانوي على أنه فريد (UNIQUE).

مثال: الموظفون وتصاريح وقوف السيارات

يمكن أن يكون لكل موظف تصريح وقوف سيارات واحد فقط، وينتمي كل تصريح إلى موظف واحد فقط.

  1. الجدول A (Employees): المفتاح الأساسي = EmployeeID
  2. الجدول B (Permits): المفتاح الخارجي = EmployeeID (يجب أن يكون فريدًا أيضًا)

sql CREATE TABLE Permits ( PermitID INTEGER PRIMARY KEY, EmployeeID INTEGER UNIQUE, -- يجعل العلاقة 1:1 IssueDate DATE, FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID) );