Per la prima volta mi sto accingendo a fare una tabella che poi richiederà delle operazioni diciamo ricorsive per risalire al nodo padre. Cerco di spiegarmi meglio. devo inserire in questa tabella una struttura del tipo categoria -> sottocategoria -> sottocategoria2 -> etc etc etc solo che non so per quanti livelli. Inoltre è possibile che per arrivare dal nodo padre alla foglia [che non avrà altri nodi figli] a volte ci siano 5passaggi, a volte solo 2 etc. Insomma, avrete capito che non posso creare un numero fisso di tabelle per ogni livello, e così ho pensato di implementare una struttura del genere, e volevo un vostro parere e/o un vostro consiglio su qualcosa di meglio e più veloce da implementare, e che magari richieda anche meno tempo quando dovrò andare a reperire i miei dati.
Io ho fatto due tabelle; una per le foglie, che rappresenteranno l'ultima catena della famiglia, che naturalmente conterrà un campo [chiave esterna] in cui ci sarà il valore dell'ultimo id_padre ad essa collegato. E poi ho fatto un'unica tabella per tutte le categorie così strutturata:
Avrete certamente notato che dove compare lo 0 è perché quel nodo è padre. L'unica cosa che so di per certo è che i livelli non saranno mai più di 5; almeno così mi hanno detto. Ma mi hanno anche detto che i record da inserire nella tabella saranno parecchi, si parla di qualche migliaio.codice:+--------------+---------------+---------------+ | id_categoria | categoria | id_nodo_padre | +--------------+---------------+---------------+ | 1 | Sport | 0 | +--------------+---------------+---------------+ | 2 | Individuali | 1 | +--------------+---------------+---------------+ | 3 | Di squadra | 1 | +--------------+---------------+---------------+ | 4 | Calcio | 3 | +--------------+---------------+---------------+ | 5 | Serie A | 4 | +--------------+---------------+---------------+ | 6 | Sci | 2 | +--------------+---------------+---------------+ | 7 | Hobby | 0 | +--------------+---------------+---------------+ | 8 | Leggere | 7 | +--------------+---------------+---------------+
Volevo sapere, una struttura così, può andare?è troppo pesante da supportare?richiedera query chilometriche per riuscire a costruire la struttura di un nodo?chilometriche forse no, perché la struttura sarà ricorsiva, ma richiederà un utilizzo di memoria eccessivo?richiederà un tempo improponibile ricostruire l'intero ramo?
Scusate tutte queste domande, ma vorrei avere un'opinione da parte di chi ha già utilizzato strutture del genere e che sappia darmi qualche dritta prima di perdermi in un qualcosa di troppo grande ed oneroso.
Ringrazio tutti fin da ora!![]()