أنواع العلاقات بين الجداول:
توجد أربعة أنواع رئيسية للعلاقات بين الجداول:
1- علاقة
"واحد بمتعدّد" One-to-many
Relationship:
تسمّى العَلاقة بين
جدول المؤلفين وجدول الكتب في المثال السابق بعلاقة "واحد بمتعدّد" One-to-many Relationship، وذلك لأنّ مؤلفًا واحدا يمكن أن يكون له أكثر من
كتاب.
2- علاقة
"متعدّد بمتعدّد" Many-to-many
Relationship:
افترض أن لدينا كتابا
اشترك في تأليفه أكثر من مؤلف.. في هذه الحالة لن نضع العمود AuthorID في جدول الكتب، وبدلا من هذا سننشئ جدولا ثالثا هو جدول
"مؤلفو الكتب" BooksAuthors.. هذا الجدول يسمى جدول الربط Link Table أو جدول الاتصال
Junction
table،
وهو
يتكون من عمودين فقط: رقم الكتاب BookID ورقم المؤلف AuthorID كالتالي:
AuthorID
|
BookID
|
23
|
1
|
106
|
1
|
8
|
2
|
8
|
3
|
حيث اشترك المؤّلفان
رقما 23 و 106 في تأليف الكتاب رقم 1، بينما قام المؤلف رقم 8 بتأليف الكتابين
رقمي 2 و 3.. هذه هي علاقة متعدّد بمتعدّد Many-to-many.
3- علاقة
"واحد إلى واحد" One-to-one:
في هذه العلاقة يتم تقسيم السجل الواحد على
جدولين، وذلك إذا كان عدد أعمدة الجدول كبيرا جدا، وكان بعضها قليل الأهمية ونادر
الاستخدام، أو إذا كانت هذه الأعمدة تحتوي على بيانات سرية، لهذا يجب وضعها في
جدول خاص ومنح صلاحية التعامل معها لمدير النظام مثلا.. بهذه الطريقة يكون جزء من السجل
في الجدول الأول متاحا لكل المستخدمين، وباقي السجل في جدول آخر مخصص لمستخدمين
بعينهم.
وفي علاقة "واحد بواحد" يكون كل من
المفتاح الأساسي والمفتاح الفرعي متفردا Unique غير قابل للتكرار، وبهذا نضمن ارتباط كل مفتاح أساسي بمفتاح فرعي
واحد فقط.
وكمثال: افترض أن لدينا جدولا لبيانات الموظفين
اسمه Employees يبدو كالتالي:
ID
|
Employee
|
Phone
|
eMail
|
Address
|
1
|
أحمد شريف
|
....
|
....
|
....
|
2
|
مجدي نوارة
|
....
|
....
|
....
|
3
|
صالح رشدان
|
....
|
....
|
....
|
4
|
ياسر الهواري
|
....
|
....
|
....
|
في هذه الحالة سنحتاج إلى جدول آخر نضع فيه اسم
المستخدم وكلمة السر الخاصة بكل موظف، وليكن اسمه EmployeesPasswords،
وسنربطه بالجدول Employees باستخدام مفتاح فرعي اسمه EmployeeID مع جعله مفتاحا متفردا Unique:
ID
|
UserName
|
Password
|
EmployeeID
|
1
|
ash
|
....
|
1
|
2
|
mgdy
|
....
|
2
|
3
|
rshdan
|
....
|
3
|
4
|
ysrhwary
|
....
|
4
|
(وليكن العمود ID).
4- العلاقة
الذاتية Self-Relation:
سنتعرف عليها في المنشور القادم بإذن الله!
من
كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO
.NET
للتنزيل
من مكتبة الكتب العربية برابط مباشر:
ليست هناك تعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.