Проектування баз даних
28


виділяти окремий файл. Можна вико­ристати вектор: в даному разі атрибут «іноземна мова» може мати кілька значень, його можна зобразити у вигляді вектора. Причому в одному запису може бути кілька векторів. Крім векторів у структурі запису сіткової моделі можуть бути й групи, в тому числі повторюючі. Але при проектуванні слід пам'ятати, що повторюючі групи можна включати до запису при невеликій кількості екземплярів: якщо ця група бере участь у будь-яких інших зв'язках, то краще її виділити в окремий файл.

Два типи записів, об'єднані між собою дугою, організують набір да­них, тобто набір — це пойменована сукупність зв'язаних записів. У сіткових моделях також можливе звертання до набору, тобто до двох взає­мозв'язаних типів записів. Тип запису, з якого виходить дуга, називається власником набору, чи основним файлом. Тип запису, в який входить дуга, називається членом набору, чи підпорядкованим файлом. Дуга, спрямована від власника набору до його члена, являє собою логічний взаємозв'язок «один до багатьох» між власником і членом набору даних. Необхідно розрізняти такі поняття, як «тип» та «екземпляр набору». Наприклад:

Тип набору ЗАМОВЛЕННЯ може характеризуватись екземпляром типу запису-власника ПОСТАЧАЛЬНИК і деякою множиною екземплярів типу запису МАТЕРІАЛ. Отже, кожний екземпляр набору складається з одного екземпляра типу запису-власника і кількох екземплярів типу записів-членів. Набір вважається порожнім, якщо жоден екземпляр запису-члена не зв'язаний з відповідним екземпляром запису-власника. Таким чином, набір може складатися лише із запису-власника.

Певний екземпляр типу запису-члена в екземплярі даного типу набору не може одночасно належати більш як одному екземпляру типу запису-власника. Іншими словами, власник типу набору має бути обов'язково унікальним.

В ієрархічній моделі для кожного породженого сегмента може існувати лише один фізично вихідний сегмент. У структурах КОДАСІЛ в одному наборі тип запису може мати лише одного власника, але враховуючи те, що тип запису може входити до різних наборів, він може мати довільне число власників.

Записи-власники можуть брати участь у кількох наборах, а записи-члени можуть виступати як власники в інших наборах. Кожний тип набору ідентифікується унікальним іменем.

Існує кілька типів наборів: набори першого та другого класу і сингулярні набори.

Набір першого класу об'єднує два типи запису (рис. 3.5).

Рис. 3.5. Набір першого класу

Набір другого класу — це багаточленні чи групові набори, які склада­ються з кількох типів записів. На рис. 3.6 показано набір другого класу.

Сингулярними є тимчасові набори, які створюють тоді, коли для яко­гось типу запису на певний період відсутні власники. Тоді власником вис­тупає сума СУБД.

Так, необхідно внести інформацію про нові верстати, але ще не внесено інформації про деталі, які будуть оброблятись на цьому верстаті (рис. 3.7). Тому власником такого набору стає СУБД. Однак це явище тимчасове, тоб­то коли буде занесено інформацію про деталі, цей сингулярний набір пере­твориться на набір першого класу.

Відображення інфологічної моделі на сіткову модель виконують так само, як і відображення на ієрархічну, в два етапи: спочатку будують за­гальну сіткову модель, а потім її модифікують з урахуванням обмежень і особливостей конкретної СУБД.