Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD-КН1.doc
Скачиваний:
18
Добавлен:
27.04.2019
Размер:
7.07 Mб
Скачать

2.4 Ієрархічна модель даних

Ієрархія – це мережа, яка є лісом (сукупністю дерев), в якому всі зв’язки розташовані у напрямку від сина до батька. Обговорюючи ієрархії, ми будемо користуватися мережною термінологією: “тип логічного запису” і т.д. Крім того введемо додаткове поняття – “тип віртуального логічного запису”. Такий запис являє собою показчик на логічний запис деякого типу. Типи віртуальних записів необхідні в тих випадках, коли інтуітивно ми хотіли б розташувати який-небудь тип запису у двох або більше деревах, чи у декількох місцях на одному дереві. Але у цьому випадку ми мали б декілька копій запису у базі даних. Це викликало б недоцільне використання пам’яті та появлення можливості коригування однієї копії без зміни інших. Тому, будемо вважати, що кожний тип логічного запису з’являється в ієрархії у одному місці. В інших місцях, де потрібен даний тип запису, замість нього задаються віртуальні записи. За допомогою віртуальних записів кожну мережу можна перетворити на ієрархію.

Ідеї, на яких базується реалізація мережевої бази даних, можуть бути використані для реалізації ієрархічної бази даних, тому що ієрархічна модель є одним з випадків мережної. Щоб сконструювати формат запису змінної довжини для дерева використаємо два наступних правила:

  1. Формат для листа дерева є ()*, де  являє собою перелік атрибутів у форматі логічного запису, який відповідає данному листу.

  2. Якщо деякий вузол має k синів з форматами записів змінної довжини 1, 2,… k і перелік атрибутів у форматі логічного запису для цього вузла є , то формат відповідного йому запису змінної довжини має вигляд: (12…k)* .

Операціі над даними, визначені в ієрархічній моделі: ДОДАТИ в базу даних новий запис. Для кореневої запису обов'язково формування значення ключа. ЗМІНИТИ значення даних попередньо витягнутого запису. Ключові дані не повинні зазнавати змін. ВИДАЛИТИ деякий запис і всі підлеглі йому записи. ВИБРАТИ: – витягти кореневий запис по ключовому значеню, допускається також послідовний пререгляд кореневих записів ; – витягти наступний запис (наступний запис витягується в порядку лівостороннього обходу дерева) ; В операції ВИБРАТИ допускається завдання умов вибірки (наприклад, отримати співробітників з окладом більше 1 тисячі грн.) Як бачимо, всі операції зміни застосовуються лише до одного "поточного" запису (який попередньо вилучено з бази даних). Такий підхід до маніпулювання даних отримав назву "навігаційного".

В сенсі обмеження цілісності, підтримується лише цілісність зв'язків між власниками та членами групового відношення (ніякий нащадок не може існувати без предка). Як вже зазначалося вище, не забезпечується автоматична підтримка відповідності парних записів, що входять до різних гілок ієрархії. Прикладом ієрархічної бази даних може бути файлова система Windows. Дійсно, каталоги утворюють рівні дерева, шлях до певного файла – запис, а ярлик – віртуальний запис.

Для збереження записів змінної довжини, що утворюються у ієрархічній та мережевій моделях, використовують три стратегії збереження даних:

  • Метод резервування простору;

  • Метод вказівок ;

  • Комбінований метод.

У методі резервування простору використовується запис максимальної довжини і таким чином довжина запису стає фіксованою. Групу, яка повторюється можна замінити вказівкою на перший блок ланцюга блоків, які використовуються для зберігання елементів цієї групи. Комбінований метод використовує комбінацію з двох попередніх у різних варіантах.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]