وراثة الجدول الواحد

يُعدّ نمط الوراثة في جدول واحد طريقةً لمحاكاة الوراثة الكائنية في قواعد البيانات العلائقية . عند ربط جدول قاعدة البيانات بكائن في لغة برمجة كائنية التوجه ، يُحدد حقل في قاعدة البيانات الفئة التي ينتمي إليها الكائن في التسلسل الهرمي . [ 1 ] تُخزّن جميع حقول جميع الفئات في الجدول نفسه، ومن هنا جاءت تسمية "الوراثة في جدول واحد". في Ruby on Rails، يُحدد الحقل المسمى "type" في الجدول اسم الفئة . في Hibernate (Java) و Entity Framework ، يُطلق على هذا النمط اسم "الجدول لكل فئة هرمية" و"الجدول لكل هرمية (TPH)" على التوالي. [ 2 ] [ 3 ] ويُسمى العمود الذي يحتوي على اسم الفئة "عمود التمييز".

مثال

المدونات
معرف المدونةالمُميِّزعنوان URLRssUrl
1مدونةhttps://blogs.example.com/petsNULL
2مدونة آر إسhttps://blogs.example.com/carshttps://blogs.example.com/cars.rss

يحتوي الجدول على الخاصية Urlالتي تستخدمها جميع المدونات، ولكن فقط المدونات من نوع RssBlog لديها قيمة معينة في RssUrlالعمود، أما الصفوف الأخرى فلها قيمة أخرى NULL.

انظر أيضاً

مراجع

  1. فاولر، مارتن (2003). أنماط هندسة تطبيقات المؤسسات . سلسلة أديسون-ويسلي سيجنتشر. مساهمات من ديف رايس، وماثيو فوميل، وإدوارد هيات، وروبرت مي، وراندي ستافورد. أديسون-ويسلي. ص  278. ISBN 0-321-12742-0.
  2. "دليل تعليمي: تطبيق الوراثة باستخدام Entity Framework في تطبيق ASP.NET MVC 5" . 21 يناير 2019. تم الاطلاع عليه في 3 نوفمبر 2015 .
  3. كينغ، غافين؛ باور، كريستيان؛ أندرسن، ماكس ريدال؛ برنارد، إيمانويل؛ إيبرسول، ستيف (15 سبتمبر 2010). "الفصل 9. رسم خرائط الوراثة" . هايبرنيت - استمرارية علائقية للغة جافا الاصطلاحية . تصميم الرسومات: جيمس كوب وشايان ويفر (الإصدار 3.5.6 - الطبعة النهائية) . تم الاطلاع عليه في 3 نوفمبر 2015 .