Ir para conteúdo
Fórum Script Brasil
  • 0

Modelagem Tabela N Niveis


Guest --N3G4T1V3 --

Pergunta

Guest --N3G4T1V3 --

Galera estou precisando fazer uma modelagem como se fosse de pastas então pense que eu tenha

pasta1

__pasta1.1

__pasta1.2

__pasta1.3

____pasta 1.3.1

e etc..

alguém já teve experiencia com esse tipo de situação?

o que pensei foi de fazer uma tabela com um fk dela mesma porém não estou conseguindo imaginar como trazer todas elas nessa estrutura sem ter que fazer N consultas até ele acabar de montar toda estrutura.. gostaria de fazer em um select só..

se alguém tiver sugestões postem ai..

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Camarada, imagino duas alternativas, custosas, para o que está querendo (todas devem incluir a fk que mencionou):

Primeira: gerar códigos, como aquele "1.3.1" que está depois de "pasta", e incluí-los em uma coluna adicional durante a manipulação dos dados da tabela;

Segunda: utilizar uma coluna adicional para registrar o nível do registro (tipo: "pasta1" -> nível 1, "pasta1.1" -> nível 2...) e uma tabela adicional que preserve a ordenação da estrutura, formando assim uma matriz virtual bidimensional com as duas tabelas.

Bom, como dito no início, são soluções custosas, já que formam uma alteração não convencional à estrutura do banco e, para serem mantidas, deve-se considerar utilizar stored procedures. A primeira alternativa pode tornar-se demasiadamente lenta, dependendo do número de registros da tabela, além de ser também razoavelmente mais difícil de implementar que a segunda. A segunda alternativa, por sua vez, é mais simples, embora envolva a criação de mais uma tabela.

Em ambas, haverá uma perda de performance na inclusão de dados, mas a recuperação completa da estrutura será muito menos complexa que apenas com a fk.

Neste caso, devem ser comparadas as necessidades de performance para inclusão com a real necessidade de apresentação de todo o conteúdo da tabela em uma só consulta.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...