Jump to content

Рекурсивное соединение

Рекурсивное соединение — это операция, используемая в реляционных базах данных , которую также иногда называют «соединением с фиксированной точкой». Это составная операция , которая включает в себя повторение операции соединения , обычно каждый раз накапливая больше записей, пока повторение не приведет к изменению результатов (по сравнению с результатами предыдущей итерации). [1]

Например, если необходимо выполнить поиск в базе данных семейных отношений и запись для каждого человека имеет поля «мать» и «отец», рекурсивное соединение будет одним из способов получить всех известных предков человека: сначала будут извлечены записи родителей, затем информация о родителях будет использоваться для получения записей бабушек и дедушек и так далее, пока новые записи не будут найдены.

В этом примере, как и во многих реальных случаях, повторение включает только одну таблицу базы данных и, более конкретно, представляет собой «рекурсивное самообъединение».

Рекурсивные соединения могут занимать очень много времени. [2] если не оптимизировано с помощью индексации, добавления дополнительных ключевых полей или других методов. Обход графа обходится дешевле, чем метод рекурсивных соединений. [3]

Рекурсивные соединения очень характерны для иерархических данных и поэтому становятся серьезной проблемой для данных XML . В XML такие операции, как определение того, содержит ли один элемент другой, чрезвычайно распространены, и рекурсивное соединение, возможно, является наиболее очевидным способом их реализации, когда данные XML хранятся в реляционной базе данных.

Стандартный способ определения рекурсивных объединений в стандарте SQL:1999 — это использование рекурсивных общих табличных выражений . К системам управления базами данных, поддерживающим рекурсивные CTE, относятся Microsoft SQL Server , Oracle , PostgreSQL и другие.

См. также

[ редактировать ]
  1. ^ Зигиарис, Сотириос (23 августа 2018 г.). Системы управления базами данных: бизнес-ориентированный подход с использованием ORACLE, MySQL и MS Access . Издательство Изумрудной группы. п. 136. ИСБН  978-1-78756-696-5 .
  2. ^ Хили, Кристофер Г. (17 ноября 2016 г.). Дисковые алгоритмы для больших данных . ЦРК Пресс. п. 127. ИСБН  978-1-315-30286-7 .
  3. ^ Ресурсы, Ассоциация менеджмента, Информация (20 апреля 2016 г.). Большие данные: концепции, методологии, инструменты и приложения: концепции, методологии, инструменты и приложения . IGI Global. п. 596. ИСБН  978-1-4666-9841-3 . {{cite book}}: CS1 maint: несколько имен: список авторов ( ссылка )


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b30a395df324acdb2e0b94632ed638e8__1690745400
URL1:https://arc.ask3.ru/arc/aa/b3/e8/b30a395df324acdb2e0b94632ed638e8.html
Заголовок, (Title) документа по адресу, URL1:
Recursive join - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)