...forse effettivamente c'è un pochino di nebbia nella mia logica e nel mio approccio.
forse ;) Per fare l'esempio: > Lancio un traceroute e catturo gli indirizzi IP di ogni hop. > L'indirizzo di ogni hop viene registrato in tabella in maniera successiva > tipo hop1, hop2, hopn, ognuno con il proprio indirizzo IP. > Di per sè il traceroute è dinamico con hop che cambiano anche in numero e > dunque devo creare dei hopn+1, hopn+2... in più rispetto ad un traceroute > precedente con numero inferiore di hop. > > Come mi muovo con i campi delle tabelle? Da dove inizio? Come creo un > campo per ogni hop successivo ovvero hopn++? E ancora: gli hop devono > essere indicizzati in ogni tabella per un approccio più facile. > Un antico detto cinese dice che un esempio vale 1000 parole. Ecco una (delle tante) possibili soluzioni, la piu' classica ed immediata Tabella TRACE id (autoincrementante univoco) IPTarget (IP tra tracciare) Tabella HOPS id (autoincrementante univoco) id_trace (foreign key sulla tabella TRACE, in pratica il campo id della tabella TRACE, in relazione molti a uno, piu' righe di questa tabella sono riferite allo stesso record dell'altra) progressivo (il numero di HOP) Ecco invece la versione con il metodo che ti avevo consigliato Tabella TRACE id (autoincrementante univoco) IP (campo per raggruppare) HOP (singolo hop) PROGRESSIVO (progressivo degli hop) Altra versione ancora, se vuoi usare la stessa tabella per cose differenti (un TRACE, un RARP, un PING etc.) Tabella TRACE id (autoincrementante univoco) Operazione (ad esempio traceroute, ping, etc.) Codice (identificatore dell'operazione, ad esempio TR001 oppure PNG002, raggruppa i record della stessa operazione) Nome (ad esempio IP, oppure Hop, o ancora TTL etc.) Progressivo (Campo che puo' restare vuoto se il caso) Valore (l'Hop, l'IP, il TTL etc.) Esempio 1, 'PING', 'PNG001', None,'IP', '123.34.55.23' 2, 'PING', 'PNG001', 1, 'TTL', '64' 3, 'PING', 'PNG001', 1, 'time', '3.298' 4, 'PING', 'PNG001', 2, 'TTL', '64' 5, 'PING', 'PNG001', 2, 'time', '1.418' ... 11, 'PING', 'PNG002', None,'IP', '43.125.65.183' 12, 'PING', 'PNG002', 1, 'TTL', '64' 13, 'PING', 'PNG002', 1, 'time', '3.298' .... Carlos -- ..y sobre todo, sean siempre capaces de sentir en lo más hondo cualquier injusticia cometida contra cualquiera en cualquier parte del mundo. Es la cualidad más linda de un revolucionario." - Ernesto Guevara de la Serna Lynch√
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python