Науковий посібник
Вінницький державний технічний університет містить море(!) аналітичної інформації

Мережна модель даних

Більш широкі можливості для користувача забезпечує мережна модель бази даних, яка є узагальненням ієрархічної моделі і дозволяє відображати відношення між типами записів виду "багато до багатьох". У мережній моделі кожний тип запису може бути членом більш ніж одного типу набору. В результаті можна сформувати модель бази даних із довільними зв'язками між різними типами запису. Крім того, окремі типи записів можна не включати ні в які типи набору, що забезпечує додаткові можливості для ряду задач обробки даних в СКБД. Відзначимо, що СКБД, в основі якої використовується мережна модель бази даних, називається СУБД мережного типу. У 1971 році був опублікований офіційний стандарт мережних баз даних, який відомий як модель CODASYL.

В основі мережної моделі даних лежать мережні структури. Розглянемо мережні структури. Припустимо, що нам необхідно графічно представити відношення між об'єктами СТУДЕНТСЬКИЙ_КОЛЕКТИВ та УЧБОВА_ГРУПА, КІМНАТА_В_ГУРТОЖИТКУ та СТУДЕНТ. Взаємозв'язок між цими об'єктами показаний на рис.3.9 , звідки можна побачити, що дана схема не є ієрархічною, так як породжений елемент СТУДЕНТ має два вихідних. Мережна структура відрізняється від ієрархічної тим, що в ній будь-який елемент може зв'язуватися з будь-яким іншим елементом.

Рисунок 3. 9 - Приклад взаємозв'язків між об'єктами мережної структури

На рис.3.10 наводяться приклади більш складних мережних структур, де для зручності цифрами 1,2,…, 11 позначені елементи (об'єкти). Мережну структуру можна описати за допомогою вихідних та породжених елементів та зобразити її таким чином, щоб породжені елементи знаходилися нижче вихідних, що і зроблено на рис 3.10. При розгляді деяких мережних структур природно розглядати рівні, як і при деревовидних структурах. Структура на рис.3.9 має три рівня, а мережні структури на рис.3.10 - відповідно чотири та п'ять рівнів.

Рисунок 3.10 Приклади мережних структур

Розглянемо як представляться в мережній структурі взаємозв'язки між об'єктами. На рисунку 3.9 представлена мережна структура, в якій між двома об'єктами присутні два види взаємозв'язку: ОДИН-ДО-БАГАТЬОХ (наприклад, між об'єктами НАВЧАЛЬНА-ГРУПА-СТУДЕНТ) та БАГАТО-ДО-ОДНОГО (СТУДЕНТ-КІМНАТА-В-ГУРТОЖИТКУ). Цей вид зв'язку закладено в ієрархічних структурах при умові, що дані зв'язки існують відповідно між вихідними та породженими, а зв'язок БАГАТО-ДО-ОДНОГО - між породженими та вихідними вузлами. У випадку виконання цієї умови для відповідних вузлів мережної схеми говорять про просту мережну структуру, яку необхідно розрізняти. Складною мережною структурою називають схему, в якій присутній хоча б один зв'язок БАГАТО-ДО-БАГАТЬОХ.

На рис. 3.11 показаний приклад складної мережної структури та можливі взаємозв'язки між об'єктами. В цьому прикладі вузол ВИКЛАДАЧ може мати декілька породжених, тому що викладач веде заняття більш ніж з одним студентом. А кожен студент навчається більш ніж у одного викладача.

Рисунок 3.11- Складна мережна структура

Розділення мережних структур на два типи (складні та прості) необхідно хоча б тому, що структури, побудовані з використанням зв'язку БАГАТО-ДО-БАГАТЬОХ, вимагають для їх реалізації використання більш складних методів. Крім того, деякі системи керування базами даних можуть підтримувати прості мережні структури, але не можуть підтримувати складні. Наприклад, СКБД DMS, DBMS, СЕКТОР дозволяють описувати прості мережні структури. Реалізація складних мережних структур можлива і в цих системах керування базами даних шляхом приведення до більш простого вигляду.

Любу мережну структуру можливо привести до більш простого вигляду, якщо ввести надлишковість( рис.3.12). Якщо надлишковість, яка при цьому виникає, є допустимою, то такий шлях дозволяє підтримувати мережні структури даних СКБД, які орієнтовані на ієрархічну організацію даних.

Рисунок 3.12-Представлення простої мереженої структури: а, б - у вигляді одного дерева; в - у вигляді суми дерев

Прикладами типових операторів маніпулювання мережними даними можуть бути наступні:

· Знайти конкретний запис у наборі однотипних записів ;

· Перейти від предка до першого нащадка по деякому зв'язку ;

· Перейти до наступного нащадка в деякому зв'язку ;

· Перейти від нащадка до предка по деякому зв'язку ;

· Створити новий запис;

· Знищити запис;

· Модифікувати запис;

· Включити в зв'язок;

· Виключити зі зв'язку;

· Переставити в інший зв'язок і т.д.

Бази даних, яки описуються мережною моделлю, складаються з декількох областей (рис. 3.13). Кожна область складається з записів, які в свою чергу складаються з полів. Об'єднання записів в логічну структуру можливе не тільки по областях, але й за допомогою так названих наборів. Термін набір являється основною конструкцією мови системи баз даних КОДАСІЛ. Набір - це пойменоване двохрівневе дерево, яке дозволяє формувати багаторівневі дерева та прості мережні структури. Таким чином, база даних КОДАСІЛ складається з деякої кількості наборів. Використовуючи двохрівневі зв'язків, спеціаліст по аналізу системи може конструювати достатньо складні структури даних. Набір - це екземпляр пойменованої сукупності записів. Для кожного типу набору тип запису може бути оголошений його власником . Кожний набір повинен мати один екземпляр запису та будь-яку кількість екземплярів кожного типу запису - членів набору. Наприклад, набір можна використовувати для об'єднання записів про студентів одної групи (див. рис. 3.10).

Рисунок 3.13 - Структура мережної бази даних

Перерахуємо властивості, що притаманні набору:

а) набір - це пойменована сукупність зв'язаних записів;

б) в кожному екземплярі набору присутній тільки один екземпляр власника;

