Интернет магазин китайских планшетных компьютеров



Компьютеры - Операция соединения (СУБД)

24 марта 2011





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

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

Пример:

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

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

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

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

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

  • Алгоритм соединения вложенными циклами.
  • Алгоритм соединения хэшированием.
  • Алгоритм соединения слиянием сортированных списков.

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

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



Просмотров: 931


<<< Объектно-реляционная СУБД
Оптимизация запросов СУБД >>>