|
|
Компьютеры - Операция соединения (СУБД)24 марта 2011
Операция соединения - реализация в конкретной СУБД операции соединения реляционной алгебры.
Исходными данными для операции являются два отношения и описание условия соединения. Результатом операции является отношение, получаемая как декартово произведение исходных отношений, ограниченная условием соединения.
Пример:
Имеется 2 таблицы: Служащий и Отдел. Задано условие соединения: «Служащий.=Отдел.»
таблица «Служащий» |
Фамилия |
ИД Отдела |
Иванов |
34 |
Петров |
36 |
Сидоров |
34 |
Сергеев |
34 |
|
таблица «Отдел» |
Название |
ИД Отдела |
Бухгалтерия |
34 |
Маркетинг |
36 |
|
Результатом операции соединения будет:
таблица «Результат соединения» |
Фамилия |
ИД Отдела |
Отдел |
ИД Отдела |
Иванов |
34 |
Бухгалтерия |
34 |
Петров |
36 |
Маркетинг |
36 |
Сидоров |
34 |
Бухгалтерия |
34 |
Сергеев |
34 |
Бухгалтерия |
34 |
В практических реализациях соединение обычно не выполняется как ограничение декартова произведения. Имеются более эффективные алгоритмы, гарантирующие получение такого же результата:
- Алгоритм соединения вложенными циклами.
- Алгоритм соединения хэшированием.
- Алгоритм соединения слиянием сортированных списков.
Понимание особенностей алгоритмов соединения важно при анализе и оптимизации планов выполнения запросов СУБД
Алгоритмы соединения имеют ценность не только в контексте СУБД, но и практически в любых ситуациях, когда необходимо комбинировать данные содержащиеся в нескольких коллекциях\списках.
Просмотров: 962
|
|