**نموذج قاعدة البيانات الهرمية** هو نموذج بيانات تُرتب فيه البيانات في بنية تشبه الشجرة. وتسمح هذه البنية بتمثيل المعلومات باستخدام علاقات الأصل/التابع: وقد يكون لكل أصل العديد من التوابع ولكن يكون لكل تابع أصل واحد (يعرف كذلك بنسبة 1: متعدد). ويتم إيراد كافة سمات سجل معين أسفل كل نوع وحدة.

يعادل نوع الوحدة أي جداول في أية قاعدة بيانات؛ حيث يتم تمثيل كل سجل فردي كصف وكل سمة كعمود. وترتبط أنواع الوحدات مع بعضها البعض باستخدام مخطط 1: N، المعروف كذلك بعلاقات [واحد إلى متعدد (One-to-Many)]. وقد تم الإقرار بأن هذا هو نموذج قاعدة البيانات الأول الذي أنشأته شركة آي بي إم في ستينيات القرن العشرين.
وتعد قواعد البيانات الهرمية [نظام إدارة المعلومات (IMS)] التي طورتها شركة آي بي إم وسجل ويندوز الذي أنتجته شركة مايكروسوفت من أكثر قواعد البيانات الهرمية استخدامًا وشيوعًا.

لمحة تاريخية
------------

فقد نموذج قاعدة البيانات الهرمية جاذبيته عندما أصبح [النموذج العلاقي] لـ كود معيارًا واقعيًا تستخدمه عمليًا معظم أنظمة إدارة قواعد البيانات المعروفة. وقد جرت مناقشة تطبيق قاعدة البيانات المترابطة للنموذج الهرمي لأول مرة في شكل منشور في عام 1992 (انظر أيضًا [نموذج المجموعة المتداخلة]). وعادت أنظمة تنظيم البيانات الهرمية للظهور على السطح من جديد مع ظهور لغة الرقْم القابلة للامتداد (إكس إم إل) في أواخر تسعينيات القرن العشرين .

أمثلة على قاعدة البيانات الهرمية التي تُمثّل كجداول مترابطة
-----------------------------------------------------------

يمكن لأية مؤسسة الاحتفاظ بمعلومات الموظفين في جدول يحتوي على سمات/أعمدة مثل رقم الموظف والاسم الأول والاسم الأخير ورقم القسم. وتزود المؤسسة كل موظف بأجهزة (هاردوير) كمبيوتر حسب الحاجة، ولكن يمكن فقط للموظف المخصص له جهاز الكمبيوتر استخدام هذا الجهاز. ويمكن للمؤسسة الاحتفاظ بمعلومات أجهزة (الهاردوير) الكمبيوتر في جدول منفصل يشتمل على الرقم التسلسلي لكل جزء ونوعه واسم الموظف الذي يستخدمه. وقد تبدو الجداول على النحو التالي:

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| رقم الموظف | الاسم الأول | الاسم الأخير | رقم القسم |
| --- | --- | --- | --- |
| 100 | Sally | Baker | 10-L |
| 101 | Jack | Douglas | 10-L |
| 102 | Sarah | Schultz | 20-B |
| 103 | David | Drachmeier | 20-B |

 | 

| الرقم التسلسلي | النوع | رقم الموظف المستخدم |
| --- | --- | --- |
| 3009734-4 | الكمبيوتر | 100 |
| 3-23-283742 | الشاشة | 100 |
| 2-22-723423 | الشاشة | 100 |
| 232342 | الطابعة | 100 |

 |

يمثل جدول بيانات الموظفين في هذا النموذج الجزء «الأصل» من التسلسل الهرمي، بينما يمثل جدول الكمبيوتر الجزء «التابع» من التسلسل الهرمي. وكما يتضح، قد يحوز كل موظف على العديد من قطع جهاز الكمبيوتر، ولكن قد يكون لكل قطعة منفردة من أجهزة الكمبيوتر مالك (موظف) واحد فقط.
ادرس البنية التالية:

| رقم الموظف | المسمى الوظيفي | ReportsTo |
| --- | --- | --- |
| 10 | المدير |  |
| 20 | كبير المديرين | 10 |
| 30 | الناسخ على الكمبيوتر | 20 |
| 40 | المبرمج | 20 |

نلاحظ في المثال السابق أن «التابع» هو من نفس نوع «الأصل». ويُظهر التسلسل الهرمي أن EmpNo 10 (رقم الموظف 10) يمثل رئيس الموظفين الذين يحملون الأرقام 20 و30 و40 وأن كل تقرير إلى 20 يمثله العمود ""ReportsTo (تقارير إلى). وعند التعبير عن ذلك بمصطلحات قاعدة البيانات المترابطة، فإن العمود ReportsTo هو [رقم خارجي] يرجع إلى العمود EmpNo. وإذا افترضنا أن بيانات «التابع» كانت مختلفة، فقد يمثلها جدول مختلف، ولكن مع وجود مفتاح خارجي يرجع إلى العمود EmpNo بجدول الموظفين.
ويُعرف هذا النموذج البسيط على نطاق واسع بنموذج [قائمة التجاور]، وقدمه دكتور/ إدجار فرانك كود بعد الانتقادات الأولية التي ظهرت على السطح والمتمثلة في أن النموذج المترابط لا يمكن أن يمثل بيانات هرمية لنموذج.

المراجع
-------

1. ↑  Michael J. Kamfonas/Recursive Hierarchies: The Relational Taboo!--The Relation Journal, October/November 1992  نسخة محفوظة 05 أكتوبر 2013 على موقع واي باك مشين.

وصلات خارجية
------------

* أيقونة بوابةبوابة علم الحاسوب
* أيقونة بوابةبوابة قواعد البيانات

|  |  |
| --- | --- |
| مشاريع شقيقة | في كومنز صور وملفات عن: نموذج قاعدة البيانات الهرمية |

* Troels' links to Hierarchical data in RDBMSs
* Managing Hierarchical Data in MySQL