📚 إنشاء العلاقات بين الجداول في قاعدة البيانات
المفاهيم الأساسية
فرض التكامل المرجعي (Enforce Referential Integrity): خاصية عند إنشاء العلاقة تضمن أن تكون البيانات في الجدول المرتبط متسقة، وتمنع حذف أو تعديل البيانات التي يعتمد عليها جدول آخر.
خريطة المفاهيم
```markmap
قواعد البيانات
مراحل البناء
4. إنشاء قاعدة البيانات
#### استخدام أداة معالجة قواعد البيانات
##### مثال: مايكروسوفت أكسس (Microsoft Access)
###### التفاعل مع الجدول
###### إنشاء الجداول
####### خصائص الحقول في طريقة عرض التصميم
######## أنواع البيانات
- نص مختصر
- رقم
- ترقيم تلقائي (AutoNumber)
######## خصائص الحقل
######### الغرض
- إلزام تعبئة الحقل بالبيانات
- ضمان تكامل البيانات
- منع الأخطاء والتناقضات
######### طريقة التعيين
فتح الجدول في طريقة عرض التصميم
تحديد الحقل المطلوب
تعيين الخاصية "مطلوب" إلى "نعم"
حفظ الجدول
التحويل إلى طريقة عرض ورقة البيانات
######### النتيجة
- ظهور رسالة خطأ عند محاولة حفظ سجل دون إكمال الحقل
- منع حفظ السجل حتى يتم إدخال القيمة
###### إدخال البيانات في طريقة عرض ورقة البيانات
####### مثال: جدول "بيانات الطلبة"
- رقم الطالب (ترقيم تلقائي)
- الاسم (نص مختصر - حقل مطلوب)
- اسم العائلة (نص مختصر)
- العنوان الوطني (نص مختصر)
- الصف الدراسي (نص مختصر)
- رقم الفصل (رقم)
####### عملية الإدخال
- يظهر سجل جديد برمز (*) في حقل الترقيم التلقائي
- يجب إدخال البيانات في الحقول المطلوبة (مثل "الاسم")
- عند ترك حقل مطلوب فارغاً، تظهر رسالة خطأ تمنع حفظ السجل
###### المفاتيح الأساسية
####### المفتاح الأساسي (Primary Key)
- يضمن أن يكون لكل سجل رقم تسلسلي فريد
- يجعل السجلات مميزة وقابلة للتحديد
- مثال: حقل السجل المدني في قاعدة بيانات الموظفين
####### اختيار المفتاح الأساسي
- يعتمد على خصائص البيانات المخزنة والقيود التي تنطبق عليها
- مثال جيد: رقم السجل المدني للعميل (فريد لكل عميل)
####### أمثلة على جداول بالمفاتيح الأساسية
- قاعدة بيانات الموارد البشرية: المفتاح الأساسي هو "السجل المدني"
- قاعدة بيانات المركبات: المفتاح الأساسي هو "رقم اللوحة"
- قاعدة بيانات المستشفى: المفتاح الأساسي هو "الرقم الصحي الشخصي"
###### المفتاح الأجنبي (Foreign Key)
- حقل أو مجموعة حقول، تكون قيمته مطابقة لقيمة المفتاح الأساسي في جدول آخر
###### إنشاء جداول إضافية
####### جدول "المواد الدراسية"
- رقم المادة (ترقيم تلقائي)
- اسم المادة (نص مختصر)
####### جدول "درجات الطلبة"
- رقم الطالب (رقم)
- رقم المادة (رقم)
- درجة منتصف الفصل الدراسي الأولى (رقم)
- الدرجة النهائية للفصل الدراسي الأول (رقم)
- درجة منتصف الفصل الدراسي الثاني (رقم)
- الدرجة النهائية للفصل الدراسي الثاني (رقم)
- درجة منتصف الفصل الدراسي الثالث (رقم)
- الدرجة النهائية للفصل الدراسي الثالث (رقم)
- الدرجة النهائية (رقم)
###### تعيين المفاتيح
####### طريقة تعيين المفتاح الأساسي
فتح الجدول في طريقة عرض التصميم (Design View)
تحديد الحقل أو الحقول المراد استخدامها (مثل رقم المادة)
الضغط على زر "مفتاح أساسي" (Primary Key)
####### إنشاء العلاقات
- في جدول "درجات الطلبة"، يُحدد حقل "رقم المادة" كمفتاح أساسي
- يُحدد حقل "رقم الطالب" كمفتاح خارجي
- يتم إنشاء علاقة بين جدول "المواد الدراسية" و"درجات الطلبة" عبر تحديد المفتاح الأساسي في علامة تبويب التصميم (Design) ضمن مجموعة الأدوات (Tools)
####### معلومة
- يمكن تعيين حقل كمفتاح أساسي وحقل آخر في نفس الجدول كمفتاح أجنبي عن طريق تحديد الحقول معاً باستخدام زر Ctrl
###### علاقات الجدول
####### أنواع العلاقات
- علاقة واحد إلى واحد (1-1)
- علاقة واحد إلى متعدد (1-∞)
- علاقة متعدد إلى متعدد (∞-∞)
####### علاقة واحد إلى واحد (1-1)
- يرتبط كل سجل في الجدول الأول بسجل واحد فقط في الجدول الثاني.
- يتساوى عدد السجلات في الجدولين.
- مثال: جدول الطالب وجدول البيانات الطبية.
- مثال: رقم المعلم الوظيفي (معلم واحد ↔ رقم وظيفي واحد).
####### علاقة واحد إلى متعدد (1-∞)
- علاقة رأس بأطراف.
- السجل الواحد في الجدول الرئيس يقابله أكثر من سجل في الجدول الآخر المرتبط به.
- العكس غير صحيح.
- مثال: كل معلم يعمل في مدرسة واحدة فقط، في حين أن المدرسة يعمل بها أكثر من معلم.
####### علاقة متعدد إلى متعدد (∞-∞)
- يقابل كل سجل من الجدول الرئيسي عدة سجلات في الجدول المرتبط به والعكس صحيح.
- مثال: المعلمين والطلبة (علاقة أطراف بأطراف).
- تحتاج إلى جدول وسيط (جدول وصلات) لربط الجدولين.
###### إنشاء العلاقات بين الجداول
####### الخطوات العملية في Microsoft Access
من علامة تبويب أدوات قاعدة البيانات (Database Tools)، ومن مجموعة العلاقات (Relationships)، اضغط على علاقات (Relationships).
من لوحة إضافة الجداول (Add Tables)، حدد جميع الجداول واضغط على إضافة الجداول المحددة (Add Selected Tables)، ثم اضغط على إغلاق (Close).
اسحب حقل رقم المادة من جدول المواد الدراسية وأفلته في خانة رقم المادة من جدول درجات الطلبة.
من نافذة تحرير علاقات (Edit Relationships) اضغط على فرض التكامل المرجعي (Enforce Referential Integrity) واضغط على إنشاء (Create).
بنفس الطريقة، اسحب حقل رقم الطالب من جدول بيانات الطلبة وأفلته في حقل رقم الطالب الموجود في جدول درجات الطلبة.
من نافذة تحرير علاقات (Edit Relationships) اضغط على فرض التكامل المرجعي (Enforce Referential Integrity) واضغط على إنشاء (Create).
####### النتيجة
- تصبح الجداول مرتبطة معاً بعلاقات.
```
نقاط مهمة
- يتم إنشاء العلاقات من خلال علامة التبويب أدوات قاعدة البيانات (Database Tools).
- العلاقة تربط حقلًا في جدول (مثل رقم المادة) بحقل مطابق في جدول آخر (مثل رقم المادة في جدول آخر).
- تفعيل خاصية فرض التكامل المرجعي عند إنشاء العلاقة يضمن دقة واتساق البيانات بين الجداول المرتبطة.