Теорія реляційних БД

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

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

При строгому підході розгляд третьої процедури (як це зробив Е. Коду) є як би автономним і не входить в теорію реляційних БД. Однак, оскільки робота в усі більш широко використовуваному многопользовательском доступі до даних без теоретичної опрацювання процедури синхронізації неможлива, її вивчення також включимо в теорію реляційних БД [4, 12).

Теоретичні інструменти перших двох процедур - реляційна алгебра і реляційне числення. Реляційна алгебра (РА) є теоретичною основою алгоритмічних мов програмування, складних для початківця користувача, тоді як на реляційному обчисленні (РІ) побудовані (див. § 1.1.) Більш зручні декларативні мови програмування SQL і QBE.

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

Математичні основи теорії

Корисно провести аналогію РА та шкільного курсу алгебри. В останньому в якості елементів апріорі вводяться букви, а операції над ними - додавання, віднімання (прямі) і множення, ділення (зворотні). У той же час фундаментальна теорія алгебри, що включає зв'язку між операціями, такі основні властивості, як коммутативность ab = ba, асоціативність (ab) c = a (bc), дистрибутивность (a + b) c - ab + bс, ідемпотентність a 2 = a, вивчаються у вузівському курсі вищої алгебри.

Сказане можна віднести і до реляційній алгебрі. Її елементами служать таблиці, над стовпцями і рядками яких виконуються дев`ять операцій (§ 4.1.1.). У той же час більш глибока фундаментальна зв'язок між операціями (властивості), аналогічні курсом вищої алгебри, розглянуті в § 1.1.

Основи реляційної алгебри

Основні поняття. В основі реляційної БД лежить поняття "ставлення", "зв'язок".

Ставленням r називається підмножина декартова твори. Поля відносини (таблиці) можуть розташовуватися в довільному порядку. Щоб встановити певний порядок для будь -або конкретної реалізації, вводять поняття "схема" R - безліч впорядкованих імен атрибутів R (A1, ..., Аn). Кажуть про схему R відносини r або r (R). Будь імені Аi. ставиться у відповідність безліч Di (домен або dom (Ai)). Схема - кінцеве безліч кортежів t Î r, при цьому t (Ai) = Di.

Парадигмою реляційних БД є ключ r відносини R - підмножина К = {В1, ..., Bm} R, m ≤ n з обмеженнями:

  • 1) для будь-яких двох кортежів t1 і t2 існують B Î К, таке, що t1 (B) ≠ t2 (В);
  • 2) t1 (K) ≠ t2 (K);
  • 3) ні одне власне підмножина К 'з К не має властивість ключа.

Ключі, явно перераховані разом з реляційною схемою, називаються явними; в іншому випадку - неявними. Один з виділених ключів називається первинним. Якщо ключ К 'Ì До Ì R, то К - суперключ (складовою ключ).

Можливий варіант [4], коли кілька мінімальних множин атрибутів функціонально визначають всі атрибути відносини. Такі безлічі називають можливими (альтернативними) ключами, оскільки будь-яке з них можна вибрати в якості складеного ключа.

Наприклад, нехай є ставлення

R (Місто, Адреса, Почтовий_індекс).

Очевидно, що атрибути: Місто Адреса → Почтовий_індекс. У той же час Почтовий_індекс → Місто (хоча і не адреса). Обидва безлічі можуть бути можливими ключами.

Універсум U безліч значень всіх атрибутів. З урахуванням ключів схема R над U - сукупність відносин {R1, ..., RT}, де

Тоді реляційної БД d зі схемою даних R називається сукупність відносин (r1, ..., rn}, де для будь-якої схеми R = {S, К} існує відношення в d, що є відношенням зі схемою S, • задовольняє будь ключу.

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

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

Виникає питання: якими мають бути правила створення і перетворення таблиць.

Фактично для таблиць виділяють такі складові:

  • 1) створення;
  • 2) оновлення і запит;
  • 3) синхронізація процесів доступу.

У процесі створення та оновлення повинна бути забезпечена цілісність даних, тоді як у процедурі запиту необхідно перетворення таблиць в припущенні забезпечення цілісності.

Почнемо обговорення з операцій перетворення таблиць.

Для оперування з таблицями необхідно вміти описувати їх формально. Теоретичний опис може бути двох видів:

  • 1) предикатами першого порядку;
  • 2) використанням правил реляційної алгебри (РА) і реляційного обчисленні (РІ).

Перший вид специфічний і характерний для експертних (інтелектуальних) систем, тому обговоримо другий вид.

 
< Попер   ЗМІСТ   Наст >