Il titolo è incomprensibile.
Perfetto, partendo da questo presupposto.
Immaginiamo di voler programmare un forum, un e-commerce e quanto altro abbia una categoria, un settore, un sottosettore e una sezione.
Dunque un alberatura essenzialmente.
Ora guardando un esempio a caso, il db dell'invision board fa una tabella per ognuna di esse, una tabella categoria, una tabella settore..etc..etc...
Se io facessi un unica tabella struttura...con un parent id, che se pari a -1 è il genitore e gli altri sono tutti figli...con id..0.1.2...ottengo un vantaggio, ovvero quello di avere la possibilità di creare quanti più figli/sottosezioni possibili altrimenti dovrei creare una tabella apposita...
In questo modo però dovrei essenzialmente effettuare delle JOIN sulla tabella stessa per poter capire se sto trattando una sotto sezione, un settore e così via...dovrei scorrere questa alberatura figli,nodi..sino al pare.
Il quesito è : Cosa è meglio tra le due ?
Nella seconda ho trovato il vantaggio di un espandibilità che la prima non mi dà, la prima forse mi da una struttura più solida della base dati.
Aspetto commenti e ovviamente tante critiche.