[Python] python DB/TABLES ...

Carlos Catucci carlos.catucci a gmail.com
Sab 11 Maggio 2013 17:06:46 CEST


...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√
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130511/3d37a6cc/attachment.html>


Maggiori informazioni sulla lista Python