Rdbms per la gestione di giornate lavorative

di il
2 risposte

Rdbms per la gestione di giornate lavorative

Buongiorno,

ho strutturato un db, mysql, in cui allocare informazioni riguardanti la gestione di un magazzino e di chi vi lavora.
Il progetto, fin ora, è composto da le seguenti tabelle;

	client
	info
	worker
nella prima vi sono colonne d'appoggio che costituiscono indici per la semplificazione della ricerca tra le diverse tabelle,
la seconda si occupa di allocare informazioni inerenti la produzione; mentre la terza contiene info riguardo i dettagli lavorativi giornalieri dei singoli operai. Operando su quest ultima è possibile risalire e ricostruire ogni arco di tempo desiderato per ricavarne tutti i dettagli che se ne desiderano.
Il problema che mi pongo riguarda la gestione delle date da un punto di vista strutturale:
ovvero:
ritenete una scelta migliore quella di suddividere i periodi di tempo in parti ideali(MESE) e creare per ogni mese una tabella (in cui specificare anche l'anno ovviamente e riciclarla al cambiare di questo).
Oppure credete convenga lasciare una sola tabella in cui inserire ogni record di ogni giornata di ogni anno?

qual'è la scelta migliore (sia in termini di memoria occupata che di "ordine")?
di certo nel primo caso avrei un maggiore "ordine" nell'organizzazione dei dati in quanto l'intero periodo di tempo (sino alla pensione ahaha) viene suddiviso in unita più piccole e le operazioni sulle stesse ne guadagnerebbero in velocità.
D'altro canto parlare di ordine è relativo, in quanto non è che il db deve essere scorso a mano, ma interrogato tramite query quinid i dati, anche se ammassati, rimangono pur sempre ordinati correttamente secondo il medesimo principio iniziale.

grazie mille

saluti a tutti.

2 Risposte

  • Re: Rdbms per la gestione di giornate lavorative

    Singola tabella.

    Ragiona: avendo tabelle specifiche per ogni mese, sarebbe un bagno di sangue richiedere intervalli di tempo che vanno dal 13/settembre al 22/dicembre. Per non parare sei vuoi passare da un anno ad un'altro
    Con un'unica tabella, risolvi il tutto con una BANALE
    "SELECT ... WHERE ... data BETWEEN mindata AND maxdata".
    Per la memoria, non ti devi preoccupare.
    I problemi possono nascere con tabelle contenenti MILIARDI di record. Fino ai MILIONI, fondamentalmente qualunque DB non ha problemi.
  • Re: Rdbms per la gestione di giornate lavorative

    Ciao,
    grazie per essere intervenuto.
    sisi, infatti, proprio mentre terminavo di scrivere la domanda cominciavo ad intuire la risposta.
    Sarebbe deleterio anche solo mettersi a scrivere una tabella per ogni mese e per ogni anno figuriamo a scriverci dietro un programma.

    grazie
Devi accedere o registrarti per scrivere nel forum
2 risposte