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



              

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


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

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

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

Q_c = Q_a >< Q_b = \sigma_{i \theta(n+j)} (Q_a X Q_b),

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

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

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

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

Если

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

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

  • вычислим
    R_1 \times R_2
    ;
  • для каждого атрибута А, который именует некоторую колонку в R1 и какую-либо колонку в R2, выберем те кортежи из
    R_1 \times R_2
    , у которых совпадают значения в колонках R1.А и R2.А, где R1.А - имя колонки в
    R_1 \times R_2
    , соответствующее колонке А из R1. Аналогично для R2.А.;
  • для каждого указанного выше атрибута А удалим из кортежа R2.А. Формально, если A1, A2, ..., An являются именами атрибутов, используемых и в R1, и в R2, то естественное соединение Qc = R1 >< R2 есть
    Q_c=\Pi_{i_{1},i_{2},\dots,i_{m}} (\sigma_{R_{1}\dotA_{1}=R_{2}\dotA_{1} and \ldots R_{1}\dotA_{n}=R_{2}\dotA_{n}}(Q_a \times Q_b))

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

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

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

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

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

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

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

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




Содержание  Назад  Вперед