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


Розділ 4  РЕЛЯЦІЙНИЙ ПІДХІД ДО ПРОЕКТУВАННЯ БАЗ ДАНИХ

4.1. СУТНІСТЬ РЕЛЯЦІЙНОГО ПІДХОДУ ДО ПРОЕКТУВАННЯ БД

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

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

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

В основу реляційних моделей покладено поняття «відношення», яке є засобом структуризації даних. Відношення має вигляд пойменованої двовимірної плоскої таблиці. Рядки такої таблиці називаються кортежами, а сукупність атрибутів певного стовпця — доменом Схема відношення зада­ється ім'ям відношення та іменами відповідних доменів.

Реляційна БД — це набір взаємозв'язаних відношень. Відношення мо­жна поділити на два класи об'єктні й зв'язкові.

Об'єктні відношення зберігають дані про інформаційні об'єкти предме­тної області.

Наприклад:

ДЕТАЛЬ (код деталі, назва деталі, маса деталі, собівартість — об'єк­тне відношення.

В об'єктному відношенні один з атрибутів однозначно ідентифікує ок­рему сутність предметної області. Такий атрибут називається первинним ключем відношення. У наведеному відношенні роль ключового атрибута відіграє атрибут «код деталі».

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

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

Наприклад, розглянемо ще одне об'єктне відношення. ВЕРСТАТ (код верстата, фірма-виготовлювач, дата введення в експлуатацію, початкова вартість)

Тоді відношення ТЕХНОЛОГІЯ (код деталі, код верстата) буде зв'язковим між двома об'єктними відношеннями ДЕТАЛЬ і ВЕРСТАТ

У зв'язковому відношенні можуть дублюватися ключові атрибути. Крім ключів, за якими встановлюється зв'язок у зв'язковому відношенні, можуть бути ще й інші атрибути, які функціонально залежать від цього зв'язку На­приклад, ТЕХНОЛОГІЯ (код верстата, код деталі, код технологічної операції, норма часу обробки деталі на верстаті). Ключі в зв'язкових відношеннях називаються зовнішніми, або вторинними, оскільки вони пов'язані з первинними ключами інших відношень. Реляційна модель нак­ладає на зовнішні ключі обмеження для забезпечення цілісності даних, яке називається посилковою цілісністю. Це означає, що кожному зовнішньому ключу має відповідати рядок якогось об'єктного відношення. Без такого обмеження може статися, що зовнішній ключ посилається на об'єкт, про який нічого не відомо.

У реляційній БД накладається ще одне обмеження — відношення ма­ють бути нормалізовані.

4.2. АНОМАЛІЇ НЕНОРМАЛІЗОВАНОГО ВІДНОШЕННЯ

Структура реляційних відношень у нормалізованій базі даних має бути оптимальною, тобто такою, яка є найбільш стійкою при внесенні змін у дані та зв'язки між ними. Отже, в ненормалізованому відношенні можуть виникнути аномалії, пов'язані з виконанням операції підтримки його в ак­туальному стані. Виявити фактичний прояв тієї чи іншої аномалії можна. лише врахувавши конкретну семантику даних. Проілюструємо це на прикладі конкретного відношення (Цикритзис):

КОМПАНІЯ (номер Працівника, номер відділу, керівник, тип конт­ракту).

1.Аномалія поновлення. Заміна керівника відділу призведе до необхідності внесення змін і модифікацій по кожному працівнику даного відділу. Отже, для підтримання узгодженості даних необхідно виконати