Ottenere una tabella identica ogni volta che il valore corrisponde

di il
6 risposte

Ottenere una tabella identica ogni volta che il valore corrisponde

Salve. Premettendo che non sono un esperto in materia, vorrei porre una domanda. Devo creare una versione database di una cartella clinica odontoiatrica. Per farlo ho creato tre cartelle :
A) Cartella clinica
B)Anamnesi medica
C)Anamnesi dentale
più una serie di tabelle accessorie per l'inserimento tramite ricerca guidata.
Ora ho collegato la cartella clinica all'anamnesi dentale tramite "N.Dossier" che risulta essere la chiave primaria in "Cartella clinica", in modo da poterle modificare entrambe al momento dell'inserimento di un nuovo paziente. Ora il problema è questo :
1)Dovrei collegare la voce "Codice Fiscale" in "Cartella clinica" alla voce "Codice Fiscale" in "Anamnesi Medica"
2)Ogni volta che inserisco lo stesso paziente (stesso codice fiscale) dovrebbe essere richiamata sempre la stessa "Anamnesi medica" relativa a quel paziente senza dover inserire di nuovo i valori.
Grazie a chi può darmi una mano.

6 Risposte

  • Re: Ottenere una tabella identica ogni volta che il valore corrisponde

    A) B) C) sono TABELLE e non cartelle: giusto?
    Potresti esporre i nomi propri di tutti i loro campi?
  • Re: Ottenere una tabella identica ogni volta che il valore corrisponde

    Certamente. A,B,C sono tabelle. I nomi dei campi sono:
    A) Dossier (num.automatica), Nome, Cognome, Codice fiscale, Data, Diagnosi, Trattamento
    B) Codice fiscale, Indirizzo, Telefono, poi una serie di campi con il nome di varie patologie croniche e disturbi (si/no)
    C) Dossier, Elemento dentario trattato, e poi patologie specifiche del cavo orale (si/no)
  • Re: Ottenere una tabella identica ogni volta che il valore corrisponde

    Hai una organizzazione tabelle-campi caotica e non normalizzata.
    1. I campi Nome, Cognome, CodiceFiscale, Indirizzo, Telefono sono omogenei e strettamente legati a un Paziente. Ti serve una tabella Pazienti con IDPaziente (PK)
    2. Dopo di che (forse) ti basta una tabella Visite o Anamnesi con tutti gli altri campi strettamente legati a una Visita e a tutto quello che ne consegue con un ultimo campo IDPaziente (FK) correlato dal lato molti con il suo omonimo campo da tabella Pazienti.
    3. A questo punto ti accorgerai da solo che cambia completamente la prospettiva dell'organizzazione dati...e di quello che vuoi fare.
  • Re: Ottenere una tabella identica ogni volta che il valore corrisponde

    Ok, ho capito. Proverò a seguire il tuo consiglio. Grazie
  • Re: Ottenere una tabella identica ogni volta che il valore corrisponde

    NI, non ti convien SOLO PROVARE a seguire il consiglio!
    Se non vuoi trovarti in grane anche peggiori, e capire PERCHE" ti e' stato dato quel consiglio, ti conviene dedicare qualche giorno/una settimana, a studiare

    Teoria Relazionale dei Dati

    Non e' niente di particolarmente stratosferico, ma ci sono una serie di concetti FONDAMENTALI (ad esempio la "normalizzazione") che sono nati PROPRIO per ovviare ai pasticci che stai affrontando.

    Puoi iniziare con wikipedia, e successivamente studiare su qualche libro compatto (200/300 pagine)/dispensa universitaria.

    Le parole magggiccccche sono:

    teoria relazionare dei dati
    prima, seconda, terza, quarta forma normale
    database normalizzato
    selezione, proiezione, prodotto/join
    algebra relazionale


    https://it.wikipedia.org/wiki/Algebra_relazional
  • Re: Ottenere una tabella identica ogni volta che il valore corrisponde

    Fermi restando i suggerimenti di cui sopra, dal mio punto di vista, sarebbe più opportuno utilizzare il codice fiscale come chiave primaria, e non il dossier; mi spiego.
    La tabella "B", di fatto è una anagrafica del paziente, con dati storici e clinici che lo caratterizzano.
    Valuterei meglio il contenuto delle tabelle A e C
    Utilizzerei la tabella A come archivio di problemi trattati "diagnosticati", contenente per ciascuno data inizio, data fine, costo preventivato, ... codice fiscale,
    record 1: carie dente 24 - paziente Tizio
    record 2: rottura dente 7 - paziente Caio
    record 3: Impianto dente 12 - Paziente Tizio
    ...
    Utilizzerei poi la tabella C come archivio dei dettagli legati a ciascun problema (giorno, tipo di intervento, esito, prescrizioni, eventuali terapie...)

    Una persona può avere più problemi; ogni problema può essere trattato anche in più sedute, ciascuna con "cure" diverse.
    In pratica avrei due archivi distinti, che ti consentono di avere la esatta cronologia di lavorazione per ciascun problema diagnosticato a ciascun paziente.
    Immagino la cura della carie di un dente oggi, l'estrazione di un altro dente tra un mese, l'impianto nuovo il prossimo anno. Sono tre eventi che riguardano lo stesso paziente, che fai fatica a gestire in un unico dossier (se non ho capito male, per "dossier" credo che ti riferisci ad un solo record della tabella)...

    Quando nella maschera richiami il paziente, attraverso il codice fiscale (dalla tabella "anagrafica"), come sottomaschera potresti prevedere l'utilizzo della seconda tabella, che ti mostra (singolarmente od in tabella) tutti "i problemi riscontrati" ed eventualmente considerazioni su ciascuno di essi.

    Da questa, puoi aprire i dettagli delle operazioni riferite al ciascun singolo problema di quel paziente
    Ogni tabella deve avere delle chiavi appositamente predisposte per creare specifiche relazioni (B-->A e poi A -->C)

    Hai da studiarci un pò su...
    Buon lavoro
Devi accedere o registrarti per scrivere nel forum
6 risposte