I campi data

…tendete a normalizzarli nel senso che nella tabella create un
campo anno, un campo mese e un campo giorno oppure create un solo
campo di tipo data?
Lo chiedo perche’ avendo un solo campo di tipo data non vorrei in
seguito avere delle difficolta’ nelle query.

Io uso un unico campo data e non ho mai avuto alcun problema nelle
query,
ogni DB che si rispetti ha tutta una serie di istruzioni per
manipolarli a dovere.

Roberto

2010/1/22 Mauro [email protected]:

Il 22 gennaio 2010 12.32, Mauro [email protected] ha scritto:

…tendete a normalizzarli nel senso che nella tabella create un
campo anno, un campo mese e un campo giorno oppure create un solo
campo di tipo data?
Lo chiedo perche’ avendo un solo campo di tipo data non vorrei in
seguito avere delle difficolta’ nelle query.

io credo che avresti molti molti molti più problemi con tre campi
separati che con uno, perché il db sa fare le query con le date,
mentre con tre campi separati dovresti fare contorsionismi acrobatici
per cercare, ad esempio, gli oggetti tra la data x e la data y.

pietro

Msan M. wrote:

…tendete a normalizzarli nel senso che nella tabella create un
campo anno, un campo mese e un campo giorno oppure create un solo
campo di tipo data?
Lo chiedo perche’ avendo un solo campo di tipo data non vorrei in
seguito avere delle difficolta’ nelle query.

Uso un campo DateTime, come fa ActiveRecord per i suoi created_at e
updated_at.
AR poi lo mappa sul tipo dati nativo del db e in questo modo tutte le
query funzionano bene senza conversioni da stringhe a oggetti di data.
Inoltre si possono usare le funzioni di manipolazione di date del db.

Paolo

Msan M. wrote:

…tendete a normalizzarli nel senso che nella tabella create un
campo anno, un campo mese e un campo giorno oppure create un solo
campo di tipo data?
Lo chiedo perche’ avendo un solo campo di tipo data non vorrei in
seguito avere delle difficolta’ nelle query.

Per semplificare il problema io faccio inserire all’utente la data nella
forma GGMMAA (quindi per il 23 gennaio 2010 si scriverà 230110), poi ne
controllo la validità e la converto in data inglese da passare alla
query di activerecord. L’uso di calendari preconfigurati rallenta troppo
l’immissione dei dati.

Se ci sono sistemi migliori o alternativi, suggerite pure :slight_smile: