Database partendo da un'unica grande tabella

di il
16 risposte

Database partendo da un'unica grande tabella

Salve a tutti sono nuovo del forum e a livello zero con access ma comunque vorrei creare un database per la gestione di attività.
il database dovrà essere strutturato con le date degli eventi, le strutture, i turni del personale con le varie qualifiche, l'ora dell'evento, il personale, e le ore che quest'ultimi faranno o che rifiuteranno o che sono impossibilitati a fare durante l'evento.
Ovviamente il personale può recarsi in qualsiasi giorno per un evento, e all'evento possono partecipare diversi dipendenti.

Io ho provato a mettere tutto in una tabella, chiaramente è molto laborioso, quindi vi chiedo un aiuto per l'impostazione del suddetto database.

Cerco di essere più chiaro possibile.
1) ho degli eventi da vigilare in qualsiasi data
2) ho dei dipendenti da associare a questi eventi
3) i dipendenti hanno una qualifica, una graduatoria, una mansione (tipo autista), la sede di servizio (le sedi possono cambiare) e sono associati ad un turno (i turni sono quattro: A, B, C, D
4) non tutti i dipendenti aderiscono al servizio (quindi campi SI/NO)
5) ai dipendenti verranno assegnate le ore del servizio fatte, rifiutate e non fatte (che sono diverse da quelle rifiutate)
6) agli stessi dipendenti avranno due totali per le ore: uno per le ore prestate + le rifiutate e uno per le ore non fatte(che è diverso da rifiutate)
7) gli eventi sono abbinati ad una data, all'ora d'inizio, ad una struttura, ad una società, e ad un referente.
i dipendenti possono andare in qualsiasi data e struttura.
Questo database voglio farlo io ma ho bisogno di aiuto, non so come organizzarlo.
Io ho in mente qualcosa ma non so per esempio quante tabelle devo creare, come relazionarle e così via, quindi vi chiedo un aiuto.

