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


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

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

Перетворення 2. Згідно з правилами побудови сіткових моделей кож­ний набір не може мати більш як одного власника в одному й тому самому наборі. Тому наступним кроком відображення є усунення багатозначного володіння. Усі зв'язки типу «багато до багатьох» (Б:Б) не можуть бути реа­лізовані в явному вигляді. Їх моделюють так, як показано на рис. 3.8.

На рис. 3.8 показано, як за допомогою двох зв'язків 1:Б реалізовано взаємозв'язок Б:Б. Реалізувати це однією дугою немож­ливо, оскільки одну і ту саму операцію об­робки можуть проходити різні деталі, а це призводить до порушення правила унікаль­ності володіння, бо одна й та сама деталь має стати членом одночасно двох чи біль­ше екземплярів одного набору. Тому мож­на ввести два набори: МАРШРУТ буде відображати зв'язок ДЕТАЛЬ — ВЕРСТАТ і вказуватиме, на яких верстатах пройшла

обробку та чи інша деталь: ОПЕРАЦІЯ вказуватиме, які деталі проходять обробку на кожному верстаті.

У наборі даних ОПЕРАЦІЯ тип запису ВЕРСТАТ виступає власником, а ДЕТАЛЬ — членом набору, а в наборі МАРШРУТ, навпаки, ВЕРСТАТ — член, а ДЕТАЛЬ — власник набору.

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

Наприклад, зображений на рис. 3.9 фрагмент структури вміщує цикл, який буде усунено введенням до типу запису С адресного посилання на тип запису А.    

Рис. 3.9. Усунення циклу за допомогою адресних посилань

Зауваження. Якщо при даталогічному проектуванні спочатку отримати реляційну модель, то, оголосивши набори даних скрізь, де є зв'язок «ключ — зовнішній ключ» у напрямі від ключа до зовнішнього ключа, можна діс­тати коректну структуру сіткової моделі. Звичайно, ця модель може бути не найбільш раціональною, однак її можна вдосконалити на наступному кроці при модифікації моделі з урахуванням обмежень вибраної СУБД.

Раніше було розглянуто загальні процедури відображення інфологічної моделі на сіткову без урахування обмежень конкретної СУБД.

Конкретна СУБД може накладати дуже жорсткі обмеження на побудо­ву даталогічної моделі. Так, СУБД сім'ї СЄТОР, які мають версії для вели­ких, малих і мікро-ЕОМ, можуть підтримувати лише дворівневі ациклічні структури. Тому отриману на першому кроці модель необхідно моди­фікувати з урахуванням обмежень СУБД сім'ї СЄТОР.

Основне перетворення — це перехід до дворівневих структур. Це пере­творення можна виконати за допомогою двох варіантів (рис. 3.10).

Перший варіант перетворення полягає в перенесенні всіх проміжних рівнів на перший рівень ієрархії (рис. 3.10, а).