Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    residenza
    Caserta
    Messaggi
    44

    [MySql] Collegare i dati di varie tabelle: integrità referenziale?

    Ciao a tutti, rieccomi con i miei dubbi... piano piano il lavoro procede..

    Io ho un database, chiamato "imedic". In questo database ho varie tabelle:
    -anamnesi
    |-ID
    |-ANAMNESI
    |-FARMACI
    |-ALLERGIE

    -esami ematologici
    |-ID
    |-VES
    |-ecc. ecc.

    -esami radiografici
    |-ID
    |-RX
    |-TC
    |-ecc.

    -pazienti
    |-ID
    |-NOME
    |-COGNOME
    |-ecc.

    -utenti
    |-ID
    |-USER
    |-PASS
    |-LIVELLO

    Ora il problema è correlare i campi. Mi spiego:
    Inserisco un paziente, MARIO ROSSI. Devo inserire la sua anamnesi, le analisi eseguite e via discorrendo... come posso correlare quella tabella al record? Stavo leggendo qualcosa sull'integrità referenziale che è sicuramente procedura da adottare per evitare incasinamenti del DB, ma per relazionarlo come posso fare? Apro la scheda di MARIO ROSSI e voglio inserire le sue analisi... ma devono essere univocamente sue! Cosa devo cercare su google? Grazie mille

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    nelle tabelle anamnesi, esami ematologici e esami radiografici inserisci una colonna ID_paziente che sarà riempita con il valore della colonna ID corrispondente al paziente interessato
    così hai fatto la correlazione che potrai sfruttare per ogni query

    PS: sei sicuro che ti occorra avere una tabella per tipo esame? Non sarebbe meglio avere una tabella unica con i campi necessari ad individuare il tipo di esame e gli esiti?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    residenza
    Caserta
    Messaggi
    44
    Ah ok capito... in pratica quando andrò a creare un nuovo paziente leggerò l'ID della chiave principale (quello con l'AI) e lo scriverò nella colonna ID_PAZIENTE e in tutte quelle degli esami. La colonna ID_PAZIENTE è diversa da quella ID (che è la primary con AI), e per recuperarli farò query su ID_PAZIENTE, in base a ID della tabella pazienti... giusto?

    Quanto al tuo suggerimento, sai che è? Solo di esami ematologici ho registrato 80 potenziali valori da riempire.. per chiarezza di programmazione penso sia meglio differenziarli quanto meno per tipi... tu che ne dici?

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    per valori intendi tipi diversi di esami? o intendi informazioni diverse per singolo esame?
    io direi che un DB organizzato bene potrebbe prevedere

    tabella CategoriaEsami (ci inserirai ad esempio, le voci esami radiologici, esami ematologici)
    id
    descrizione

    tabella TipoEsami (il tipo di esami, radiografia, ecografia, ecc)
    id
    id_tipoEsami
    descrizione

    tabella EsamiFatti (sono gli esami che devi registrare per i pazienti)
    id
    id_tipoEsami
    id_categoriaEsami
    id_paziente
    esito
    note

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    residenza
    Caserta
    Messaggi
    44
    Solo di esami ematochimici sono 80 valori diversi... non volevo incasinare troppo le cose, per questo...

    Esempio: una TC può essere:
    TC-CRANIO
    TC-MASSICCIO FACCIALE
    TC-ADDOME E PELVI

    ecc. ecc.... con o senza MDC... sono numerose varianti dello stesso esame.... la RX? altro esempio:

    RX-CRANIO
    RX-TORACE
    RX-BACINO
    RX-RACHIDE
    RX-ARTO INFERIORE (coscia o gamba, o piede)
    RX-ARTO SUPERIORE (braccio, avambraccio, mano)
    RX CON MDC DIGERENTE

    ecografia?
    ECO MAMMARIA
    ECO ADDOME SUPERIORE
    ECO ADDOME INFERIORE
    ECO ADDOME COMPLETO
    ECO TIROIDE
    ECO MUSCOLOSCHELETRICA
    ECO TESTICOLO
    ECO CUTE E SOTTOCUTE

    ...il tutto con o senza color e/o doppler.... e chiaramente con il risultato annesso (referto del collega e, magari in futuro anche le immagini)

    ...converrai che sono una mole di esami non indifferente.... per questo prevedevo una serie di esami... in pratica io vorrei aprirmi la scheda del paziente e poter inserire nuovi esami... quindi:

    Scheda paziente:
    -Anagrafica
    -Anamnesi
    -Esami ematologici/ematochimici --> apertura di altra pagina con storico di esami per data... seleziono data e vedo gli esami di quella data, oltre a poter inserire una nuova data di nuovi esami
    -Esame fatto n.1 (menù a tendina --> selezione tipo di esame --> inserimento risultato)
    -possibilità di inserire dinamicamente nuovi esami radiologici

    ...un bel pò complicato, nevvero?

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    proprio perché è complesso devi facilitarti la vita in impostazione delle tabelle, razionalizzando da subito quanto ti serve memorizzare
    guarda come verrebbe un ipotetico DB fatto come ti ho scritto io
    codice:
    CategoriaEsami					
    id	descrizione				
    1	radiologia				
    2	ematologia				
    3	ecografia	
    
    
    TipoEsami					
    id	id_tipoEsami	descrizione			
    1	1				RX-CRANIO			
    2	1				RX-TORACE			
    3	1				RX-BACINO			
    4	1				RX-RACHIDE			
    5	3				ECO MAMMARIA			
    6	3				ECO ADDOME SUPERIORE			
    7	3				ECO ADDOME INFERIORE			
    8	3				ECO ADDOME COMPLETO			
    9	3				ECO TIROIDE			
    					
    EsamiFatti					
    id	id_tipoEsami	id_categoriaEsami	id_paziente	esito	note
    1	6				3					3			OK		qualcosa da ricordare
    2	3				1					2			KO		qualcosa da ricordare
    3	9				3					3			OK		qualcosa da ricordare
    					
    Pazienti					
    id	nome	cognome			
    1	Nome1	Cognome1			
    2	Nome2	Cognome2			
    3	Nome3	Cognome3
    con una query tiri fuori tutta la storia dei pazienti

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2010
    residenza
    Caserta
    Messaggi
    44
    ottimo, ora vedo di strutturarmi un pò le tabelle e poi posto! Grazie!

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    nel database di clasku (tabella EsamiFatti) la colonna id_categoriaEsami non è inutile?

    Dopo tutto è già segnato nella colonna id_tipoEsami della tabella TipoEsami
    No

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Effettivamente è ridondante, però ti consente con una sola query senza join di avere tutti gli esami di un certo tipo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.