Vostra opinione su nuovo progetto

di il
7 risposte

Vostra opinione su nuovo progetto

Buongiorno,

ho da poco concluso il "progettino" per la gestione delle scadenze delle revisioni dei mezzi e sono molto soddisfatto del risultato! Certo, è il mio primo lavoro che faccio con Access, quindi sicuramente potrebbe essere fatto meglio, ma per quello che mi serve va bene così.

Quindi volevo approfittarne per RINGRAZIARE questo forum che mi stato molto di aiuto per raggiungere il mio obiettivo, sia con aiuti diretti, sia leggendo i post di altri.

Ora passo al nuovo progetto che vorrei realizzare...

Faccio una breve descrizione sullo scopo di questo database ed allego un immagine di tabelle e relazioni per avere soprattutto la vostra opinione sulla struttura delle tabelle e delle relazioni, per capire se sono corrette o possono essere migliorate. E vi ringrazio in anticipo.

Lo scopo è quello di sostituire un file in excel, con il quale tengo i seguenti dati...

Praticamente ho una ditta di autotrasporti con alcuni mezzi ed autisti. Alla fine di ogni mese inserisco i dati del mese che riguardano i km percorsi, il fatturato, consumi, autostrada e gli stipendi degli autisti.. con questo per tenere conto di medie chilometriche di fatturato di consumi e di costi sostenuti per ogni mezzo, aggregati per settore, e aggregati per mese e infine aggregati per anno. Dal quale poi calcolo i margini in base ai costi immessi escluse tasse officine ed altri costi che non mi servono per determinare quali sono i mezzi e i settori e gli autisti che rendono meglio o peggio.

Pertanto ho creato questa struttra di partenza... che poi dovrò adeguare e completare... però vorrei sapere se l'ho strutturata nel modo giusto o no... soprattutto ho il dubbio nelle tabelle con più relazioni, nel senso: assegno ad un mezzo il settore di cui fa parte, e poi utilizzo la stessa tabella settori per assegnare anche i fatturati divisi per settore... questo perchè un mezzo, anche se fa parte di un settore, può eseguire qualche lavoro di altri settori saltuariamente, però io i fatturati li devo suddividere in base al settore fatturato...

Spero di essere stato chiaro... e attendo vostre opinioni... grazie