в) екземпляр набору може мати нуль, один або декілька записів-членів;

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

д) екземпляр набору існує після запам'ятання запису-володаря;

е) тип набору є логічний взаємозв'язок ОДИН-ДО-БАГАТЬОХ між володарем та членом набору (рис.3.14);

Рисунок 3.14 - Тип набору "Склад групи"

ж) кожному типу набору надається ім'я, що дозволяє одній і тій самій парі типів об'єктів брати участь у декількох взаємозв'язках.

Необхідно розрізняти тип та екземпляр набору. Але спочатку пояснимо різницю між поняттями тип та екземпляр запису. СТУДЕНТ є типом запису, а рядок символів "Захаров Іван Викторович, член профкому, кімн. 638" - екземпляром типу запису СТУДЕНТ. Іншими словами, в базі даних можуть зберігатися один чи декілька екземплярів запису деякого типу. Подібне відношення існує і між типом набору та екземпляру. У прикладі на рис.3.14 наведений тип набору СКЛАД ГРУПИ, а на рис.3.15 - його екземпляр, який вміщує екземпляр типу запису-володаря ГРУПА "832 група, куратор Іванов І.П., каф. кібернетики" та N екземплярів типу запису-члена: "1013 Захаров І.П., староста групи", "201К Кирилова О.Б.", …, "426Х Харламов О.М."

Рисунок 3.15. Екземпляр набору СКЛАД_ГРУПИ

Таким чином, екземпляр типу набору складається із одного екземпляру типу запису-володаря, нуля чи більше екземплярів типу запису-членів даного типу набору. Між екземпляром типу запису-володаря та екземпляром типу запису-члена існує взаємозв'язок ОДИН-ДО-БАГАТЬОХ. Певний екземпляр типу запису-члена в екземплярі даного типу набору не може одночасно належати більш ніж одному екземпляру типу запису-володаря. Іншими словами, унікальність володаря типу набору є обов'язковою. В моделі даних, що являє собою взаємозв'язок ОДИН-ДО-БАГАТЬОХ, тип запису-володаря має від 0 до N екземплярів типу запису-члена. В свою чергу тип запису-члена в іншому наборі може мати роль типу запису-володаря. Запис - володар даного набору може грати дану роль у декількох наборах. Така структура є ієрархію. Отже, ієрархічна модель даних є частковим випадком мережної моделі.

Суттєва відмінність між мережною та ієрархічною моделями даних полягає в тому, що в мережній моделі кожний запис може брати участь у будь-якої кількості наборів. На рис.3.16 в мережній моделі, що представляється двома типами наборів ВЧИТЕЛЬ_ ВИКЛАДАЄ_ ДИСЦИПЛІНУ та СТУДЕНТ_НАВЧАЄТЬСЯ _ ДИСЦИПЛІНІ, запис-член ДИСЦИПЛІНА входить до обох типів наборів та є зв'язкою цих наборів. Крім того, будь-який запис мережної моделі може мати роль як володаря, так і члену набору.

Рисунок 3.16- Представлення відношення M:N у мережній моделі

До переваг мережних структур слід віднести наявність СКБД, які успішно реалізують таку організацію, а також простоту реалізації зв'язків "багато до багатьом", які часто зустрічаються в реальному світі. Недолік таких структур полягає в складності по відношенню до ієрархічних структур. Прикладному програмісту часто необхідно знати логічну структуру бази даних. При реорганізації бази даних не виключається в ряді випадків втрата незалежності даних.

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

Контрольні запитання.

1. Які типи зв'язків використовують в мережних структурах ?

2. В чому відмінність простої і складної мережних структур ?

3. В чому полягають переваги та недоліки мережних структур ?

4. Яким чином мережні структури представляються ієрархічними ?

Назад | Зміст | Вперед



Copyright ©VSTU
Created: November 16, 2000