Forum: Italian Ruby user group i campi data.....

Posted by Msan Msan (msan)
on 2010-01-22 12:32
(Received via mailing list)
.....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.
Posted by Roberto Canella (Guest)
on 2010-01-22 12:36
(Received via mailing list)
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 <mrsanna1@gmail.com>:
Posted by Pietro Giorgianni (giorgian)
on 2010-01-22 12:37
(Received via mailing list)
Il 22 gennaio 2010 12.32, Mauro <mrsanna1@gmail.com> 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
Posted by Paolo Montrasio (pmontrasio)
on 2010-01-22 14:42
Msan Msan 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
Posted by Daneel Olivaw (daneel_olivaw)
on 2010-01-23 16:18
Msan Msan 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 :-)
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.