Рис. 3J. Встановлення зв'язку між сегментами за допомогою адресних посилань
Зберігання адресних посилань (вказівок) потребує додаткових витрат пам'яті, які включають багато елементів дублювання. Якщо, наприклад, проект виконують кілька працівників, то його фізична адреса повинна дублюватися для кожного співробітника.
Ієрархічні моделі характеризуються ще однією особливістю, пов'язаною з виконанням технологічних операцій з актуалізації БД. При вилученні екземпляра вихідного сегмента також вилучаються всі пов'язані з ним екземпляри породжених сегментів, тобто весь логічний запис. Екземпляр породженого сегмента не може існувати без відповідного екземпляра вихідного. Наприклад, неможливо внести інформацію про нове обладнання, не внісши відповідних даних про деталі, які будуть оброблятись на цих верстатах, за наявності співвідношення вихідний-породжений між сегментами ДЕТАЛЬ:ВЕРСТАТ.
Єдиний вихід — внести інформацію про якісь фіктивні деталі, але про це має пам'ятати адміністратор БД і фіктивна інформація повинна з певним часом бути замінена на реальну. Тому процедури вилучення чи поповнення ієрархічної БД необхідно завжди виконувати дуже ретельно та уважно, щоб не знищити важливих даних чи, навпаки, не використати штучні дані.
3.4. ВІДОБРАЖЕННЯ НА СІТКОВУ МОДЕЛЬ
Сіткова модель БД — це орієнтований граф з пойменованими дугами і вершинами. Відображення інфологічної моделі на сіткову є складним процесом, який має ряд альтернативних рішень. Розглядаючи перехід від інфологічної моделі до сіткової, будемо орієнтуватись на моделі робочої групи за базами даних (РГБД) Асоціації з мов систем обробки даних — КОДАС1Л (Conference On Date Systems Languages — CODASYL), які отримали практичний розвиток. Згідно з пропозиціями КОДАС1Л у сіткових моделях файли є рівноправними, тобто можуть виступати в різних зв'язках — в одному випадку як власники, в іншому — як підпорядковані файли.
Перш ніж перейти до процесу відображення визначимо основні терміни та поняття, якими оперують у ході розробки сіткових моделей.
Основними структурними елементами моделей цього типу є агрегат, запис і набір даних.
При відображенні інфологічної моделі на сіткову інформаційним об'єктам ставлять у відповідність записи. Кожний запис вміщує деяку множину атрибутів. Розрізняють такі поняття, як «тип запису» і «екземпляр запису». Тип запису — це абстрактні характеристики, а «екземпляр запису» — їх конкретні значення. Наприклад, тип запису: ПОСТАЧАЛЬНИК (код постачальника, назва постачальника, адреса постачальника, телефон), екземпляром цього типу запису буде: 105, Вега ЛТД, Київ-147, вул. Бойченка, 75, 552-33-98. Отже, кожному типу запису в БД може відповідати деяка сукупність екземплярів.
Усередині запису можуть виділятись агрегати. Агрегат — це пойменована сукупність логічно взаємозв'язаних атрибутів усередині типу запису: ними можуть бути вектори, групи і повторюючі групи.
На рис. 3.4 зображено внутрішню структуру, що може підтримуватись у сіткових моделях і в якій агрегат «іноземна мова» представлений як вектор, а агрегат «адреса» — як група.
Особа
Табл. № |
ПІБ |
Посада |
Іноземна мова |
Адреса |
|||
Індекс |
місто |
вулиця |
кв-ра |
Рис. 3.4. Структура запису, який вміщує агрегати
Звертаючись до даних, можна звертатись як до запису в цілому, так і до окремих агрегатів, що входять до їх складу. Отже, запне — це агрегат, який не входить до складу інших агрегатів і є основною одиницею обробки БД (записи запам'ятовуються, вилучаються, поповнюються). Поняття запису в сіткових моделях традиційне.
У реальних СУБД є деякі обмеження на використання такої конструкції, як агрегат. Так, деякі СУБД дозволяють використовувати повторюючі групи лише на першому рівні ієрархії.
Із рис. 3.4 видно, що для відображення багатозначних зв'язків у сіткових моделях не обов'язково