Ієрархічна база даних

Ієрархічна модель даних — це модель даних, де використовується представлення бази даних у вигляді деревовидної (ієрархічної) структури, що складається з об'єктів (даних) різних рівнів.
Між об'єктами існують зв'язки, кожен об'єкт може включати в себе кілька об'єктів більш низького рівня. Такі об'єкти перебувають у відношенні предка (об'єкт більш близький до кореня) до нащадку (об'єкт більш низького рівня), при цьому можлива ситуація, коли об'єкт-предок не має нащадків або має їх декілька, тоді як в об'єкта-нащадка обов'язково тільки один предок. Об'єкти, що мають спільного предка, називаються близнюками (в програмуванні стосовно до структури даних дерево усталена назва брати).
Дo oснoвних пoнять iєрaрхiчнoї структури вiднoсяться: рiвeнь, eлeмeнт (вузoл), зв'язoк. Вузoл - цe сукупнiсть aтрибутiв дaних, щo oписують дeякий oб'єкт. Нa схeмi iєрaрхiчнoгo дeрeвa вузли прeдстaвляються вeршинaми грaфa. Кoжeн вузoл нa бiльш низькoму рiвнi пoв'язaний лишe з oдним вузлoм, щo знaхoдиться нa бiльш висoкoму рiвнi.
Iєрaрхiчнe дeрeвo мaє тiльки oдну вeршину, нe пiдпoрядкoвaну нiякий iнший вeршинi i знaхoдиться нa сaмoму вeрхньoму (пeршoму) рiвнi. Зaлeжнi вузли знaхoдяться нa другoму, трeтьoму i т.д. рiвнях. Кiлькiсть дeрeв у бaзi дaних визнaчaється числoм кoрeнeвих зaписiв. Дo кoжнoгo зaпису бaзи дaних iснує тiльки oдин (iєрaрхiчний) шлях вiд кoрeнeвoгo зaпису.
Бази даних з ієрархічною моделлю одні з найстаріших і стали першими системами управління базами даних для мейнфреймів. Розроблялися в 1950-х і 1960-х, наприклад, Information Management System (IMS)[1] фірми IBM.

Приклади

Наприклад, якщо ієрархічна база даних містила інформацію про клієнтів та їх замовленнях, то буде існувати об'єкт «покупець» (батько) і об'єкт «замовлення» (дочірній). Об'єкт «покупець» буде мати покажчики від кожного замовника до фізичного розташування замовлень покупця в об'єкт «замовлення».
Так, наприклад, якщо виникне необхідність вказівки варіанта, коли договір складають кілька виконавців і один виконавець формує кілька договорів, тобто між договором і виконавцем використовується зв'язок N: M (багато - до - багатьох), то в ієрархічній моделі необхідно буде повторювати відомості про договори в якості дочірнього елемента до виконавця, що істотно ускладнює саму модель і не дає можливості коректно обробляти подану інформацію.
У цій моделі запит, направлений вниз по ієрархії, простий (наприклад, замовлення, які належать цьому покупцю); проте запит, спрямований вгору по ієрархії, більш складний (наприклад, який покупець розмістив замовлення). Також, важко уявити не-ієрархічні дані при використанні цієї моделі.
Ієрархічної базою даних є файлова система, що складається з кореневого каталогу, в якому є ієрархія підкаталогів і файлів.

Структурна частина ієрархічної моделі

Основними інформаційними одиницями в ієрархічній моделі даних є сегмент і поле. Поле даних визначається як найменша неподільна одиниця даних, доступна користувачеві. Для сегмента визначаються тип сегмента і екземпляр сегмента. Екземпляр сегмента утворюється з конкретних значень полів даних. Тип сегмента — це пойменована сукупність вхідних у нього типів полів даних.
Організація даних в ієрархічної моделі передбачає обов'язкове поєднання батьківського і дочірнього об'єктів даних. Ці об'єкти даних характеризуються такими структурними елементами:
  • атрибут - представляється найменшою одиницею елемента даних, що позначає функціональну сутність описуваного властивості об'єкта;
  • запис - представляється групою атрибутів, що позначає конкретний екземпляр описуваного об'єкта;
  • групове відношення - представляється зв'язком між записами різних типів, яка відображає взаємодію батьківської і дочірньої записів;
  • ключовий елемент - представляється атрибутом, який може містити тільки унікальні значення для кожного запису.
Як і мережева, ієрархічна модель даних базується на графовій формі побудови даних, і на концептуальному рівні вона є просто частковим випадком мережевої моделі даних. В ієрархічній моделі даних вершині графа відповідає тип сегмента або просто сегмент, а дугам — типи зв'язків предок — нащадок. В ієрархічних структурах сегмент — нащадок повинен мати в точності одного предка.
Ієрархічна модель являє собою зв'язний неорієнтований граф деревоподібної структури, що об'єднує сегменти. Ієрархічна БД складається з упорядкованого набору дерев.

Коментарі

Популярні публікації