الدرس 9: نمذجة العلاقات: واحد لواحد (1:1)
تصف العلاقات كيفية تفاعل كيانين. علاقة 1:1 هي الأبسط، على الرغم من أنها الأقل شيوعًا.
تعريف علاقة واحد لواحد (1:1)
تعني علاقة 1:1 أنه مقابل كل سجل في الجدول A، يوجد سجل واحد على الأكثر مطابق في الجدول B، والعكس صحيح.
متى تستخدم 1:1؟
بينما يمكنك وضع جميع البيانات في جدول واحد، هناك حالات يكون فيها تقسيم البيانات إلى جدولين مفيدًا:
- الأمان/الخصوصية: تخزين البيانات شديدة الحساسية (مثل السجلات الطبية أو معلومات الرواتب المفصلة) في جدول منفصل وأكثر تقييدًا.
- الأداء: إذا كان الجدول يحتوي على العديد من الأعمدة وكان بعضها نادر الوصول إليه (مثل حقل نصي ضخم للسيرة الذاتية
Biography)، فإن فصلها يحسن سرعة الاستعلام للعمليات الشائعة.
تطبيق 1:1
لفرض قاعدة 1:1، يجب أيضًا تعيين المفتاح الخارجي في الجدول الثانوي على أنه فريد (UNIQUE).
مثال: الموظفون وتصاريح وقوف السيارات
يمكن أن يكون لكل موظف تصريح وقوف سيارات واحد فقط، وينتمي كل تصريح إلى موظف واحد فقط.
- الجدول A (Employees): المفتاح الأساسي =
EmployeeID - الجدول B (Permits): المفتاح الخارجي =
EmployeeID(يجب أن يكون فريدًا أيضًا)
sql CREATE TABLE Permits ( PermitID INTEGER PRIMARY KEY, EmployeeID INTEGER UNIQUE, -- يجعل العلاقة 1:1 IssueDate DATE, FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID) );