العلاقات بين الجداول في Access

مفهوم العلاقات بين الجداول

تكمن قوة قاعدة البيانات العلائقية في توفيرها القدرة على ربط البيانات في الجداول. للقيام بذلك، تحتاج إلى إنشاء العلاقات بين الجداول وبعد ذلك يقوم أكسس Access بشكل تلقائي بالعمل على ربط البيانات في الاستعلامات والنماذج والتقارير التي تقوم بإنشائها بحسب احتياجاتك. كما يمكنك إنشاء أنواع مختلفة من العلاقات بين الجداول وعرضها أو تحريرها أو حذفها. ومن أكثر العلاقات شيوعًا هي علاقة رأس بأطراف، والتي سوف يتم شرحها بالتفصيل في هذا الموضوع.

ملاحظة: إذا فتحت قاعدة بيانات فارغة أو لم تقم بتعريف أي علاقات بين الجداول فيها بعد، سيطالبك Access بإضافة جدول أو استعلام إلى منطقة العلاقات. ومن المنطقي أنه قبل أن تتمكن من إضافة أي علاقة، فإنك تحتاج إلى جدولين على الأقل. والطريقة الأفضل هي البدء بإنشاء كل الجداول أولا ثم الانتقال لمرحلة إنشاء العلاقات بين الجداول.

أسلوب عرض العلاقات

لعرض كل العلاقات الموجودة في قاعدة بيانات، افتح قاعدة البيانات في Access، وانتقل إلى علامة التبويب أدوات قاعدة البيانات، وحدد علاقات.

تُشير الخطوط الموجودة في طريقة عرض العلاقات إلى الارتباطات المتوفرة بين الجداول.

في الشكل التالي، الجدول الموجود ناحية اليمين هو الجدول الأصلي، والجدول الموجود ناحية اليسار هو الجدول التابع. يقوم الخط بينهما بتوصيل الحقول (في هذه الحالة، معرّف الطلب ومعرًف المنتج) المستخدمة لربط البيانات بين الجدولين “الطلبات” و”تفاصيل الطلب”.

أسلوب عرض العلاقات
أسلوب عرض العلاقات بين الجداول

تعرض لك الخطوط والرموز كيفيه ارتباط الجداول، وهي كما يلي:

  • يعني خط الارتباط السميك أنك تقوم بفرض تكامل البيانات المرجعية. بمعنى يتوجب أن تكون البيانات في الجدولين متكاملة. وهذا بدوره يعني أنه سيتم الاحتفاظ بالبيانات الخاصة بك في الجدولين بشكل متزامن.
  • في الشكل أعلاه مثلا، يُشير الرقم 1 إلى أنه يمكن أن يكون هناك سجل مطابق واحد فقط في هذا الجدول. في جدول “الطلبات” الموضح في المثال، يتم فقط مطابقة سجل واحد مع كل طلب.
  • يُشير رمز ∞ إلى أن العديد من السجلات يمكن أن تتضمن المعرًف نفسه المستخدم في العلاقة. في جدول تفاصيل الطلبات الذي يظهر في هذا المثال، قد يظهر أي طلب (يُشار اليه بواسطة معرف الطلب) أكثر من مرة واحدة، لأن الطلب نفسه قد يشمل منتجات متعددة والتي تظهر في كل طلب.

أنواع العلاقات بين الجداول

هناك ثلاثة أنواع من العلاقات بين الجداول يمكن إنشائها في قاعدة بيانات أكسس Access وهي:

  • علاقة واحد لواحد: عند ظهور كل عنصر في كل جدول مرة واحدة فقط. على سبيل المثال، يمكن أن يكون لكل موظف سيارة شركة واحدة فقط للاستخدام. وبالتالي يتم ربط جدول الموظفين بجدول سيارات الشركة بعلاقة من نوع واحد لواحد.
  • علاقة رأس بأطراف: عندما يكون لعنصر واحد في أحد الجداول علاقة بعناصر متعددة في جدول آخر. على سبيل المثال، يمكن أن يكون هناك علاقة رأس بأطراف بين جدول المنتجات وجدول المبيعات، لأن كل منتج سوف يكون له سجلات مبيعات متكررة.
  • علاقة متعدد إلى متعدد: عندما يكون لواحد أو أكثر من العناصر الموجودة في أحد الجدول علاقة بعنصر واحد أو أكثر في جدول آخر. على سبيل المثال، يمكن أن تحتوي كل طلبية على منتجات متعددة، ويمكن أن يظهر كل منتج في العديد من الطلبيات، وبالتالي فإن علاقة من نوع متعدد إلى متعدد سوف تكون مناسبة بين جدولي المنتجات والطلبيات.