7 Risposte

  • Re: Vostra opinione su nuovo progetto

    Esistono alcune relazioni superflue che ti possono complicare la vita.
    Nello specifico :
    - non serve la relazione t-Autista/t_Mezzo (ID_Autista), la ricavi indirettamente tramite t_Mezzo/t_Data/t_Stipendio/t_Autista, quindi io rimuoverei il campo Id_Autista dalla tabella t_Mezzo. Ipotizzando che l'unità di misura della tua tabella t_Data sia il mese (come da te suggerito) io rimuoverei la tabella t_Stipendio e inserirei nella tabella t_Data i campi ID_Autista e Stipendio (per quanto riguarda Tredicesima/Quattordicesima/altri emolumenti che non seguono il mese li carichi nel mese di erogazione avendo cura di inserire gli altri costi a zero). Seguendo questa mia ipotesi potresti eliminare anche le tabelle t_Consumi e t_Km e aggiungere i campi direttamente alla tabella t_Data
  • Re: Vostra opinione su nuovo progetto

    Premetto che non ci sono elementi sufficienti per capire le reali esigenze che servono... ma essendoti limitato a descrivere quanto fatto... risulta più complesso avere una visione neutra e funzionale.
    Detto questo... faccio prima una considerazione di Nomenclatura che nel tempo aiuta, le tabelle come "t_Autista" dovrebbero avere Nome Plurale in quanto di fatto è una Tabella che contiene gli Autisti... stessa cosa per TipoMezzo.
    La tabella "t_Mezzo" invece, l'hai nominata concettualmente in modo errato in quanto realizza una Relazione Molti a Molti tra Autisti e TipiMezzo, quindi chiamarla Mezzo lascia dubbi di interpretazione.

    Tecnicamente non vedo le relazioni correttamenter impostate, mi sembra tu abbia definito dei JOIN ma non legami Relazionali 1-Molti con Integrità Referenziale... come mai...?

    Altra cosa tutto quello che è a DESTRA della Tabella "t_Data" a mio avviso NON SERVE a nulla...
    Siccome sembrerebbe che la Tabella "t_Data" sia usata come un Registro Eventi, devi mettere già in quella i riferimenti...
    Se al 31/07 leggi i Km del mezzo non sarà una relazione 1(Data) molte Letture di KM ma per quella data avrai SOLO 1 indicazione di Km... quindi perchè spezzarla...?
    Nella Tabella poi "t_Km" il campo Km Percorsi non serve è un calcolo e non si deve memorizzare.

    Stessa cosa per i Consumi.

    Aggiungo poi una nota più tecnica... hai strutturato con una logica RIGIDA, per ogni tipologia di Evento sembrerebbe tu debba aggiungere Tabelle... se domani vuoi tener traccia delle Manutenzioni dei veicoli aggiungi Tabelle...?
    Ovviamente non è così che si struttura un Gestionale, serve destrutturare gli Interventi o meglio le Voci di spesa e consentire l'inserimento di Nuove voci ognuna con le Proprietà richieste, questo ti darà modo di costruire un Catalogo "Voci di Spesa" ognuna con le proprietà da inserire specifiche...
    Questa gestione, più complessa, ti consentirà di inserire qualsiasi cosa e gestirla sempre nello stesso modo.

    P.S. vedo ora che MAX ha espresso i miei stessi dubbi... allora siamo sulla strada giusta
  • Re: Vostra opinione su nuovo progetto

    Intanto vi ringrazio per i vostri preziosissimi consigli... nel frattempo mi studierò le vostre indicazioni per sistemare al meglio la struttura...
  • Re: Vostra opinione su nuovo progetto

    max.riservo ha scritto:


    Esistono alcune relazioni superflue che ti possono complicare la vita.
    Come suggerito ho tolto molte tabelle e relazioni che a questo punto erano superflue... io pensavo che più tabelle rendesse il database più felssibile, invece mi sa che è il contrario...

    @Alex ha scritto:


    Detto questo... faccio prima una considerazione di Nomenclatura che nel tempo aiuta, le tabelle come "t_Autista" dovrebbero avere Nome Plurale in quanto di fatto è una Tabella che contiene gli Autisti... stessa cosa per TipoMezzo.
    La tabella "t_Mezzo" invece, l'hai nominata concettualmente in modo errato in quanto realizza una Relazione Molti a Molti tra Autisti e TipiMezzo, quindi chiamarla Mezzo lascia dubbi di interpretazione.

    Tecnicamente non vedo le relazioni correttamenter impostate, mi sembra tu abbia definito dei JOIN ma non legami Relazionali 1-Molti con Integrità Referenziale... come mai...?
    I nomi delle tabelle li ho messi al plurale, a me suonava meglio al singolare, perchè in una tabella c'erano i dati di un autista... poi ripetuto per tutti gli autisti..
    però non ho capito perchè la tabella t_Mezzo lascia dubbi di interpretazione? La relazione dovrebbe essere uno a molti, in quanto un autista può portare più mezzi... ma un mezzo è assegnato ad un solo autista...

    @Alex ha scritto:


    Altra cosa tutto quello che è a DESTRA della Tabella "t_Data" a mio avviso NON SERVE a nulla...
    Siccome sembrerebbe che la Tabella "t_Data" sia usata come un Registro Eventi, devi mettere già in quella i riferimenti...
    Se al 31/07 leggi i Km del mezzo non sarà una relazione 1(Data) molte Letture di KM ma per quella data avrai SOLO 1 indicazione di Km... quindi perchè spezzarla...?
    Nella Tabella poi "t_Km" il campo Km Percorsi non serve è un calcolo e non si deve memorizzare.

    Stessa cosa per i Consumi.
    Ho raccolto tutto quello che era a destra, nella tabella t_Data, che poi ho chiamato t_Mesi, visto che raccoglie i dati di ogni mese. Però credo che le tabelle t_SettoreFatturato e t_Fatturati, siano necessarie, perchè un Mezzo, anche se fa parte di un Settore, può produrre fatturati di altri Settori, saltuariamente, ma comunque sono fatturati che vanno riferiti ad un mezzo ma suddivisi per settore... giusto?

    Per i km percorsi, si.. sono calcolati... mi era rimasto il campo li per sbaglio...

    Ho rifatto la struttura delle tabelle e delle relazioni, credo che così sia più sensato... che ne pensate? si può ancora migliorare?
    grazie

  • Re: Vostra opinione su nuovo progetto

    Io sposterei la relazione t_Autisti->t_Mezzi (ID_Autista) in t_Autisti-t->Mesi(ID_Autista) e
    creerei l'ulteriore relazione t_Mezzi->T_Mesi (ID_Targa) .
    Creerei altresì un indice univoco composta da Id_Mese, Id_Targa e Id_Autista. Così facendo permetto che un autista possa guidare più mezzi nel corso del mese ma impedisco che nello stesso mese l'autista possa guidare più volte lo stesso mezzo.
    Per quanto riguarda l'ID_SettoreFatturato occorre capire a cosa effettivamente si riferisce. Se, ad esempio, è sempre lo stesso a parità di mezzo non ha senso relazionarlo con la tabella t_Mesi (va messo nella tabella t_Mezzi) ...
  • Re: Vostra opinione su nuovo progetto

    max.riservo ha scritto:


    Io sposterei la relazione t_Autisti->t_Mezzi (ID_Autista) in t_Autisti-t->Mesi(ID_Autista) e
    creerei l'ulteriore relazione t_Mezzi->T_Mesi (ID_Targa) .
    Creerei altresì un indice univoco composta da Id_Mese, Id_Targa e Id_Autista. Così facendo permetto che un autista possa guidare più mezzi nel corso del mese ma impedisco che nello stesso mese l'autista possa guidare più volte lo stesso mezzo.
    Per quanto riguarda l'ID_SettoreFatturato occorre capire a cosa effettivamente si riferisce. Se, ad esempio, è sempre lo stesso a parità di mezzo non ha senso relazionarlo con la tabella t_Mesi (va messo nella tabella t_Mezzi) ...
    L'autista guida sempre lo stesso mezzo... e a me interessa il fatturato riferito al mezzo. L'autista viene assegnato a quel mezzo per collegare il costo dello stipendio e per poi fare anche delle query sugli stipendi e autisti e settori( per settori intendo diversi tipi di trasporto che hanno costi diversi) .
    Id_settoreFatturato mi serve perché un mezzo può fatturare o lavorare in più settori, e io voglio dividere il fatturato che un mezzo genera per ogni settore...
  • Re: Vostra opinione su nuovo progetto

    Ecco quello che stavo cercando di creare... almeno la struttura principale..

    dati inventati...



Devi accedere o registrarti per scrivere nel forum
7 risposte