<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 22 Oct 2020 at 15:59, Gabriele Battaglia <<a href="mailto:iz4apu@libero.it">iz4apu@libero.it</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Ciao.<br>
Devo creare un DB di clienti e sto pensando alla miglior struttura dati <br>
che posso utilizzare.<br>
Avrò un nome cognome e poi, associati a questo nome cognome, una lunga <br>
serie di dati che devo poter estrarre.<br>
<br>
Pensavo ad un dizionario la cui chiave sia, appunto nome cognome in una <br>
unica stringa, oppure un ID, e come valore una lista che contenga tutti <br>
i campi che caratterizzano quel cliente, parliamo di una cinquantina di <br>
valori.<br></blockquote><div><br></div><div style="font-size:small" class="gmail_default">Ma perche' non usare un Db per la persistenza dei dati e poi fare un mapping dei campi della tabella con una lista di dizionari?</div><div style="font-size:small" class="gmail_default">A meno che i valori non siano anche solo in parte specifici di un dato cliente (esempio uno ha la Partita Iva e un'altro il codice fiscale e un terzo il social security number anglosassone.</div><div style="font-size:small" class="gmail_default">In quel caso la struttura che citi <br></div><div style="font-size:small" class="gmail_default"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">valore: tipo dato = clienti[id][dato]<br></blockquote><div><br></div><div><div style="font-size:small" class="gmail_default">dovresti metterla u una tabella strutturata come segue</div><div style="font-size:small" class="gmail_default"><br></div><div style="font-size:small" class="gmail_default">id | id_cliente | nome_campo | valore</div><div style="font-size:small" class="gmail_default"><br></div><div style="font-size:small" class="gmail_default">e poi mappare nel dizionario una dizionario che contiene i campi. Una cosa del tipo</div><div style="font-size:small" class="gmail_default"><br></div><div style="font-size:small" class="gmail_default">lista_clienti = [</div><div style="font-size:small" class="gmail_default"> {'id': 3, 'nome': 'Mario', 'cognome': 'Rossi'},<br></div><div style="font-size:small" class="gmail_default"><div style="font-size:small" class="gmail_default"> {'id': $, 'nome': 'Luigi', 'cognome': 'Farquati'},<br></div></div><div style="font-size:small" class="gmail_default">]</div><div style="font-size:small" class="gmail_default"><br></div><div style="font-size:small" class="gmail_default">lista_campi_clienti = [<br></div><div style="font-size:small" class="gmail_default"> {'id': 1,'id_cliente': 3, 'campi': {'campo': 'codice fiscale': 'DFGERM23R45T145S', 'indirizzo': 'via di casa sua, 2'}},</div><div style="font-size:small" class="gmail_default"><div style="font-size:small" class="gmail_default"> {'id': 2,'id_cliente': 4, 'campi': {'campo': 'codice fiscale': 'TTRDSA21F27L534P', 'email '<a href="mailto:ciccio@ciccio.it">ciccio@ciccio.it</a>'}},</div></div><div style="font-size:small" class="gmail_default">]<br></div></div><div><div style="font-size:small" class="gmail_default">Ancora meglio se oltre mettere i dati dentro un Db li consulti con un ORM, come SqlALchemy, che provvede a scolgere i compiti per te (selezione dati, inserimento, aggiornamento, cancellazione).</div><div style="font-size:small" class="gmail_default">Ti trovi che ti torna delle strutture (liste e dizionari) gia' pronte<br></div></div><div><div style="font-size:small" class="gmail_default"><br></div><div style="font-size:small" class="gmail_default">Carlos</div></div></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr">EZLN ... Para Todos Todo ... Nada para nosotros<br></div></div></div></div></div>