Estou tendo dificuldades em modelar um banco onde terei uma estrutura de diretórios e subdiretórios com seus respectivos sites. Ao navegar pela estrutura, a página mostraria o diretório onde o usuário está, o caminho (com todos os diretórios pais) e as páginas do diretório correspondente.
Geralmente, esse tipo de estrutura recursiva é baseada em uma tabela encadeada, onde você tem o registro filho que indica quem é o pai até se chegar ao topo quando não existe informação de pai.
[i]Tab_Recursiva
Codigo int
Descrição String
CodigoPai int
[/i]
Se não tiver código pai, é topo, se não tiver filho é folha.
Para ler isso, pode se carregar toda arvore e fazer o parse em um método recursivo, existe milhares de formas de implementar.
Cheguei a pensar nesta solução mas não sabia se havia alguma forma mais eficiente do que ficar fazendo consultas consecutivas para montar a árvore de diretórios.