Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Consiglio su struttura DB mysql

    Sto realizzando un software che gestisce la presenza dei dipendenti in un ufficio,con orario di entrata,uscita,ore lavorate,straordinari,etc...

    Per memorizzare queste presenze io ho cretao una tabella con i seguenti campi:

    - idpersona
    - data
    - entrata
    - uscita
    - presenza

    Quindi il problema è che alla fine mi si crea un record per ogni giorno per ogni dipendente in un'unica tabella.

    Mi chiedevo se con il tempo questo potesse diventare un problema a causa delle dimensioni che la tabella potrebbe avere fra 10 anni.A fronte di questo mi chiedevo se la mia soluzione fosse stata la migliore o ce ne sono altre più funzionali che io non conosco?

    Grazie

  2. #2
    Dipende dal numero dei dipendenti, dal numero delle entrate / uscite ammesse nello stesso giorno per lo stesso dipendente. Dipende anche se serve per cedolini mensili, oppure per calcolo ore di lavoro per determinati impianti... ecc.

    Ho avuto alcune esperienze in merito e la migliore mi e' sembrata quella di tabelle orario mensili, quindi 12 tabelle/anno. Una volta "chiusa" la tabella mensile questo facilitera' il lavoro di elaborazione e stampa dei relativi cedolini o altro. Poi un backup per mese ed uno per anno su supporti esterni e mantenendo una copia di lavoro di tutti gli anni precedenti su database separato in sola lettura per non dover toccare i backup storici su supporto esterno. Il database di lavoro conteneva sempre e solo il mese corrente + gli ultimi 11 mesi precedenti

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Bè i dipendenti non sono moltissimi e non serve la stampa di cedolini,il tutto serve solo per visualizzare un resoconto a fine mese delle ore lavorare dei dipendenti,giorni presenze e cose simili.
    I dipendendi non dovrebbero suprare le 15 persone.

    Comunque credo che adotterò questo tuo metodo di creare una tabella per mese che contiente le presenze di ogni dipendente,in modo che se fra due anni devo fare una select per un singolo mese mysql non dovrà risfogliare una tabella con milioni di record per un singolo mese.

    Grazie per il consiglio.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.