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