Существует "поместить метод FK в родительский" , т.е. каждая запись указывает на его родительский. Что трудно читать, но очень легко поддерживать.
И тогда есть метод "Directory structure key":
0001.0000.0000.0000 main branch 1
0001.0001.0000.0000 child of main branch one
etc
Что супер легко читать, но трудно поддерживать.
Каковы другие способы и их недостатки/плюсы?