Что это такое?
Метод хранения древовидных структур в SQL базах данных под названием «Nested Sets» (Вложенные множества).
Квадратами обозначены узлы дерева, цифры в верхних углах узла — уровень и уникальный идентификатор соответственно, а цифры в нижних углах — это левый и правый ключ.
Структура таблицы
Поля таблицы:
left_key— указывает начало ветки.right_key— указывает конец ветки.level— уровень узла, показывает количество родителей.
Как использовать?
Четыре основных типа запросов:
- Выборка всего дерева (сортировка по
left_key). - Выборка подчинённых узлов определённого узла.
- Выборка родительской ветки.
- Выборка ветки, в которой участвует узел.
Для получения родительского узла рекомендуется добавить в таблицу поле parent_id.