القائمة الرئيسية

الصفحات

العلاقة Relationships Many To Many فى SQL Server


السلام عليكم ورحمة الله وبركاته



الدرس الثالث من دروس العلاقات  Many To Many

سنستخدم نفس قاعدة البيانات السابقة ، وسننشئ فى هذا الدرس 3 جداول لبناء هذه العلاقة .

الجدول الاول للطلاب والجدول الثانى للكورسات حيث يمكن لأكثر من طالب دراسة أكثر من كورس .
فى هذا الحالة نحتاج لجدول وسيط بين الجدولين يربط كلا من الجدولين من Id الخاص بهم كما فى صورة عنوان الدرس ، ونلاحظ ان علاقة من كلا الجدولين للجدول الوسيط One To Many أى ان الجدول الوسيط هذا به الحقول الاجنبية من العلاقة  اى Fornign Key .

الجدول الاول : { Id = int } &   { StudentName = nvarchar(50) } بإسم TblStudents
الجدول الثانى : { Id = int } & {CourseName = int } بإسم TblCourses
الجدول الثالث : { IdStudent = int } & {IdCourse = int } بإسم TblStudentCourse

فى الجدول الاول والثانى نقوم بعمل ترقم تلقائى للحقل Id كما شرحنا فى الدروس السابقة
فى الجدول الثالث نحدد الحقلين Id ونقوم بعمل الحقلين مفتاح اساسى بدون عمل ترقيم تلقائى 

بعد انشاء جداول كما فى صورة الدرس وفى وضع Design جدول TblStudentCourse نضغط على Relationships لعمل العلاقة  ثم Add


نجد فى شاشة بناء العلاقة ان خانتين للحقول فى جداول العلاقة  نختار من على اليمين جدول الحقل الاساسى الكورسات ونختار من الجدول الحقل الاجنبى حقل IdCourse و الحقول الاخرى نعمل <None>
ثم Ok نضغط Add مرة أخرى لأضافة علاقة جدول الطلاب بنفس الطريقة.


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

نجرب اضافة اسماء الكورسات واسماء الطلاب

صورة مجمعة لجدولين الطلاب والكورسات بعد اضافة البيانات لهما


هنا فى جدول العلاقة نجد ان الطالب الاول على  اجتاز الثلاث كورسات المتاحة والطالب الثانى أجتاز الكورس الاول
لكن عند تكرار نفس الكورس لنفس الطالب فانه يحدث خطأ ولا يحفظ البيانات.






تعليقات