Costruire db quaderno di laboratorio analisi

di
Anonimizzato14853
il
3 risposte

Costruire db quaderno di laboratorio analisi

Salve a tutti, sono un neofita nell’elaborazione di db….. ma ci sto provando.
Sto preparando, per esigenze lavorative un db che sostituisca il quaderno di lavoro dei tecnici analitici di un laboratorio di analisi alimentari.
Sono ad un punto morto ed avrei bisogno di qualcuno che mi aiuti a districarmi… magari indirizzandomi sulla strada da prendere…. Sperando di non aver fatto grandi errori finora, legati alla normalizzazione
Vi faccio una breve(si fa per dire) spiegazione per cercare di farvi capire.
Un’analisi alimentare è fatta dalla ricerca di diversi parametri analitici (batteri, muffe, lieviti…..). Ogni parametro è composto da un NOME associato ad un METODO analitico. Con lo stesso nome posso avere più metodi analitici diversi. Ogni metodo analitico si esprime con un risultato in data UNITA’ DI MISURA la quale è strettamente dipendente dal metodo ma anche dalla MATRICE analitica (es. se acqua sarà UFC/ml, se solida UFC/grammo). Bene ciò che ho fatto è stato creare diverse tabelle ognuna con un proprio ID che ne è la pk
• tbElencoNomepar
- IDNomepar(pk)
- Denominazione
• TbElenco metodiche
- IDmet(pk)
- numero
• TbElenco Unità di misura
- IDUM(pk)
- UM
• TbElencotipomatrice
- IDMatrice(pk)
- TpM
Ho poi creato un’ulteriore tabella di collegamento, definita Tbparametri con IDPar(pk) relazionata 1 a molti con le tabelle suddette ed ho creato una maschera Prove creata sulla principale tbElencoNomepar e una sottomaschera relazionata attraverso i campi master IDNomepar
Ciò permette ad un operatore di creare i vari parametri (e che una volta creati non devono essere modificati).
Creato poi una Tb campioni con IDcampioni (Pk) e altri dati……
Tale tabella e la tabella dei parametri le ho relazionate uno a molti in un’altra tabella TbMatrprova.
• TbMatrprova
- IDMatrprova(pk)
- ID campione
- IDpar
- Data_inizio
- Data fine

