Алгоритм соединения (СУБД)

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск

Алгоритм соединения (СУБД)

Целью алгоритма соеднинения является реализация в конкретной СУБД операции соединения реляционной алгебры.

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

Пример:

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

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

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

таблица «Результат соединения»
Фамилия ИД Отдела Отдел ИД Отдела
Иванов 34 Бухгалтерия 34
Петров 36 Маркетинг 36
Сидоров 34 Бухгалтерия 34
Сергеев 34 Бухгалтерия 34

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

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

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

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