[Python] info su db

Perini Matteo perini.matteo a gmail.com
Mer 5 Mar 2014 17:31:09 CET


Il 05/03/2014 17:21, Daniele Varrazzo ha scritto:
>
> Dovresti studiare qualcosa di molto elementare sui database: non puoi 
> replicare informazioni su nome e cognome ad ogni strisciata, 
> altrimenti è un log non relazionale, tanto vale tu lo scriva in un 
> file. Le informazioni sugli utenti e le strisciate devono essere in 
> due tabelle diverse.
>
> Separare nome è cognome è un'idea regolare, ma un po' limitata (ho 
> sempre l'esempio del mio collega che non ha il cognome). Avere sia 
> data ingresso che data uscita nello stesso record è giustissima: se un 
> record rappresenta un periodo devono essere riportati sia inizio che 
> fine, usare "il record di prima" come inizio porta a complicazioni 
> terribili. L'informazione "è dentro" può essere dedotta dal fatto che 
> una presenza abbia la data uscita nulla.
>
> Peraltro un utente non è collegato ad una lettura: un tag lo è, quindi 
> secondo me dovresti avere come minimo:
>
> Utente: id, nome, cognome, indirizzo ecc..
> Tag: id (del db, forse non necessario), identificativo (quello che il 
> lettore legge), emesso il, ritirato il, motivo del ritiro ecc.
> Utente per tag: quale utente, quale tag, da quando l'ha avuto, fino a 
> quando l'ha avuto.
> Lettura: id, quale tag, quale lettore, a che ora.
> Presenza: id lettura in, id lettura out.
> Lettore: id, ...tutte le informazioni che servono
>
> Nota che una lettura è un evento imprescindibile: quella cosa è 
> successa. Una "presenza" è una policy: mette in relazione due letture 
> nel caso più normale ma potrebbero succedere cose strane: tipo uno che 
> entra ed esce in modo imprevisto (in barella? o semplicemente il 
> lettore era rotto?) per cui mi sembra giusto separare le Letture (da 
> registrare) dalle Presenze (da ricostruire). Potresti anche avere 
> quello che entra, passa il tag a quello dietro e quello entra anche 
> lui: è vietato da una policy, non dalla fisica
Grazie a tutti delle risposte,
non ho risposto subito perché ho passato il pomeriggio a studiare ;)

Ho capito che devo fare svariate tabelle collegate tra loro e che 
contengano tutti i dati.
Intanto farò qualche prova poi ritornerò con le domande.
Ciao
Matteo



Maggiori informazioni sulla lista Python