تحية طيبة للجميع
الملف المرفق تتكون من جدولين (Employee) و (Traning) واريد عمل علاقة many to many و اذا امكن شرح بسيط عن هذه العلاقة
تحية طيبة للجميع
الملف المرفق تتكون من جدولين (Employee) و (Traning) واريد عمل علاقة many to many و اذا امكن شرح بسيط عن هذه العلاقة
farhad كتب:تحية طيبة للجميع
الملف المرفق تتكون من جدولين (Employee) و (Traning) واريد عمل علاقة many to many و اذا امكن شرح بسيط عن هذه العلاقة
الأخ الكريم، علاقة متعدد إلى متعدد في قواعد البيانات العلائقية لا يمكن تمثيلها باستخدام جدولين فقط، لا بد من جدول ثالث وسيط لكسر هذه العلاقة إلى علاقتين من نوع واحد إلى متعدد، كما تجد المثال في الملف المرفق (تم افتراض أن جدول Traning هو شيء من قبيل دورات تدريبية للموظفين، وأن كل موظف قد يلتحق بأكثر من دورة تدريبية واحدة، والدورة الواحدة تضم أكثر من موظف. كما تم افتراض أن الموظف قد يلتحق بنفس الدورة أكثر من مرة من أجل المرونة).
من أجل شرح مبسط عن هذا النوع وبقية أنواع العلاقات (وفي الحقيقة، من أجل نقاش شامل عن قضايا تصميم قواعد البيانات) أرجو الاطلاع على السلسلة التي تجد رابطها في توقيعي أدناه. ومن أجل سرعة الاطلاع، أزودك هنا برابط مباشر إلى واحدة من الصفحات التي ناقشت العلاقات بشكل مباشر:
/index.php?showtopic=191995&view=findpost&p=975023
في مثالنا هذا، ينبغي إنشاء جدول لدورات الموظفين التي أخذوها بالفعل، بحيث يكون المفتاح الأساسي لهذا الجدول هو مزيج من رقم الموظف (من جدول الموظفين) ومن رقم الدورة (من جدول الدورات) وبشكل اختياري يمكن إضافة تاريخ بدء الدورة إلى المفتاح الأساسي حتى نسمح لكل موظف أن يلتحق بالدورة أكثر من مرة. أرقام الموظفين يمكن أن تتكرر في هذا الجدول الوسيط، وكذلك أرقام الدورات، لأن كلاً منهما هو جزء من المفتاح الأساسي، لكن لم نكن نستطع أن نكرر أرقام الموظفين في جدول الموظفين (مع كل دورة يأخذها الموظف) ولا أن نكرر أرقام الدورات في جدول الدورات (مع كل موظف يأخذ الدورة)، لأن هذه الأرقام هي مفاتيح أساسية في جدولها، والمفتاح الأساسي لا يتكرر طبعاً؛ لذلك احتجنا إلى الجدول الوسيط من أجل كسر هذه العلاقة إلى علاقتين أبسط. المزيد من التوضيح في الرابط أعلاه إن شاء الله.
والله أعلم.
تم تعديل هذه المشاركة بواسطة أحمد مبارك الحيقي في 26 نوفمبر 2009 في 09:36
شكرا لك يااستاذى اتمنى لك تقدم دائم إن شاء الله