<div dir="ltr"><div><div><div><div><div>Effettivamente, se nemmeno chi ti ha proposto il lavoro ha le idee chiare allora, si generico !<br><br></div>Una sola tabella:<br></div>id, parent, livello, PR, altri campi.....<br><br></div>per semplificare le query consiglio di fare qualche vista o meglio ancora una tabelle che si aggiorna da triggers con l'lenco di tutti i figli, nipoti etc... di un nodo.<br><br><br></div><div>tabella:<br></div>parent, figlio<br><br></div>dove la coppia "parent + figlio" sono univoche<br><div><div><div><br></div><div>in questo modo con una semplice join hai tutti i figli di un padre.<br></div><div><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">Il giorno 3 marzo 2015 20:52, Mpuppeteer <span dir="ltr"><<a href="mailto:mpuppetier@gmail.com" target="_blank">mpuppetier@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">Il giorno 3 marzo 2015 19:49, Diego Roversi <span dir="ltr"><<a href="mailto:diegor@tiscali.it" target="_blank">diegor@tiscali.it</a>></span> ha scritto:<div><div class="h5"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On Tue, 3 Mar 2015 16:26:50 +0100<br>
Mpuppeteer <<a href="mailto:mpuppetier@gmail.com" target="_blank">mpuppetier@gmail.com</a>> wrote:<br>
<br>
> Ciao ragazzi,<br>
> sono indeciso su come gestire un sistema piramidale a livello di database:<br>
><br>
> L'idea è la classica tabella<br>
> id e parent_id, ma mi sembra complicato da gestire.<br>
><br>
<br>
</span>Oh cielo, i sistemi piramidali.<br>
<br>
Ad ogni modo gestire un sistema gerarchico in generale in sql, e quasi impossibile (se si usano solo query). Se usi un id_parent, ti serve comunque del codice che cicla e lancia svariate query per trovare i nodi figli. Se cerchi di farlo con un unica query, non se po' fa' ...<br>
<br>
Nel tuo caso hai una semplificazione non da poco, che e' quella che ti interessano un numero limitato di sotto livelli. Quindi al limite puoi creare una tabella con:<br>
<br>
id, id_parent_1, id_parent_2, id_parent_3, in cui specifichi il nodo di chi e' figlio, nipote, pronipote etc etc...<br>
<span><font color="#888888"><br>
--<br>
Diego Roversi <<a href="mailto:diegor@tiscali.it" target="_blank">diegor@tiscali.it</a>><br>
</font></span><div><div><br>
--<br>
Mailing list info: <a href="http://lists.linux.it/listinfo/gl-como" target="_blank">http://lists.linux.it/listinfo/gl-como</a><br>
</div></div></blockquote></div></div></div><br></div><div class="gmail_extra">Grazie Diego, infatti stavo rivedendo la cosa soprattutto per l'inserimento dei figli dei figli ecc...</div><div class="gmail_extra">con una funzione ricorsiva funziona, ma le query diventano parecchie.</div><div class="gmail_extra">La tua idea mi piace, sperimento e ti faccio sapere!</div><div class="gmail_extra"><br></div><div class="gmail_extra">Il problema vero e proprio è che nemmeno chi mi ha proposto il lavoro ha un'idea precisa su cosa vuole fare.. tanto per cambiare.<br></div><div class="gmail_extra"><br></div></div>
<br><br>
--<br>
Mailing list info: <a href="http://lists.linux.it/listinfo/gl-como" target="_blank">http://lists.linux.it/listinfo/gl-como</a><br>
<br></blockquote></div><br></div>