щого рівня) і породженим (нижчого). Ієрархічний запис - система взаємопов'язаних сегментів, в якій кожен народжений сегмент представлений стільки раз, скільки необхідно для повного розкриття даного сегмента. В ієрархічній структурі є сегмент, який не має початкового і називається головним чи кореневим. У цьому сегменті зазвичай розташовується ідентифікатор об'єкта, властивості якого розкриваються в сегментах другого і нижчих рівнів ієрархії.
Для реалізації даної моделі на фізичному рівні використовується ряд стандартних методів розміщення даних на пристроях, які запам'ятовують, які можуть розміщувати сегменти наступними ієрархічними способами доступу: послідовний, індексного-послідовний, прямий, індексного-прямій. Згідно способів розміщення сегментів встановлюється порядок доступу до них.
Тип дерева складається з одного «кореневого» типу запису і впорядкованого набору з нуля або більше типи під дерев (кожен з яких є певним типом дерева). Тип дерева в цілому є ієрархічно організованим набором типів запису.
Приклад типу дерева наведено на рис. 2.2
Рис. 2.2 - Ієрархічна модель даних
Тут Відділ є предком для Начальника і Співробітники, а Начальник і Співробітники - нащадки відділу. Між типами записи підтримуються зв'язки. Ніякої нащадок не може існувати без свого батька, причому предок повинен бути один.
Простота організації, наявність заздалегідь заданих зв'язків між суті, схожість з фізичними моделями даних дозволяли домагатися прийнятної продуктивності ієрархічних СУБД на повільних ЕОМ з дуже обмеженими обсягами пам'яті. Але, якщо дані не мали деревоподібної структури, то виникала маса складностей при побудові ієрархічної моделі і бажанні домогтися потрібної продуктивності.
Мережеві моделі також створювалися для мало ресурсних ЕОМ.
Мережевий підхід до організації даних є розширенням ієрархічного. У цій моделі нащадок може мати будь-яке число предків.
Мережева БД (6) складається з набору записів і набору зв'язків між цими записами, а якщо говорити точніше, з наборів примірників кожного типу із заданого в схемі БД набору типів запису і набору екземплярів кожного типу із заданого набору типів зв'язку. Тип зв'язку визначається для двох типів запису: предка і нащадка.
Рис. 2.3 - Мережева модель даних
При розробці мережевих моделей було придумано безліч «маленьких хитрощів», які дозволяють збільшити продуктивність СУБД, але істотно ускладнили останні. Прикладний програміст повинен знати масу термінів, вивчити кілька внутрішніх мов СУБД, детально представляти логічну структуру бази даних для здійснення навігації серед різних примірників, набравши, записів тощо. Один з розробників операційної системи UNIX сказав «Мережева база - це найвірніший спосіб втратити дані».
Складність практичного використання ієрархічних та мережевих СУБД змушувала шукати інші способи представлення даних. Наприкінці 60-х років з'явилися СУБД на основі інвертованих файлів, організації, що відрізняються простотою, і наявністю вельми зручних мов маніпулювання даними. Однак такі СУБД володіють рядом обмежень на кількість файлів для зберігання даних, кількість зв'язків між ними, довжину запису і кількість її полів.
...