Query di sintesi

di il
5 risposte

Query di sintesi

Ciao a tutti, sono un medico, gestisco la mia attività con un'applicazione Access 2013 (nata 1997), ho bisogno del vostro aiuto per il seguente problema. Cerco di essere sintetico.
Effettuo per ciascun paziente 10 visite di screening che comportano esami e attività diverse, per cui ho 10 maschere e 10 tabelle: bilancio1, bilancio2 ecc... Esistono dei campi che sono presenti in tutte le tabelle che sono nbilancio (1,2,3,4,5 etc), data, nibilair, idpz. Idpz è l'identificativo del paziente che in fase di compilazione viene immesso in automatico perché bilancio1, bilancio2 ecc sono sottomaschere della maschera pazienti ( per chiarezza, la sotto maschera è unica e vuota e viene caricata di volta in volta quella richiesta).

Ovviamente c'è un errore di progettazione, fatto nel 2000, per cui i campi comuni non sono in una tabella a parte, ma sono ripetuti nelle singole tabelle. È difficile ovviare a questo problema con una ri-progettazione perché nel database di sono decine di migliaia di visite.

Per una gestione statistica mi serve una tabella riepilogativa gestioneBilanci che contiene i campi nbilancio, idpz, data, nbilair. Attualmente risolvo il problema con una query di accodamento che però è scomoda perché non mi rende fruibili i dati in tempo reale e poi comporta lo svuotamento della tabella prima di ogni nuova esecuzione, altrimenti mi accoda sempre gli stessi dati, ripetendoli.

Come posso risolvere?

Grazie a tutti.

5 Risposte

  • Re: Query di sintesi

    Hai un problema cronico e non puoi continuare a lavorare così. Il problema si chiama NORMALIZZAZIONE. Non devi avere molte tabelle che parlano lo stesso linguaggio, ossia gli stessi campi, ma una sola. Poi un campo aggiuntivo può servire a discriminare quello che tu ora hai discriminato su molte tabelle.
    Ti consiglio di aprire un nuovo thread nella sezione "Progettazione database". Descrivi il tuo database, tutte le tue tabelle con i nomi dei campi e chiedi suggerimenti su come normalizzare.
    Ti accorgerai che l'intero progetto assume tutta un'altra dimensione e i problemi affrontati da un'ottica diversa...molto più semplificata...anzi molte cose si autosemplificano da sole...
  • Re: Query di sintesi

    Grazie per la risposta, sicuramente mi spinge a fare di più e meglio. L'aspetto descritto è una minima parte del mio lavoro. La normalizzazione é sicuramente possibile ma richiede molto tempo perché è necessario salvaguardare e mantenere accessibil i dati acquisiti e ovviamente sostituire 10 tabelle con una comporta il rischio di perdere dei dati importanti.
    Non è escluso che ci provi, in realtà col quesito posto cercavo una scorciatoia al problema, lasciando le 10 tabelle che funzionano abbastanza bene.

    Faccio un quesito più semplice, a cui proverò a rispondere anche da solo verificando sul database:
    È possibile fare in modo che una query di accodamento accodi solo i dati nuovi?
    Cioè lunedì a fine studio accodo le visite di lunedì, se rifaccio l'operazione mercoledì accodo solo quelle di martedì e mercoledì aggiungendole alle precedenti, ovviamente SENZA impostare OGNI VOLTA manualmente il criterio.
    GRAZIELLA ancora
  • Re: Query di sintesi

    Grazie ancora intendevo, scusatemi ma il correttore dell'ipad ha scritto Graziella
  • Re: Query di sintesi

    Operator ha scritto:


    Grazie per la risposta, sicuramente mi spinge a fare di più e meglio. L'aspetto descritto è una minima parte del mio lavoro. La normalizzazione é sicuramente possibile ma richiede molto tempo perché è necessario salvaguardare e mantenere accessibil i dati acquisiti e ovviamente sostituire 10 tabelle con una comporta il rischio di perdere dei dati importanti.
    Non è escluso che ci provi, in realtà col quesito posto cercavo una scorciatoia al problema, lasciando le 10 tabelle che funzionano abbastanza bene.
    Insomma non vuoi grattacapi

    Operator ha scritto:


    Faccio un quesito più semplice, a cui proverò a rispondere anche da solo verificando sul database:
    È possibile fare in modo che una query di accodamento accodi solo i dati nuovi?
    Cioè lunedì a fine studio accodo le visite di lunedì, se rifaccio l'operazione mercoledì accodo solo quelle di martedì e mercoledì aggiungendole alle precedenti, ovviamente SENZA impostare OGNI VOLTA manualmente il criterio.
    Tutto è possibile, ma se non spieghi cosa fai e come lo fai è difficile darti informazioni utili.
    Accodare significa prendere i dati da una parte ed aggiungerli da qualche altra.

    Ora mi chiedo, dal momento che da qualche parte inizialmente li devi mettere, perché non metterli direttamente dove vanno?
  • Re: Query di sintesi

    Operator ha scritto:


    È possibile fare in modo che una query di accodamento accodi solo i dati nuovi? Cioè lunedì a fine studio accodo le visite di lunedì, se rifaccio l'operazione mercoledì accodo solo quelle di martedì e mercoledì aggiungendole alle precedenti, ovviamente SENZA impostare OGNI VOLTA manualmente il criterio.

    gibra ha scritto:


    Ora mi chiedo, dal momento che da qualche parte inizialmente li devi mettere, perché non metterli direttamente dove vanno?
    L'osservazione di gibra rientra nel quadro generale della normalizzazione. Sono sicuro che qualsiasi domanda porrai partendo dal tuo quadro non normalizzato, può assumere un significato profondamente diverso e semplificato in un ambiente normalizzato.
Devi accedere o registrarti per scrivere nel forum
5 risposte