03 - Організація баз даних та знань

Тема 5 - Реляційна модель даних

Стислий конспект


Ключові терміни:

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

 5.1 Поняття відношення

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

  1. Однорідність подання даних у моделі, що обумовлює простоту сприйняття її конструкцій користувачами БД;
  2. Наявність розвиненої математичної теорії реляційних БД, що обумовлює коректність її застосування.

Підходи до визначення поняття відношення можуть бути різними. Математично відношення може бути визначене як безліч кортежів, що є підмножиною декартового добутку фіксованого числа областей (доменів). У результаті одержуємо, що у кожному кортежі повинне бути однакове число компонентів (атрибутів) і значення кожного з них вибирається з деякого певного домену.

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

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

При створенні ІС сукупність відношень дозволяє зберігати дані про об’єкти предметної області і моделювати зв’язки між ними. У кожному зв’язку одне відношення може виступати як основне, а друге виступає в ролі похідного. Таким чином, один кортеж основного відношення може бути пов’язаним з декількома кортежами похідного відношення. Для підтримки цих зв’язків обидва відношення повинні містити атрибути, за якими вони пов’язані. В основному відношенню, це первинний ключ, а в підлеглому – набір атрибутів, що відповідає первинному ключу основного відношення.

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

Математично первинним ключем відношення є підмножина звуження декартового добутку, що дозволяє однозначно ідентифікувати кортеж. Якщо первинний ключ містить кілька атрибутів, то він називається складеним ключем, у протилежному випадку - атомарним. Частковим ключем називається атрибут складеного ключа, якщо він однозначно визначає сукупність неключових атрибутів відношення. Атрибут кортежу, що є первинним ключем іншого відношення, називається зовнішнім (іноді стороннім) ключем. З визначення відношення випливає наступна важлива властивість реляційної моделі даних: кожне відношення повинне мати первинний ключ. Зазначимо, що ключ у контексті моделі ПО БД завжди відображає той або інший ступінь зв'язку між атрибутами сутностей ПО, тобто семантично ключ є засіб моделювання зв'язків у моделі.

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

Обмежуючі умови підтримки цілісності.

Цілісність даних – узгодженість даних в БД. Обмежуюча умова – це правило, яке обмежує значення даних в БД. В реляційній моделі є декілька обмежуючих умов, що використовуються для перевірки даних в БД та надання сенсу структурі даних. Прийнято виділяти такі обмеження.

Категорійна цілісність. Рядки реляційної таблиці представляють в БД елементи певних об’єктів реального світу або категорій. Ключ реляційної таблиці однозначно визначає кожний рядок і, як наслідок, кожен елемент категорії. Таким чином, коли користувач вилучає дані певного рядку або маніпулює ними, повинні знати значення ключа цього рядка. Відповідно недопустимим є порожнє значення ключа або частини ключа.

Правило категорійної цілісності: ніякий ключовий атрибут рядка не може бути порожнім.

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

Правило цілісності на рівні посилання: значення не порожнього зовнішнього ключа повинно бути рівним одному з поточних значень ключа другої таблиці.

 5.2 Форма подання відношення

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

ІМ'Я_ВІДНОШЕННЯ (Атрибути первинного ключа, неключові атрибути).

Однак найбільшого поширення одержало подання відношень у вигляді графічних діаграм, наприклад ER-діаграм, про які ми говорили раніш. Перевагами такого подання є наочність діаграм і можливість їх побудови у ряді CASE-засобів проектування БД.

 5.3 Операції над реляційними даними

Множина операцій над реляційними даними становлять реляційну алгебру. Кожна операція задіює одну або дві таблиці. Основних операцій вісім, розбитих на дві групи. Розглянемо їх детальніше.

Традиційні операції.

Об’єднання двох відношень – це відношення, яке містить множину рядків, приналежних або першому, або другому вхідному відношенню, або обом відношенням одночасно.

Перетин двох відношень – це відношення, яке містить множину рядків, приналежних одночасно і першому і другому відношенням.

Різниця двох відношень – це відношення, що містить множину рядків, приналежних першому відношенню.

Спеціальні операції.

Селекція – вибірка по критеріям, що виконується по рядкам.

Проекція – вибірка по колонкам.

Результатом виконання операції є подання.

 5.4 Функціональна залежність в даних

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

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

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

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

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

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


© 2015 СумГУ
created with Lectur'EDbeta