Я не вижу древовидную структуру в вашем решении.В частности, я не думаю, что ваш столбец nextId способен работать с выражениями, в которых есть скобки.Но я мог что-то упустить.
Я предлагаю вам взглянуть на способ выражения древовидных структур, который известен как техника вложенного множества.В этом методе столбец «следующего идентификатора» заменяется двумя столбцами, которые называются «левый идентификатор» и «правый идентификатор», которые могут указывать, какие под улицы находятся внутри других поддеревьев.Это слишком упрощенная сводка того, что вы собираетесь найти.
Используя вложенные наборы, легко придумать запрос, который показывает поддерево для любого данного узла, или путь от любого данного узла обратнов корень.
Почему эти данные в базе данных?