علاقة رأس بأطراف

إحدى العلاقات الأكثر شيوعًا بين الجداول في قواعد البيانات المصممة بشكل جيد في أكسس Access هي علاقة واحد لأكثر أو رأس بأطراف.

تعتمد العلاقات بين الجداول عادة على وجود المفتاح الأساسي في أحد الجداول. والمفتاح الأساسي عبارة عن معرّف فريد (عادة رقمي) لكل سجل. لإظهار أن المعلومات الموجودة في جدولين مختلفين مرتبطة، يمكنك عادة إنشاء علاقة باستخدام المفتاح الأساسي من أحد الجداول لضمان عدم تكرار العنصر في الجدول الأساسي المتبوع.

في العلاقة التي تظهر في المثال التالي، كل شخص في جدول قائمة الاتصال يملك معرفًا، وهو المفتاح الأساسي (المُشار إليه بواسطة رمز المفتاح الموجود بجانبه). يظهر هذا المعرّف أيضًا في حقل المالك في جدول الأصول. لإرسال بريد إلكتروني إلى الشخص المقترن بأحد الأصول، احصل على القيمة من الحقل عنوان البريد الكتروني. للقيام بذلك، ابحث عن القيمة الموجودة في حقل المالك في جدول الأصول، ثم ابحث عن هذا المعرف في جدول قائمة الاتصال. يشير الرقم 1 في نهاية خط الاتصال ورمز ∞ في نهاية الطرف الآخر إلى أن هذه العلاقة هي من نوع واحد لأكثر أو علاقة رأس بأطراف، لذا فقد تكون هناك جهة اتصال واحدة مقترنة بالعديد من الأصول.

مثال علاقة رأس بأطراف - أنواع العلاقات بين الجداول
مثال علاقة رأس بأطراف – أحد أنواع العلاقات بين الجداول

تحرير العلاقات بين الجداول

إذا كنت تقوم بتعديل قاعدة بيانات موجودة في أكسس Access أو إذا قمت بإنشاء قاعدة بيانات من قالب، فيمكنك تحرير العلاقات الموجودة بين الجداول لتلبية احتياجاتك.

ملاحظة: إذا كانت الجداول التي تريد العمل عليها قيد الاستخدام، فعليك أولا إغلاقها، بالإضافة إلى إغلاق أي كائنات مفتوحة تستخدمها.

لتحرير علاقة موجودة:

1. حدد أدوات قاعدة البيانات > العلاقات.

2. حدد العلاقة التي تريد تحريرها من خلال تحديد الخط الذي يصل بين جدولين مرتبطين.

تلميح: إذا لم تتمكن من رؤية العلاقة التي تريدها، فضمن علامة التبويب تصميم، في المجموعة علاقات، حدد كافة العلاقات.

3. على علامة التبويب تصميم، حدد تحرير علاقات.

تحرير علاقة حاليه بين الجداول
تحرير علاقة حالية بين الجداول

في الشكل أعلاه يظهر أماماك ما يلي:

  • الجدول/الاستعلام: هو الجدول الأصلي على اليمين (في هذا المثال، جدول العملاء).
  • الجدول/الاستعلام المرتبط: هو الجدول التابع (في هذا المثال، الطلبيات).

حتى إذا لم تظهر الجداول بهذا الترتيب في طريقة عرض العلاقات، فإن موضعها في مربع الحوار يُشير إلى اتجاه الخط الذي يتصل به والعلاقة. هذا مهم، على سبيل المثال، هذه علاقة رأس بأطراف، لأنها تُشير إلى أن الجدول الموجود على اليمين هو (الجدول الأصلي) والجدول الموجود على اليسار يمثل الأطراف (الجدول التابع).

