Основы проектирования реляционных баз данных

Соединение отношений


Операция q-соединения выполняется над двумя отношениями А и В. Результатом выполнения операции

-соединения является отношение С, которое включает в себя все кортежи со всеми атрибутами исходных отношений А и В, удовлетворяющими заданному условию. В каждом отношении выделяется атрибут, по которому выполняется соединение.

Операция соединения отношений может быть представлена следующим образом:

где n - степень отношения Q_a;

- арифметический оператор сравнения; i, j - номера атрибутов в Q_a и Q_b соответственно, по которым выполняется соединение.

Рассмотрим частные случаи

-соединения.

Если

есть арифметический оператор равенства, то такое соединение называется эквисоединением. При этом имена атрибутов исходных отношений могут не совпадать.

Различают еще естественное соединение, когда оба отношения имеют набор одинаковых по именам и типам атрибутов. Соединение выполняется по всему набору совпадающих атрибутов. Пусть R1 (A1, A2,..., An, B1, ...) и R2 (A1, A2, ..., An, C1, ...) - исходные отношения, тогда естественное соединение может быть вычислено следующим образом для одного атрибута:

  • вычислим
    ;
  • для каждого атрибута А, который именует некоторую колонку в R1 и какую-либо колонку в R2, выберем те кортежи из
    , у которых совпадают значения в колонках R1.А и R2.А, где R1.А - имя колонки в
    , соответствующее колонке А из R1. Аналогично для R2.А.;
  • для каждого указанного выше атрибута А удалим из кортежа R2.А. Формально, если A1, A2, ..., An являются именами атрибутов, используемых и в R1, и в R2, то естественное соединение Qc = R1 >< R2 есть

Пример. Соединение отношений. Выполним операцию естественного соединения отношений ЭКЗАМЕН_ВЕДОМОСТЬ и ГРУППА по атрибуту "Группа".

Исходные отношения:

ЭКЗАМЕН_ВЕДОМОСТЬ (Студент, Дисциплина, Оценка, Группа)

ИвановМатематика512
ПетровМатематика310
ИсаевМатематика41
АнтоноваМатематика312

ГРУППА (Курс, Группа, Наименование)

510АСУ
511Прикладная математика

Результирующее отношение:

РЕЗУЛЬТАТ (Студент, Дисциплина, Оценка, Группа, Курс, Наименование)


ПетровМатематика3105АСУ
ИсаевМатематика4115Прикладная математика
Таким образом, в этом разделе мы ввели понятие отношения как подмножества декартового произведения доменов, определили ряд алгебраических операций на отношениях. Зачем это нужно? Эти понятия являются фундаментальными в реляционной теории баз данных. Данные в реляционной модели представляются в виде набора множеств и сохраняются в реляционных базах данных как множества строк таблиц. Запросы к этим данным в СУБД формулируются в терминах операций над множествами. Реляционные операции, применяемые в реляционной модели данных, выполняются на множествах кортежей, результатами их выполнения также являются множества кортежей. Проектировщик реляционной базы данных должен помнить, что он имеет дело с множествами, представленными в виде таблиц в базе данных.

Литература: [1], [2], [3], [4], [5], [6], [11], [14], [15], [16], [20], [37], [39], [42], [43], [44], [45], [47].


Содержание раздела