16 Risposte

  • Re: Database partendo da un'unica grande tabella

    Ho chiesto ai moderatori di spostare questo thread nella sezione "Progettazione database". Se lo faranno, non la vedrai più dentro Access, ma leggi l'Indice generale del Forum iprogrammatori.

    Ti chiedo:
    1. Di cosa parla il tuo database? Ossia di cosa si occupa la tua Azienda?
    2.

    nasone ha scritto:


    Io ho provato a mettere tutto in una tabella
    Come? Puoi descrivere tutti i campi della tua "unica grande tabella"? Si tratterà certamente di un problema di NORMALIZZAZIONE che occorre mettere a punto.
  • Re: Database partendo da un'unica grande tabella

    Sono un vf e mi interesso dei servizi di vigilanza antincendio.
    abbiamo un programma ministeriale che però non tiene conto di tante cose quindi dobbiamo usare un programma alternativo.
    I dipendenti da gestire sono più di 350 divisi in quattro turni.
    Questi servizi si effettuano quando il personale è libero.
    Con l'aiuto di amici ho fatto un progetto con excel e devo dire che è uscito un buon lavoro ma purtroppo non sono il solo a usarlo e gli altri lo trovano complicato.
    Quindi sto cercando di usare access e renderlo semplice mettendo in una maschera i dati dell'evento e ovviamente assegnarle ai dipendenti riportando i totali delle ore in quanto questi servizi vengono effettuati a rotazione in base al numero di ore.

    Adesso ho diviso il database in tante tabelle e collegate tra di loro, però mi manca come posso inserire il personale.
    Praticamente io avrei bisogno di inserire in una maschera la data, l'evento, il richiedente, il referente, la data di quando chiamo il personale per l'evento, un numero di protocollo, la disposizione di servizio, ecc.
    Ps Avrei voluto inserire un' immagine ma non ci riesco
  • Re: Database partendo da un'unica grande tabella

    nasone ha scritto:


    Con l'aiuto di amici ho fatto un progetto con excel e devo dire che è uscito un buon lavoro ma purtroppo non sono il solo a usarlo e gli altri lo trovano complicato.
    Quindi sto cercando di usare access e renderlo semplice
    È un tipico passaggio di mano che fanno in molti. È sbagliato progettare in Excel. Ma ancor più sbagliato perseverare su questa strada. Excel e Access hanno alcuni strumenti per correggersi a vicenda. Esiste uno strumento che importa la tabella di Excel in una tabella di Access. Poi c'è lo Strumento "Analizzatore tabelle" che intuisce dove può intervenire per normalizzare dove possibile. Fornisce anche alcuni suggerimenti per come procedere al meglio. Ti consiglio di non sottovalutare questo strumento, relativamente buono per i principianti.

    nasone ha scritto:


    Avrei voluto inserire un' immagine ma non ci riesco
    Sotto il riquadro dove scrivi i messaggi in questo forum.
    Sotto Rispetta la community
    Sotto i tasti Salva bozza, Anteprima, Invia
    trovi 2 palette "Opzioni" e "Invia allegato". Scegli quest'ultimo, Sfoglia il file e Aggiungi file.
  • Re: Database partendo da un'unica grande tabella

    Grazie per la celere risposta
    Ho provato ad importare i dati da excel ma è un vero casino.
    Per quanto riguarda il fili immagine ho cliccato "invia allegato" e ho anche ripetuta l'azione dopo averlo zippato, ma già dall'anteprima non si vede nulla.
    Se vuoi, potrei, qualora ci riesco inviare il file.
  • Re: Database partendo da un'unica grande tabella

    Se non riesci ad allegare l'immagine nel forum, inviala in un sito di sharing e poi indica il link da dove possiamo andare a vederla.
  • Re: Database partendo da un'unica grande tabella

    Eccola

    http://ge.tt/7CUy5FA2/v/
  • Re: Database partendo da un'unica grande tabella

    Hai parlato inizialmente di "unica grande tabella". L'immagine mostra a sinistra che tu hai creato 6 tabelle (Qualifica, Personale, Sede, Turno, Strutture, Eventi). Come stanno veramente le cose?

    Ho bisogno di vedere una immagine della finestra Relazioni. Se non hai creato Relazioni, ho bisogno di sapere tutti i campi di quelle tabelle.
    La richiesta che hai scritto a destra dell'immagine non trova fondamento se prima non analizziamo per bene la corretta struttura delle tabelle.
  • Re: Database partendo da un'unica grande tabella

    Salve Osvaldo e grazie per la tua disponibilità.
    Inizialmente ho parlato di un'unica tabella perchè così era, e ancora prima di iniziare volevo dei chiarimenti su come avrei dovuto fare.
    Successivamente in post (10 feb 2015, 15:33) avevo rappresentato che la suddetta tabella l'avevo divisa in più tabelle, quindi io direi che le cose stanno come prima cioè al punto di partenza a parte la suddivisione delle tabelle.
    Queste tabelle le ho relazionate con una ricerca guidata quindi non so se ho fatto bene, ad ogni buon modo ho messo l'immagine sul: http://ge.tt/7CUy5FA.
    Ci tengo a creare questo progetto, adesso che sto smanettando un pò con access devo dire che è strordinario e vorrei col Vostro aiuto capirne di più.
    Grazie ancora e
    per qualsiasi chiarimento sono a tua disposizione
  • Re: Database partendo da un'unica grande tabella

    Allora partiamo dalla struttura che ho visto nella immagine.
    Provo a focalizzare la mia attenzione su:
    Personale (facile da capire)
    Turni
    Eventi

    Chiariscimi quanto espongo di seguito:
    1. Per Evento si intende che arriva una chiamata di allarme e una squadra di pompieri deve intervenire su LuogoX, Tipo di Motivo...(mi fermo qui...)
    2. Ad un Evento partecipano molte Persone...però non qualsiasi a caso, ma SOLO (o generalmente) quelli che sono di Turno
    È giusto questo modo di ragionare?

    Considera che siamo ancora in fase progettuale. Procediamo per piccoli passi.
  • Re: Database partendo da un'unica grande tabella

    Per evento si intende servizi di vigilanza antincendio nei locali di pubblico spettacolo, tipo lo stadio, il teatro e così via.
    all'evento partecipano coloro che non sono di servizio ordinario cioè quando sono liberi, in quanto questi servizi di vigilanza sono una sorta di straordinario.
    I nostri turni di servizio sono 4 (A, B, C, D) con la durata di 12 ore con orari 08/20 e 20/08 coprendo le 24 ore.
    questo non è un problema in quanto io so quale turno deve effettuare la vigilanza, magari se puo essere utile posso fare uno schema per farti vedere appunto quando i turni possono effettuare la vigilanza, perchè a spiegarlo diventa complicato ed invece è semplicissimo.

    il problema potrebbe essere quello che una volta scritto l'evento cioè data, richiedente, struttura ecc.. per la selezione anzichè trovarmi tutto il personale sarebbe bello vedere solo il turno che mi interessa, un filtro insomma.

    Per quanto riguarda il sistema di chiamata per la vigilanza è a rotazione ovviamente ci sono coloro che non aderiscono poi si tiene presente la qualifica, la graduatoria di servizio e il totale delle ore effettuate rifiutate e non fatte.
    Spero di essere stato chiaro, ma se dovessi avere dei dubbi chiedi pure è un piacere
  • Re: Database partendo da un'unica grande tabella

    Premesse:
    1. Leggi attentamente il regolamento. Non è possibile fornire supporto su troppe domande tutte insieme.
    2. Ti seguo dove posso, ma gli utenti che propongono un thread, si presuppone debbano avere delle conoscenze base sull'applicazione Access.

    Ho provato a rileggere tutto. Ho provato a rivedere la tua finestra Relazioni. Siamo ancora in alto mare.
    Domande:
    A) Come si fa a stabilire che Tizio ha un grado X e svolge o può/deve svolgere la Mansione Y?
    B) I vigili del fuoco hanno una logica "militare" quindi è possibile fare carriera, quindi cambiare il proprio status "grado" durante la propria vita lavorativa? Io ritengo di sì. E se è sì ritengo che questi valori non si possono attribuire direttamente alla tabella Personale, ma occorrono altre opportune tabelle (adesso non saprei...).
    C) Personale-Turni-Eventi...devono avere qualcosa in comune? Ci sono criteri facili e ferrei che stabiliscono tutte quelle cose che hai detto?
    Se sì occorrerà impostare opportune query che lo stabiliscono.
    Se no, oppure quando tutto è troppo complicato, è preferibile l'inserimento manuale

    Se vuoi gestire gli Eventi, le Strutture (o Luoghi)...poi parli pure di Società e Responsabili...
    Devi prevedere tabelle apposite. Ti mancano le tabelle:
    Comuni
    IDComune
    Comune
    CAP
    Provincia
    Regione

    Luoghi
    IDLuogo
    NomeLuogo
    IDComune

    Quando crei le relazioni, metti sempre il segno di spunta su "Applica integrità referenziale", per gli altri è facoltativo ma io te li consiglio ugualmente.

    Aiuto! Non riesco a darti informazioni ordinate. Ribadisco il consiglio a aprire più thread con titoli e argomentazioni più piccole.
  • Re: Database partendo da un'unica grande tabella

    Innanzitutto ti saluto e ti ringrazio per il tempo che mi stai dedicando.

    Scusami ma non volevo fare troppe domande ma era solo per chiarire. Purtroppo da spiegare sembra difficile ma in realtà e semplicissimo.
    Ad ogni modo cercherò di partire dagli eventi:

    Tutti gli eventi di pubblico spettacolo ove è previsto il servizio di vigilanza come da DM n. 261 del 22/2/1996 è obbligatorio la nostra presenza.
    Gli stessi vengono richiesti da coloro che li organizzano e vengono fatti in una struttura, quindi possimo dire che un evento è strutturato in questo modo:

    1)n° Protolollo
    2)Disposizione di Servizio
    3)La società che richiede il servizio
    4)L'intestatario della società
    5)struttura
    6)Tipo di evento (prosa, concerto, incontro di calcio ecc..)
    7)La data dell'evento
    8)L'ora di inizio dell'evento


    Questa potrebbe essere una tabella unica.

    Volendo si potrebbero creare le tabelle di Struttura, Tipo di Evento e Società visto che bene o male sono sempre le stesse, ma direi di non renderlo complesso e quindi posso inserirli manualmente.

    Le Tabelle "Comuni" e "Luoghi". non sono necessarie.
    Queste le fa un nostro programma ministeriale, a me invece servirebbe un programma alternativo per la rotazione e il conteggio delle ore del personale.
    La Tabella sopra descritta andrebbe correlata con il personale, che se vuoi ne parliamo dopo.

    Spero di essere stato chiaro almeno per il momento.
    Grazie
  • Re: Database partendo da un'unica grande tabella

    nasone ha scritto:


    quindi possimo dire che un evento è strutturato in questo modo:
    1)n° Protolollo
    2)Disposizione di Servizio
    3)La società che richiede il servizio
    4)L'intestatario della società
    5)struttura
    6)Tipo di evento (prosa, concerto, incontro di calcio ecc..)
    7)La data dell'evento
    8. L'ora di inizio dell'evento
    Questa potrebbe essere una tabella unica.
    Hai finalmente descritto i campi della tabella Eventi: OK

    nasone ha scritto:


    Volendo si potrebbero creare le tabelle di Struttura, Tipo di Evento e Società visto che bene o male sono sempre le stesse, ma direi di non renderlo complesso e quindi posso inserirli manualmente.
    Sono tutte e tre tabelle che si devono fare altrimenti non cogli l'anima relazionale di un database.

    nasone ha scritto:


    Le Tabelle "Comuni" e "Luoghi". non sono necessarie.
    Errato. Devi avere anche queste tabelle. Se hai già delle tabelle belle e pronte con i dati dentro, puoi riutilizzarle Importandole nel tuo database.
  • Re: Database partendo da un'unica grande tabella

    Mi dispiace ma non ho nessuna tabella da importare, comunque non capisco perchè sono necessarie le tabelle dei comuni e dei luoghi, visto che io voglio abbinare del personale ad un evento.
    Mi piacerebbe sapere il motivo
Devi accedere o registrarti per scrivere nel forum
16 risposte