4. لتغيير الحقول التي تربط الجداول، حدد حقلا مختلفًا أسفل كل جدول معروض. في هذا المثال، يتصل حقل المعرّف في جدول العملاء بالحقل معرف العميل في جدول الطلبات.

5. لتغيير العلاقة بين الجداول من صلة داخلية إلى صلة خارجية، حدد الزر الانضمام إلى نوع.

6. تغيير طريقه مزامنة أكسس Access للبيانات بين الجداول: وفيما يلي الخيارات الثلاثة التي يوفرها أكسيس:

فرض التكامل المرجعي

لمنع البيانات غير الصالحة وللاحتفاظ بالمراجع في المزامنة عبر علاقات الجدول، حدد خيار فرض التكامل المرجعي.

على سبيل المثال، افترض أن لديك علاقة رأس برأس بين الموظفين وجداول مزايا الموظفين. إذا غادر أحد الموظفين الشركة وقمت بإزالته من جدول “الموظفون”، ستتم إزالة سجل الموظف ذي الصلة في جدول ميزات الموظف أيضًا. في بعض الأحيان لا يكون فرض التكامل المرجعي منطقيًا. على سبيل المثال، افترض أن لديك علاقة رأس بأطراف بين الموردين والطلبات. إذا فرضت التكامل المرجعي هنا فإنه في حالة حذف مورد، سوف يتم حذف كل الطلبات التي جرت من طرفه، وهذا أمر غير مطلوب في هذه الحالة حيث أن إدارة الحسابات المالية تتطلب الاحتفاظ بكل الطلبيات من كل الموردين حتى في حالة حذف مورد قديم من جدول الموردين.

تتالي تحديث الحقول المرتبطة

للتأكد من تحديث البيانات الموجودة في الحقول المرتبطة في كل الجداول المرتبطة، حدد هذا الخيار. على سبيل المثال، افترض أنك أردت تغيير معرف المورد. يؤدي تعيين هذا الخيار إلى ضمان تحديث معرف المورد، وليس فقط في جدول الموردين، ولكن أيضًا في الجداول الأخرى المرتبطة به والتي تتضمن أيضًا معرف المورد، مثل جدول الطلبات.

تتالي حذف السجلات المرتبطة

يعتمد قرار تحديد هذا الخيار على ما إذا كنت تحتاج إلى الاحتفاظ بالسجلات في بعض الجداول على الرغم من أنه قد يتم حذفها من جداول أخرى مرتبطة بها. على سبيل المثال، افترض أنك قمت بحذف المورد. إذا تم تحديد هذا الخيار، سيحذف أكسس Access كل السجلات في كل الجداول التي تُشير إلى معرف المورد هذا، بما في ذلك كافة الطلبات (في جدول “الطلبات”) التي تم توريدها بواسطة هذا المورد. يمكنك فقط تحديد هذا الخيار إذا كنت متاكدًا من رغبتك في حذف محفوظات الطلبات.

حذف علاقة جدول

ملاحظة: إذا كانت الجداول التي تريد العمل عليها قيد الاستخدام، فعليك أولا إغلاقها، بالإضافة لإغلاق أي كائنات مفتوحة تستخدمها.

لإزاله علاقة جدول:

  1. حدد أدوات قاعدة البيانات > العلاقات.
  2. حدد الخط الذي يصل الجدولين المرتبطين. تلميح: إذا لم تتمكن من رؤية العلاقة التي تريدها، فضمن علامة التبويب تصميم، في المجموعة علاقات، حدد كافة العلاقات.
  3. انقر مفتاح الحذف Delete. إذا تمت مطالبتك بتأكيد رغبتك في حذف العلاقة، فحدد نعم.

ملاحظة: عند إزاله علاقة، يمكنك أيضًا إزالة دعم التكامل المرجعي لهذه العلاقة، إذا كانت هناك. نتيجة لذلك، لن يقوم Access بمنع التغييرات التي تؤدي إلى ظهور السجلات المعزولة على الجانب المتعدد من علاقة رأس بأطراف.

المصدر

  • نظام إدارة قواعد البيانات مايكروسوفت أكسس Microsoft Access، د. م. مصطفى عبيد، مركز البحوث والدراسات متعدد التخصصات، 2022.
  • الموقع الرسمي لشركة مايكروسوفت Microsoft.
error:
Scroll to Top