Tutto ciò al fine di: se arriva un campione (Tbcampioni), il quale ha un suo numero di accettazione e altro…e che è rappresentato da un tipo di matrice, ho creato una maschera CAMPIONI (TBcampioni come maschera principale), con una cbox nella maschera principale, richiamo il tipo di matrice dalla TbElencotipomatrice e mediante un WHERE riesco a filtrare solo quei parametri, che l’operatore aveva in precedenza caricato nella creazione dei parametri (e che devono rimanere non modificabili), e di poterli scegliere a necessità mediante un’altra cbox nella sottomaschera SMcampioni (campi master IDcampione).
Mi è servita la tabella di collegamento tbMatrprova perché ogni parametro ha una data di inizio e una di fine legate al campione che ho inserito come campi nella tabella di collegamento TbMatrProva e che l’operatore sceglie mediante un pulsante in una maschera con la funzione NOW().
Fin qui non so se ho fatto tutto secondo le regole ma funziona. Ora arrivo al mio problema
Ogni parametro però deve avere una serie di sottoparametri che si ripetono bene o male per tutti i parametri, alcuni di più altri meno.
I dati dei sottoparametri che mi servono sono costituiti da una parte deve essere fissa e legata al metodo (IDmet) e che deve essere stabilita quando inizialmente si costruiscono i parametri (es la descrizione del STP). Ed una parte variabile (che sarà invece legata al campione). Per la parte fissa ho creato una tabella di collegamento MetSTP con relazione molti a molti
IDmetSTP(pk)
IDMet(sk) (dalla tbElencoMetodiche
IDDesSTP(sk) (da una tbElenco STP)

Ho poi costruito una maschera creata da tbElencometodiche (mascheraprincipale) e legata ad una sottomaschera a maschere continue (campi master IDMet) che mi permette per ogni metodo di legare dei nomi STP (es..incubazione, lettura, subcoltura……) tale maschera è legata alla maschera dei parametri mediante un interruttore che automaticamente filtra il metodo di quel determinato parametro scelto.
Es STP
1. Incubazione (parte fissa)- il quale dovrà avere anche un campo uno strumento, uno terreno di coltura (variabile non sempre) e poi campi operatore, data di inizio e una di fine (presente sempre ma variabile da campione a campione)
2. Lettura (parte fissa) - dovrà avere anche un campo risultato un campo operatore una data di inizio e una di fine (presente sempre ma variabile da campione a campione).
3. Subcoltura (parte fissa)-- il quale dovrà avere anche un campo uno strumento, uno terreno di coltura (variabile non sempre) e poi campi operatore, data di inizio e una di fine (presente sempre ma variabile da campione a campione) ……….etcccc

Ciò che mi serve, e che non riesco proprio a capire come si faccia, e che rappresenta il vivo del quaderno, è che quando arriva un campione e carico i parametri da analizzare, automaticamente (magari con un pulsante) si carichino anche quei STP che avevo in precedenza caricato per quel dato parametro (parte fissa).
Perché bisogna che ogni volta che l’operatore richiama il parametro (al cui interno c’è IDmet) automaticamente richiami anche la parte invariabile dei sottoparametri (descrizione); ma soprattutto anche la parte variabile (altri campi) del sottoparametro che invece variano sempre e che è legata visivamente al sottoparametro ma che dipende invece dal campione (es. data inizio, data fine, operatore che ha eseguito quella fase, strumento usato…). Nella mia testa ciò è rappresentato da un pulsante nella SMcampioni (maschere continue) a destra del parametro caricato che colleghi una maschera filtrata per quel metodo (o parametro) e legata ad esso per la parte fissa (già caricata) e che si carichino anche quei campi variabili del STP e che devono essere invece compilati dall’operatore legati al campione.
Spero che qualcuno possa aver capito ….. e che riesca ad aiutarmi per instradarmi magari. ho fatto varie prove ma non ne ricavo un ragno dal buco (volevo allegare la visione delle mie relazioni costruite ma non capisco come fare) scusate per la lungaggine e di non avervi …..

3 Risposte

  • Re: Costruire db quaderno di laboratorio analisi

    Hai scritto troppo... il rischio è che chi legge passi oltre...!

    Io ho letto fino a metà ed ancora non sono riuscito a capire dove è il problema...

    Ti dico il mio punto di vista ma riassumendolo.
    Anagrafica Metodi
    Anagrafica Parametri

    Definizione Parametri/Metodi, tabella MOLTI-MOLTI per definire un Catalogo Metodi per ogni parametro, questa ti servirà solo per consentire all'utente di poter selezionare solo i metodi che tu hai definito inizialmente per il singolo Parametro...!
    Poi hai una Tabella Analisi con Data, Causale... ecc...!
    Ogni Analisi ha molti Parametri..., quindi 1-M
    Ogni Parametro non ho capito se però viene eseguito con UNO solo dei Molti possibili o se è possibile vengano eseguite analisi con + metodi...

    Queste differenze ti condizionano nella scelta delle PK, che dovranno essere MultiCampo...

    In sostanza devi distinguere la parte di MEMORIZZAZIONE DATI, da quella di predisposizione delle selezioni che è definita CATALOGO...

    I Cataloghi non verranno toccati in fase di gestione delle analisi, in quanto quì solo i dati specifici della singola ANALISI sono inseribili, ed associati a questi solo i dati dello SPECIFICO Parametro...

    Spero dio averti guidato un po... e non aver detto ovvietà...
  • Re: Costruire db quaderno di laboratorio analisi

    Sì hai ragione, lo so mi ero accorto di essermi dilungato troppo....... è che volevo essere il più preciso possibile per far capire come si crea un'analisi a chi non lo sa..... sarò più breve in futuro.
    Grazie per la risposta, no non hai detto ovvietà e cercherò di ragionare su ciò che mi hai scritto soprattutto su cito

    @Alex ha scritto:


    Queste differenze ti condizionano nella scelta delle PK, che dovranno essere MultiCampo...In sostanza devi distinguere la parte di MEMORIZZAZIONE DATI, da quella di predisposizione delle selezioni che è definita CATALOGO...
    visto che la possibilità di pk multicampo non la conosco e mi dovrò documentare su come intendevi suggerirmi di applicarla.
    Il problema sta alla fine dove parlavo dei sottoparametri STP e su come fare per crearli e come relazionarli ma vedo di pensare alla questione anagrafica/cataloghi
  • Re: Costruire db quaderno di laboratorio analisi

    Ancora niente mannaggia

    proviamo così allego foto delle mie relazioni e della maschera campioni ( dove ho indicato il pulsante che per ogni parametro caricato dovrebbe aprire gli STP e una foto della maschera creata per caricare le parti fisse degli STP)
    allego relazioni e ciò che intendevo
    allego relazioni e ciò che intendevo


    allego maschera campioni
    allego maschera campioni


    allego mascheraSTP parti anagrafica
    allego mascheraSTP parti anagrafica

    ciò che vorrei ottenere è una maschera come mascheraSTP (che si apra con il pulsante creato in maschera campioni), relazionata a quella già presente per i campioni e costruita su tbElencocampioni in cui come dicevo per ogni campione carico 1 o più parametri diversi la cui associazione va compilare la tbMatrprova.
    Ogni singolo parametro ha dei STP i cui campi fissi li ho associati alla tabella Anagrafe TbMetSTP
    non riesco a fare in modo di compilare gli altri campi del STP (op, Stru, data_inizioo e fine) che saranno legati al par che carico per quel determinato campione e che dovrebbero (nella mia immaginazione) essere come i campi rettangolari aggiunti ma che caricando quel parametro si aprano automaticamente già le parti fisse.....

    qualcuno sa aiutarmi o dirmi se ho sbagliato vi ringrazio
Devi accedere o registrarti per scrivere nel forum
3 risposte