[Db] prima nota et similia

Marcello Vezzelli marcello a vezz.it
Lun 27 Nov 2006 15:01:37 CET


Ciao a tutti,
visto che la ml comincia a lievitare e ci sono thread interessanti di 
progettazione, vi pongo il mio quesito:

sto lavorando a un progetto che coinvolge la gestione di una prima nota 
e 8 casse che fanno movimenti tra loro. La prima nota è relativa alla 
cassa principale.
Ci sono 25 entrate fisse giornaliere (delle quali cambia solo l'importo) 
ognuna delle quali va riportata (dopo alcuni calcoli) in una tabella di 
riepiloghi giornalieri.
La quadratura della cassa è giornaliera (ogni giorno viene verificato 
tutto).
Alcuni inserimenti in prima nota sono retroattivi (vanno alcuni giorni 
indietro) quindi si ripercuotono sulla situazione attuale della cassa.

Come database ho scelto mysql.

Inizialmente avevo previsto una struttura più generica possibile, ma la 
situazione diventava complessa rapidamente e correvo il rischio di 
introdurre errori nel computo di cassa.

Sto meditando di fare una struttura forse non ottimale, ma che mi 
permette un controllo maggiore su tutto il conteggio... ovvero 1 record 
con 25 campi per le entrate fisse giornaliere (PK di tipo data), poi una 
tabella per cassa con i movimenti incrociati relativi a quel giorno (PK 
surrogata, il solito autoincrementante).

Per evitare di sommare molti record e fare troppi conti, sto pensando di 
inserire una "chiusura" nel giornaliero, con i saldi delle casse, visto 
che gli inserimenti retroattivi vanno al massimo 15 giorni indietro.
In questo modo, faccio i conti dall'ultima chiusura fino al giorno 
attuale (dovrò farli lato applicazione senza usare SUM).
In questo modo, ad ogni aggiornamento, devo scorrere un numero di record 
basso...
Poi devo aggiornare tutti i record con le loro chiusure giornaliere 
quando si fa un inserimento retroattivo per avere una situazione sempre 
coerente.

Vi sembra una impostazione coerente? Ci sono modi migliori per una cosa 
del genere?
No, non ho fatto ragioneria :)

Saluti
Marcello





Maggiori informazioni sulla lista Db