Операция соединения (СУБД)

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Алгоритм соединения (СУБД)»)
Перейти к: навигация, поиск

Операция соединения (СУБД) — реализация в конкретной СУБД операции соединения реляционной алгебры.

Исходными данными для операции являются два отношения (таблицы) и предикат (условие соединения). Результатом операции является отношение (таблица), логически получаемое как декартово произведение исходных отношений, к которому применена операция выборки (ограничения) с указанным предикатом (условием соединения).

Пример:

Имеется две таблицы: Служащий и Отдел. Задано условие соединения: «Служащий.[Код отдела]=Отдел.[Код отдела]»

Служащий
Фамилия Код отдела
Иванов 34
Петров 36
Сидоров 34
Сергеев 34
Отдел
Название Код отдела
Бухгалтерия 34
Маркетинг 36

Результатом операции соединения будет:

Результат соединения
Служащий.Фамилия Служащий.Код отдела Отдел.Название Отдел.Код отдела
Иванов 34 Бухгалтерия 34
Петров 36 Маркетинг 36
Сидоров 34 Бухгалтерия 34
Сергеев 34 Бухгалтерия 34

На уровне реализации операция соединения обычно не выполняется как выборка из декартова произведения. Предложены более эффективные алгоритмы, гарантирующие получение такого же логического результата:

Понимание особенностей алгоритмов соединения важно при анализе и оптимизации планов выполнения запросов СУБД

Алгоритмы соединения имеют ценность не только в контексте СУБД, но и практически в любых ситуациях, когда необходимо комбинировать данные содержащиеся в нескольких коллекциях\списках.

См. также[править | править вики-текст]