Основные правила работы с деревом Nested Sets
Шесть ключевых правил для корректной работы древовидных структур данных:
- Левый ключ всегда меньше правого.
- Наименьший левый ключ всегда равен 1.
- Наибольший правый ключ равен двойному числу узлов.
- Разница между ключами — всегда нечётное число.
- Чётность уровня узла соответствует чётности левого ключа.
- Ключи должны быть уникальны (с оговорками при перестроении).
Проверочные запросы
Несколько SQL-запросов для валидации структуры дерева. Например, запрос:
WHERE left_key >= right_key должен возвращать пустой результат при корректной структуре.
Последний, наиболее сложный запрос на проверку соблюдения всех правил весьма ресурсоёмок и при большом количестве узлов работает медленно.
Важное замечание
Данные проверки не гарантируют 100% корректность, но выявляют большинство ошибок.