الدرس الرابع من دروس العلاقات Self Join وهى ربط الجدول مع نفسه .
قبل البدء يجب معرفة لماذا نبنى هذه العلاقة ... إذا كان عندك برنامج محاسبى به الشجرة المحاسبية أو بناء نظام شجرة العائلة
أو إنشاء نظام به أقسام متداخلة على سبيل المثال قسم أجهزة موبايل وجولات يندرج تحتها قسمين جوالات و تابلت ويندرج تحت قسم الجولات انواعها مثل Samsung - IPhone - Sony ... الخ .
وكل نوع من هؤلاء يندرج تحته انواعه على سبيل المثال IPone له (IPone X - IPone S - IPone 11 ....إلخ) .حتى وان كان تحت هذه الانواع انواع فرعية آخرى أو أقسام تحت بعظها لا حصر لها .. لا مشكلة
إيضا نظام مبيعات للتسويق الشبكى والاعضاء المندرجة تحت بعضها والمعروفة بإسم UpLine .
القائمة من الأمثلة تطول وكلها تحتاج نوع علاقة واحد وهو Self Join بجدول واحد فقط .
نفتح SSMS ونقوم بإنشاء جدول جديد بإسم TblCategories مثل صورة عنوان الدرس
{ Id = int } & {SubId = int} & { CategoryName= nvarchar(50) }
SubId هنا هو حقل فرعى يربط مع الحقل Id و الحقلين نفس نوع البيانات int مع ملاحظة ان الحقل Id له مفتاح اساسى.
مثل الدروس السابقة للعلاقات من قائمة Table Designer نختار Relationships ثم Add
Primary Key Table هو نفس الجدول الموجود فى Foreign Key Table
Foreign Key Table = SubId & Primary Key Table = Id
الحقل CategoryName بيكون أما إسم القسم الاساسى أو القسم الفرعى المندرج تحت الاساسى كما شرحنا بالاعلى
وهكذا انهينا العلاقة بين الجدول ونفسه ، ويمكنك الأضافة يدويا فى قاعدة البيانات لتجربة شكل إدخال البيانات
وسوف نشرح ان شاء الله استغلال جميع العلاقات فى برنامج تدريبى بلغة C# .
تعليقات
إرسال تعليق