Розділ 4 РЕЛЯЦІЙНИЙ ПІДХІД ДО ПРОЕКТУВАННЯ БАЗ ДАНИХ
4.1. СУТНІСТЬ РЕЛЯЦІЙНОГО ПІДХОДУ ДО ПРОЕКТУВАННЯ БД
Іноді на практиці не виконується етап інфологічного проектування Це спостерігається в тих випадках, коли бажають прискорити процес проектування і впровадження системи в експлуатацію чи коли вже існують локальні файлові структури, які треба організувати у вигляді БД, що перебуватиме під управлінням СУБД У такому разі доцільно використовувати реляційний підхід до проектування БД незалежно від того, яку СУБД буде вибрано — реляційного чи іншого типу.
Скориставшись реляційним підходом, можна спроектувати оптимальну логічну модель БД. Оптимальна логічна модель БД не має аномалій. пов'язаних з модифікацією БД, тобто проблем, що можуть виникнути внаслідок замін, вставок і вилучення даних із БД. Під аномаліями розуміють відхилення від норм, які можуть призвести до порушення посилкової цілісності БД чи виникнення протиріч і неузгодженості даних.
Концепцію реляційної моделі запропонував американський вчений Кодд у 1970 p. Виникнення цієї концепції пов'язане з розв'язанням проблеми забезпечення незалежності даних і їх опису від прикладних програм. Створена Коддом теорія нормалізації відношень виявилася, по суті, єдиною формалізованою теорією, за допомогою якої можна спроектувати оптимальну логічну модель даних Цю теорію можна використовувати не лише при проектуванні баз даних у середовищі реляційних СУБД, а й для СУБД. які підтримують інші моделі даних. Отож, будь-яку логічну модель спочатку проектують як нормалізовану реляційну модель, а потім відображують на ту модель, яку підтримує вибрана СУБД.
В основу реляційних моделей покладено поняття «відношення», яке є засобом структуризації даних. Відношення має вигляд пойменованої двовимірної плоскої таблиці. Рядки такої таблиці називаються кортежами, а сукупність атрибутів певного стовпця — доменом Схема відношення задається ім'ям відношення та іменами відповідних доменів.
Реляційна БД — це набір взаємозв'язаних відношень. Відношення можна поділити на два класи об'єктні й зв'язкові.
Об'єктні відношення зберігають дані про інформаційні об'єкти предметної області.
Наприклад:
ДЕТАЛЬ (код деталі, назва деталі, маса деталі, собівартість — об'єктне відношення.
В об'єктному відношенні один з атрибутів однозначно ідентифікує окрему сутність предметної області. Такий атрибут називається первинним ключем відношення. У наведеному відношенні роль ключового атрибута відіграє атрибут «код деталі».
Ключ може вміщувати кілька атрибутів, тобто бути складовим В об'єктному відношенні не повинно бути рядків з однаковим ключем, тобто не допускається дублювання об'єктів. Це основне обмеження реляційної моделі, яке необхідно виконувати для забезпечення цілісності даних.
Зв'язкове відношення зберігає ключі двох або більше об'єктних відношень, за якими встановлюються зв'язки між ними.
Наприклад, розглянемо ще одне об'єктне відношення. ВЕРСТАТ (код верстата, фірма-виготовлювач, дата введення в експлуатацію, початкова вартість)
Тоді відношення ТЕХНОЛОГІЯ (код деталі, код верстата) буде зв'язковим між двома об'єктними відношеннями ДЕТАЛЬ і ВЕРСТАТ
У зв'язковому відношенні можуть дублюватися ключові атрибути. Крім ключів, за якими встановлюється зв'язок у зв'язковому відношенні, можуть бути ще й інші атрибути, які функціонально залежать від цього зв'язку Наприклад, ТЕХНОЛОГІЯ (код верстата, код деталі, код технологічної операції, норма часу обробки деталі на верстаті). Ключі в зв'язкових відношеннях називаються зовнішніми, або вторинними, оскільки вони пов'язані з первинними ключами інших відношень. Реляційна модель накладає на зовнішні ключі обмеження для забезпечення цілісності даних, яке називається посилковою цілісністю. Це означає, що кожному зовнішньому ключу має відповідати рядок якогось об'єктного відношення. Без такого обмеження може статися, що зовнішній ключ посилається на об'єкт, про який нічого не відомо.
У реляційній БД накладається ще одне обмеження — відношення мають бути нормалізовані.
4.2. АНОМАЛІЇ НЕНОРМАЛІЗОВАНОГО ВІДНОШЕННЯ
Структура реляційних відношень у нормалізованій базі даних має бути оптимальною, тобто такою, яка є найбільш стійкою при внесенні змін у дані та зв'язки між ними. Отже, в ненормалізованому відношенні можуть виникнути аномалії, пов'язані з виконанням операції підтримки його в актуальному стані. Виявити фактичний прояв тієї чи іншої аномалії можна. лише врахувавши конкретну семантику даних. Проілюструємо це на прикладі конкретного відношення (Цикритзис):
КОМПАНІЯ (номер Працівника, номер відділу, керівник, тип контракту).
1.Аномалія поновлення. Заміна керівника відділу призведе до необхідності внесення змін і модифікацій по кожному працівнику даного відділу. Отже, для підтримання узгодженості даних необхідно виконати