Creazione Database gestione Turni per amico

di il
3 risposte

Creazione Database gestione Turni per amico

Buonasera ragazzi, vi scrivo perchè è da pochissimo che mi sono avvicinato ad Access, quindi conosco poco l'ambiente ecc. Un mio caro amico, per esigenze di ufficio mi ha chiesto di creargli un database per la gestione dei turni lavorativi. Mi spiego meglio, sono 11 colleghi e settimanalmente il "capo" da questi turni divisi tra mattina o pomeriggio. Mi servirebbe una mano e un parere sia sulla mia impostazione e sia sui problemi che ho riscontrato.
Ho creato 3 tabelle :
- tabPersona (anagrafe persona i-esima)
- tabTurno (inizio turno, fine turno, personale effettivo, assente, capo servizio, reparto, descrizione servizio e numero totale operatori)
- tabGiorno (nome giorno, data)

Le relazioni tra le tabelle ho pensato che siano :

tabPersona N - 1 tabTurno N - 1 tabGiorno

Per cui in Persona ho come chiave esterna la chiave primaria di Turno (ID), e in turno ho come chiave esterna la primaria di giorno (data).

N persone possono essere assegnate ad un turno
ad ogni turno possono corrispondere N persone
ad ogni giorno possono esserci N turni
N turni possono essere assegnati ad un giorno

Ho mancato qualcosa?
Il primo problema che ho incontrato è che la chiave primaria di turno essendo numerazione automatica quando inserisco il turno in persona non mi ritrovo il turno inserito e di conseguenza non so chi fara quel turno. Cosa ho sbagliato? Cosa posso migliorare?

Ho immaginato il software cosi:
Home principale con varie opzioni : inserisci turno, inserisci nuovo impiegato, visualizza turni
con inserisci turno si apre un altra form dove permette di inserire i campi del turno in base alla data scelta ecc

Accetto tutte le critiche costruttive e i consigli.
Grazie
Altogrigio

3 Risposte

  • Re: Creazione Database gestione Turni per amico

    Gestire turni non è proprio una cosa banale... ma dipende da cosa devi fare e fino a dove devi spingerti.

    Nel concreto secondo me risulta meglio una struttura differente.
    TblAnagrafica
    TblTurni
    TblAnagraficaTurno

    Realizzi una relazione molti a molti... nella 3° tabella hai le 2 FK che sono le PK IdAnagrafica ed IdTurno delle rispettive tabelle, in più avrai la data... ed altri campi che ritieni utili relativi al turno assegnato...
    In questo modo puoi gestire i calendari per Data e sapere per ogni giorno chi fa il mattino/pomeriggio/notte... e chiaramente assegnare i turni stessi.

    Questa è la struttura più adatta... ovviamente ridotta ai minimi Termini per chiarezza.
  • Re: Creazione Database gestione Turni per amico

    Grazie mille per la risposta! Ne faccio un altro con la tua impostazione suggerita e vedo cosa ne esce fuori
  • Re: Creazione Database gestione Turni per amico

    Ciao, argomento interessante, ci sono evoluzioni in merito ? Grazie
Devi accedere o registrarti per scrivere nel forum
3 risposte