AdTech AI PostgreSQL О компании
PostgreSQL · Деревья 14 февраля, 2025 Сергей Томулевич

Nested Sets. Введение

Метод Nested Sets для хранения деревьев в SQL. Структура таблицы (left_key, right_key, level), типы выборок и связь с parent_id.

Что это такое?

Метод хранения древовидных структур в SQL базах данных под названием «Nested Sets» (Вложенные множества).

Квадратами обозначены узлы дерева, цифры в верхних углах узла — уровень и уникальный идентификатор соответственно, а цифры в нижних углах — это левый и правый ключ.

Структура таблицы

Поля таблицы:

Как использовать?

Четыре основных типа запросов:

  1. Выборка всего дерева (сортировка по left_key).
  2. Выборка подчинённых узлов определённого узла.
  3. Выборка родительской ветки.
  4. Выборка ветки, в которой участвует узел.

Для получения родительского узла рекомендуется добавить в таблицу поле parent_id.

Связанные материалы

Готовы посчитать собственный стек? Расскажем, какие модули и какая нагрузка нужны под вашу задачу.

to@prototypes.ventures