الدرس الثالث أكسس : العلاقات Relations







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


كما تلاحظ في الصورة اعلاه فقد قمة بملء الجدول بالطريقة التقليدية اي يدويا مما استرق وقت اطول و هناك نسبة عالية للخطء جراء الكتابة المتكررة لنفس المعلومات (تخيل يكون عندك 100 كتاب بنفس الكاتب ؟؟؟؟؟؟ ) فما هو الحل ؟؟


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



أنواع العلاقات

هنالك ثالثة انواع  من العلاقات

  1.  علاقات من واحد  الى العديد (one to many )
  2. علاقات من واحد الي واحد  (one to one)
  3. علاقات من نوع متعدد الي متعدد( many to many )

 سنتطرق في هذا الدرس على الطريقة الأولى فقط
واحد إلى العديد (one to many)

 هو النوع الأكثر شيوعا من العلاقة. في هذا النوع من العلاقة، يمكن أن يحتوي صف في الجدول A على العديد من الصفوف المطابقة في الجدول A. على سبيل المثال، تحتوي جداول "Author" و "Books" على واحد إلى العديد من العلاقة. أي أن كل ناشر ينتج العديد من الكتب. ولكن كل عنوان يأتي من ناشر واحد فقط.



إنشاء العلاقات بين الجدول :

1- انقر على Outils de base de données بعد حفظ الجدولين و إغلاقهما .


2- انقر على Relation 


3-انقر على Afficher la table



تظهر لك نافذة فيها قائمة الجداول الخاصة بك قم بتحددهما و انقر على  Ajouter





4- قم  بحمل Clé primaire للجدول Author الذي هو id الى حقل Author  في الجدول Books


5- قم بحديد الخانات الثلات لتسمح بتحديث العلاقة عند تحديث او تغير الجداول


عندما نعود لجدول Author نجد علامة + جديدة  امام الحقل الأول أنقر عليها و سترى الكتب التي  الفها الكاتب متفرعة 

بعد النقر على رمز +



شروط أنشاء علاقة بين جدولين :

1-وجود حقل مشترك واحد على الأقل بين الجدولين .
في مثالنا الحقلين المشتركين هما 
ID  من جدول Author 
Author من جدول Books 
 حيث كلهما يعبران على نفس المعلومة الا و هي هوية الكاتب

2-ان يكون الحقلين المشتركين من نفس النوع type de données .
في مثالنا نوع الحقل ID هو NuméroAuto 
و نوع الحقل Author هو Numérique

3-ان يكون للحقلين نفس طول الرموز.


ان لم تفهم من الشرح المكتوب تابع الفيديو اسفله يوضح عملية انشاء علاقة بين جدولين





ملاحظة! : عند نقلك للموضوع حاول ان تذكر المصدر لينتفع الزائر ، وايضاَ احتراما وتقديراَ للجهود المبذولة.