Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
bd.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.91 Mб
Скачать

37. Мережна мд.

8.2. Мережна мд

Мережна модель даних є розширенням ієрархічної моделі й призначена для адекватного моделювання зв'язків між сутностями типу «багато-до-багатьох». Домінуючий вплив на розвиток мережної моделі даних і побудованих на її основі систем баз даних мали пропозиції групи CODASYL DBTG (Data Base Task Group) з участю Чарльза Бахмана. Окрім формальної нотації для мережної моделі (мова опису даних — МОД) та пов'язаних з нею певних ключових концепцій, DBTG запропонувала МОД підсхеми для означення зовнішнього відображення концептуальної схеми бази даних та мову опису збережених даних (МОЗД) для означення способів зберігання даних на носіях. Сама концептуальна схема описується за допомогою МОД. Запропонована була й мова маніпулювання даними (ММД) для написання прикладних програм, що взаємодіють з базою даних у термінах зовнішньої схеми (підсхеми).

Типовим представником є Integrated Database Management System (IDMS) компанії Cullinet Software, Inc., що призначена для використання на серверах основного класу фірми IBM під управлінням більшості операційних систем.

Мережна структура даних

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

Елементарною одиницею даних мережної (так само, як ієрархічної) структури є пойменоване поле даних.

Тип запису — це пойменована впорядкована сукупність назв полів. Екземпляр запису (аналог сегмента в ієрархічній структурі даних) — це впорядкована сукупність значень полів запису. Екземпляр запису є одиницею доступу до даних мережної структури.

Набір - пойменований дворівневий ієрархічний зв'язок типів записів. Набір є основною конструкцією мови, запропонованої CODASYL DBTG. Із дворівневих наборів можуть будуватися багаторівневі ієрархії та мережні структури. Кожний тип набору — це сукупність зв'язків між двома або кількома типами записів, де один тип запису оголошується власником, а інший (або кілька інших) — членами типу набору. Екземпляр набору містить один екземпляр запису-власника і довільну кількість екземплярів кожного типу запису-члена набору. Отже, набір описує дворівневий ієрархічний зв'язок типу «один-до-багатьох».

Тип запису КАФЕДРА (рис. 8.4., а) є власником типу набору, а типи ДИСЦИПЛІНА і ВИКЛАДАЧ — члени типу набору. На рис. 8.4, б зображений екземпляр цього типу набору. Він містить один екземпляр типу запису КАФЕДРА і декілька типів записів ДИСЦИПЛІНА та ВИКЛАДАЧ.

Рис. 8.4. Приклад опису набору «Кафедра»: тип набору (а); екземпляр набору (б)

Типи наборів можуть використовуватися для створення багаторівневих ієрархічних або мережних структур.

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

Рис. 8.5. Трирівнева ієрархічна структура

Для опису будь-якої n-рівневої ієрархії потрібно принаймні n - 1 наборів. Один тип запису може мати кілька батьківських записів, якщо вони є власниками різних типів наборів, тобто запис може бути членом багатьох наборів і мати декілька записів-власників. Так формуються мережні структури.

Приклад схеми мережної структури даних, що складається з п'яти типів наборів даних, наведений на рис. 8.6. Мережну структуру формують набори Прослуховує, Читається і Читає, а тип запису ЛЕКЦІЯ є їхнім членом.

Отже, одні й ті самі типи записів можуть бути зв'язані в різні набори.

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

Рис. 8.6. Мережна структура даних

Зв'язок згаданого типу моделюється введенням нового типу запису ЛЕКЦІЯ і встановленням двох зв'язків (наборів) типу «один-до-багатьох» (рис. 8.7.).

Рис. 8.7. Моделювання зв'язку типу «багато-до-багатьох»:  схема (а); екземпляр схеми (б)

Мережна структура може відображати цикли та петлі. Циклом називається конфігурація, в якій предок типу запису є водночас його нащадком. Приклад циклічної мережної структури наведений на рис. 8.8, а. Тут вироби певного заводу є сировиною для виробів іншого заводу.

Петля — це структура, де один тип запису є одночасно власником і членом в одному типі набору. Структура виробів описана на рис. 8.8, б. Виріб складається з вузлів і деталей; у свою чергу вузли можуть складатися з інших вузлів і деталей. Тоді навколо типу запису ВУЗОЛ утворюється петля.

Рис. 8.8. Приклади мережних структур:  цикл (а); петля (б)

Мережна структура CODASYL не допускає відображення петель. У разі їхнього виникнення пропонується вводити додаткові типи записів, які дають змогу вирішити проблему «розвузлування».

Категорії схем, які зустрічаються в мережних структурах даних, зображені у табл. 8.1. Як бачимо, мережна структура даних здатна моделювати в повному обсязі ієрархічну структуру та власне мережні схеми. Окрім того, у загальному випадку вона дає можливість описувати петлі та цикли.

Таблиця 8.1. Категорії схем мережної структури даних

Назва категорії

Дворівнева схема

Багаторівнева схема

Схема з циклами

Без розгалужень

З розгалуженнями

Без розгалужень

З розгалуженнями

Ієрархічні структури

 

Мережні структури

Петлі (однорівневі цикли)

 

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