Реляційна структура даних
Будучи математиком за освітою Е.Кодд запропонував використовувати для обробки даних апарат теорії множин (об'єднання, перетин, різницю, декартове твір). Він показав, що будь-яке подання даних зводиться до сукупності двовимірних таблиць особливого виду, відомого в математиці як відношення - relation (англ.) [3, 7, 9].
Найменша одиниця даних реляційної моделі – це окремеатомарне(нерозкладне) для даної моделі значення даних. Так, в одній предметній області прізвище, ім'я та по батькові можуть розглядатися як єдине значення, а в іншій – як три різні значення.
Доменомназивається безліч атомарних значень одного й того самого типу. Так, на рис. 1.1 домен пунктів відправлення (призначення) – безліч назв населених пунктів, а домен номерів рейсу – безліч позитивних чисел.
Сенс доменів полягає в наступному. Якщо значення двох атрибутів беруться з одного і того ж домену, то, ймовірно, мають сенс порівняння, що використовують ці два атрибути (наприклад, для організації транзитного рейсу можна надати запит "Видати рейси, в яких час вильоту з Москви до Сочі більше часу прибуття з Архангельська до Москви"). Якщо значення двох атрибутів беруться з різних доменів, то їх порівняння, ймовірно, позбавлене сенсу: чи варто порівнювати номер рейсу з вартістю квитка?
Відношення на доменах D1, D2, . Dn (не обов'язково, щоб усі вони були різні) складається із заголовка та тіла. На рис. 3.1 наведено приклад відносини для розкладу руху літаків (рис. 1.1).
Заголовок(на рис. 1.1 він називався інтерпретацією) складається з такого фіксованого безлічі атрибутів A1, A2, . An, що існує взаємно однозначна відповідність між цими атрибутами Ai та визначальними їхдоменами Di (i = 1,2. n).
Мал. 3.1. Відношення з математичної точки зору (Ai – атрибути, Vi – значення атрибутів)
Тілоскладається з мінливої в часі множиникортежів, де кожен кортеж складається у свою чергу з множини пар атрибут-значення (Ai:Vi), (i=1,2. n), по одній такій парі для кожного атрибуту Ai у заголовку. Для будь-якої заданої пари атрибут-значення (Ai:Vi) Vi є значенням єдиного домену Di, який пов'язаний з атрибутом Ai.
Ступінь відносини- це число його атрибутів. Ставлення ступеня один називають унарним, ступеня два – бінарним, ступеня три – тернарним, . а ступеня n - n-арним. Ступінь відношення "Рейс" (рис. 1.1) - 8.
Кардинальне числоабопотужність відносини– це число його кортежів. Потужність відносини "Рейс" дорівнює 10. Кардинальна кількість відносини змінюється у часі на відміну його ступеня.
Оскільки відношення - це безліч, а безліч за визначенням не містять збігаються елементів, то жодні два кортежі відносини не можуть бути дублікатами один одного в будь-який довільно-заданий момент часу. Нехай R - Відношення з атрибутами A1, A2, . An. Кажуть, що безліч атрибутів K=(Ai, Aj, . Ak) відносини R є можливим ключем R тоді і лише тоді, коли задовольняються дві незалежні від часу умови:
- Унікальність: у довільний заданий момент часу жодні два різні кортежі R не мають одного й того ж значення для Ai, Aj, . Ak.
- Мінімальність: жоден із атрибутів Ai, Aj, . Ak не може бути виключено з K без порушення унікальності.
Кожне відношення має хоча б один можливий ключ, оскільки щонайменше комбінація всіх його атрибутів задовольняє умову унікальності. Один із можливихключів (вибраний довільним чином) приймається за його первинний ключ. Інші можливі ключі, якщо вони є, називаються альтернативними ключами.
Вищезгадані та деякі інші математичні поняття стали теоретичною базою для створення реляційних СУБД, розробки відповідних мовних засобів та програмних систем, що забезпечують їх високу продуктивність, та створення основ теорії проектування баз даних. Однак для масового користувача реляційних СУБД можна успішно використовувати неформальні еквіваленти цих понять:
Відношення - Таблиця (іноді Файл), Кортеж - Рядок (іноді Запис), Атрибут - Стовпець, Поле.
При цьому приймається, що "запис" означає "примірник запису", а "поле" означає "ім'я та тип поля".