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


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

Об'єктними будуть ті відношення, що вміщують нормативно-довідкові дані й первинні ключі яких не можуть дублюватися. Ці відношення можуть бути віднесеними до умовно-постійних файлів.

Зв’язковими відношеннями будуть і відношення, що вміщують операти­вні дані й ключі яких можуть дублюватися

Об’єктні відношення в схемі будуть головними. Тому при відображенні необхідно перевірити всі об'єкти-власники інфологічної моделі і залишити лише ті зв'язки, власниками яких є об'єктні відношення. Зв'язкові відно­шення в схемі реляційної бази даних виступають як підпорядковані. Отож, у структурних зв'язках, що залишились від попередньої ітерації, необхідно перевірити підпорядковані об'єкти і залишити лише ті зв'язки, підпорядко­ваними в яких є зв'язкові відношення.

Якщо в інфологічній моделі є об'єкти-зв'язки, то вони перетворюються в самостійні рівноправні реляційні відношення.

Отримані реляційні відношення мають відповідати умовам нор­малізації. Тому отриману в результаті відображення модель потрібно ще раз перевірити на відповідність її вимогам ЗНФ (4НФ).

3.3. ВІДОБРАЖЕННЯ НА ІЄРАРХІЧНУ МОДЕЛЬ

Історично ієрархічні та сіткові СУБД виникли десь приблизно років на десять раніше від реляційних моделей. Зараз на практиці дуже поширені ПЕОМ, на яких в основному використовуються реляційні СУБД Ієрархічні та сіткові СУБД залишилися на великих і міні-ЕОМ.

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

1. Загальне відображення на ієрархічну модель без урахування обме­жень ієрархічної СУБД.

2. Модифікація моделі з урахуванням обмежень, які накладає вибрана ієрархічна СУБД.

Роботи першого етапу виконують згідно з основними правилами побу­дови ієрархічних моделей. Розглянемо ці правила.

Ієрархічні моделі, збудовані на основі принципу підпорядкованості між інформаційними об'єктами, являють собою деревоподібну структуру, яка складається з вузлів (сегментів) і дуг (гілок). Кожний вузол — це сукупність логічно взаємозв'язаних атрибутів, що описують якусь сутність ПО, неорієнтовані дуги вказують на інформаційні зв'язки між ними.

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

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

1. На самому верхньому рівні ієрархії знаходиться лише один сегмент, який називається кореневим. Кожний екземпляр цього сегмента починає один логічний запис. Тому пошук в ієрархічних моделях виконують згори вниз, зворотного шляху пошуку в цих моделях немає.

Першим кроком відображення інфологічної моделі на ієрархічну буде вибір з-поміж інформаційних об'єктів інфологічної моделі того, який міг би бути кореневим сегментом. Ним може бути об'єкт, який не має зв'язків на вході з іншими об'єктами, тобто до нього не входить жодна дуга і він у всіх структурних зв'язках характеризується лише як власник структурного зв'язку. Якщо з-поміж об'єктів інфологічної моделі немає такого об'єкта, тоді серед них вибирають той, що має мінімальну кількість зв'язків на вході. Якщо ж, навпаки, на роль кореня є кілька об'єктів-претендентів, то тут може бути дві альтернативи.

Перша — об'єднати такі об'єкти-претенденти в один об'єкт і оголосити його кореневим сегментом.

Другий варіант: якщо сегменти неможливо об'єднати через семантичну різнорідність, то кожний із цих об'єктів оголошують коренем різних фізичних баз даних, тобто будують кілька деревоподібних структур.

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

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

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

4. Кожний вихідний сегмент може мат и кілька породжених, але пород­жений сегмент може мати щонайбільше два вихідних, один з яких є фізично, а інший логічно вихідним. Зв'язки в одній фізичній базі даних (ФБД) називаються фізичними, а зв'язки між двома ФБД — логічними. На рис.3.1 зображено дві фізичні бази даних ФБД-1 і ФБД-2,.у яких сегмент Х є фізично вихідним для сегмента Z, a Y — логічно вихідним для цього само­го сегмента; в цьому разі Z виступає відносно до Y як логічно породжений сегмент,