Алгоритм соединения (СУБД)
Целью алгоритма соединения является реализация в конкретной СУБД операции соединения реляционной алгебры.
Исходными данными для алгоритма являются два отношения (таблицы) и описание условия соединения.
Результатом операции является отношение (таблица), получаемая как декартово произведение исходных отношений ограниченная условием соединения.
Пример:
Имеется 2 таблицы: Служащий и Отдел.
Задано условие соединения: «Служащий.[ИД отдела]=Отдел.[ИД отдела]»
таблица «Служащий»
|
Фамилия
|
ИД Отдела
|
Иванов |
34
|
Петров |
36
|
Сидоров |
34
|
Сергеев |
34
|
|
таблица «Отдел»
|
Название
|
ИД Отдела
|
Бухгалтерия |
34
|
Маркетинг |
36
|
|
Результатом операции соединения будет:
таблица «Результат соединения»
|
Фамилия
|
ИД Отдела
|
Отдел
|
ИД Отдела
|
Иванов |
34 |
Бухгалтерия |
34
|
Петров |
36 |
Маркетинг |
36
|
Сидоров |
34 |
Бухгалтерия |
34
|
Сергеев |
34 |
Бухгалтерия |
34
|
В практических реализациях соединение обычно не выполняется как ограничение декартова произведения. Имеются более эффективные алгоритмы, гарантирующие получение такого же результата:
Понимание особенностей алгоритмов соединения важно при анализе и оптимизации планов выполнения запросов СУБД
Алгоритмы соединения имеют ценность не только в контексте СУБД, но и практически в любых ситуациях, когда необходимо комбинировать данные содержащиеся в нескольких коллекциях\списках.
См. также
cs:JOIN
en:Join (SQL)
es:Join
fr:Jointure (informatique)
it:Join (SQL)
no:Join (SQL)
uk:Об'єднання (SQL)
vi:Join (SQL)
zh:连接 (SQL)
|
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....