BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA 1 Lezione II - BioIngInfMed Sistema Informativo Un sistema informativo (SI) è un componente di una organizzazione il cui obiettivo è gestire le informazioni utili per gli scopi dell’organizzazione stessa GESTIRE = acquisire, elaborare, conservare, produrre, distribuire 2 Lezione II - BioIngInfMed Il ruolo dei DBMS nei SI In qualsiasi organizzazione sono molteplici le applicazioni del sistema informatico che utilizzano gli stessi dati Un DBMS è un sistema software in grado di gestire collezioni di dati che sono condivise da più applicazioni e utenti 3 Lezione II - BioIngInfMed Un esempio di (semplice) database Quando si pensa ad un database, generalmente si immagina una tabella contenente grandi quantità di informazioni, sulla quale e possibile fare una certa serie di operazioni Operazioni semplici: registrazione dei ticket Complesse operazioni di analisi: 4 Importo complessivo, per giorno, cassa, fascia oraria, ... Correlazioni di vendita (chi fa le analisi del sangue, spesso fa anche quella delle urine) Lezione II - BioIngInfMed DBMS: caratteristiche di base Le caratteristiche di un DBMS non si limitano ovviamente alla sola condivisione dei dati E’ importante avere chiaro che un DBMS: è in grado di gestire grandi quantità di dati (Giga-Tera byte e oltre) è in grado di garantirne la persistenza anche a fronte di guasti è in grado di condividere i propri dati garantendo 5 integrità dei dati mantenendoli tra loro sempre “consistenti” riservatezza con una disciplina di controllo degli accessi efficienza utilizzando al meglio le risorse di spazio e di tempo del sistema efficacia rendendo produttive le attività dei suoi utilizzatori Lezione II - BioIngInfMed Integrità I problemi di integrità sono tipicamente dovuti alla mancanza di una adeguata progettazione del DB Un esempio di problema di integrità: 6 Di un paziente, memorizzo sia il CAP che il Comune di residenza. Nella base di dati trovo un paziente con CAP 20121 (Milano) e residente nel Comune di Perugia (06121-06136) (problema di consistenza interna). In una tabella, ho che un certo paziente è celibe e un’altra paziente che è la moglie del primo (problema di consistenza esterna o referenziale) In una tabella ho l’elenco dei pazienti con indicato il codice della sua patologia, ma tale codice non è nell’elenco presente in un’altra tabella (problema di consistenza esterna o referenziale) Lezione II - BioIngInfMed Limiti dei DBMS Limiti dei DBMS 7 Nessuna capacità “grafica” Funzionalità statistiche di base Il trattamento statistico dei dati deve essere fatto con software ad-hoc (e.g. STATA) Lezione II - BioIngInfMed Riassumiamo Un DBMS è l’applicativo software che gestisce un DB Un DB è una collezione di dati (generalmente rappresentati in forma di tabelle) che rappresentano le informazioni di interesse per un’organizzazione Un foglio Excel non è un database, mentre un insieme di tabelle in Access è un database Progettare un DB significa trovare un “buon modo” per strutturare i dati, che rispetti sia i requisiti propri del SI dell’organizzazione sia i vincoli che sui dati vengono imposti 8 Lezione II - BioIngInfMed Progettazione di una base di dati Raccolta ed analisi dei requisiti Specifiche sui dati Modello concettuale (schema E/R) Modello logico (schema relazionale) Implementazione fisica Specifiche sulle funzioni 9 Interrogazioni sulla base di dati Implementazione delle transazioni Lezione II - BioIngInfMed Modello concettuale Un modello concettuale è un insieme di costrutti utilizzati per organizzare i dati e descriverne la struttura Il modello Entità/Relazione (E/R) adotta un formalismo grafico e semplice si basa su due soli concetti (l’entità e la relazione) 10 Lezione II - BioIngInfMed Entità Un’entità rappresenta una classe di oggetti del mondo reale (e.g., persone, cose, eventi, ...), che abbiano proprietà comuni, ed esistenza autonoma Ad esempio, 11 l’entità paziente è l’astrazione l’istanza (e.g. Pierpaolo) è il paziente vero e proprio Lezione II - BioIngInfMed Attributi (1) Le entità sono composte da attributi Ad esempio, l’entità paziente è composta dagli attributi: CF, Nome, Cognome, Sesso e Indirizzo Il CF è la chiave primaria, ovvero l’attributo che permette di identificare univocamente l’istanza 12 Lezione II - BioIngInfMed Attributi (2) A volte, gli attributi possono essere compositi Ad esempio, l’attributo Generalità è composto dal Nome e dal Cognome 13 Lezione II - BioIngInfMed Generalizzazione di entità Se un’entità rappresenta una classe di oggetti del mondo reale, è possibile che essa debba essere “specializzata” in diversi contesti Ad esempio, 14 un cliente di un hotel potrebbe essere un privato, una agenzia o una società Lezione II - BioIngInfMed Relazione (1) E’ il legame esistente fra differenti entità La relazione permette di esplicitare i collegamenti logici esistenti fra le varie entità che compongono le informazioni da trattare Ad esempio: 15 un medico cura un paziente una SDO è rilasciata ad un paziente Lezione II - BioIngInfMed Relazione (2) Ad esempio: l’entità medico cura (relazione) l’entità paziente I numeri rappresentano la cardinalità (minima e massima) della relazione 16 un medico cura da un minimo di 0 ad un massimo di “n” pazienti un paziente è curato da un minimo di 1 ad un massimo di “n” medici Lezione II - BioIngInfMed Cardinalità delle relazioni La cardinalità di una relazione identifica quante istanze di una certa entità si “collegano” ad una istanza di un’altra entità Relazione uno-a-uno Relazione uno-a-molti o molti-a-uno Relazione molti-a-molti 17 Lezione II - BioIngInfMed Entità debole Facciamo l’esempio delle entità studente e università, tra loro legate dalla relazione studia_in Qual è la chiave primaria dell’entità studente ? 18 Lezione II - BioIngInfMed Entità debole (2) E’ la matricola, a seconda dell’università, i.e. possono esserci studenti con lo stesso numero di matricola in differenti università, ma non con la stessa matricola nella stessa università Una chiave primaria che dipende anche dalla relazione, da origine ad una entità debole 19 Lezione II - BioIngInfMed Relazioni n-arie Esiste anche la possibilità di dover utilizzare relazioni fra più di due entità In tale caso, si parla di relazioni n-arie 20 Lezione II - BioIngInfMed Gli attributi Gli attributi possono anche essere posizionati sulle relazioni 21 Lezione II - BioIngInfMed Uno schema E/R semplice Costruiamo lo schema E/R di una base di dati per memorizzare le risposte date al questionario introduttivo. 22 Il questionario è composto da 9 domande a risposta multipla; degli studenti ci interessa la matricola, l’età ed il sesso Lezione II - BioIngInfMed Le entità e le relazioni Identificazione delle entità Questionario Studente Identificazione delle relazioni 23 Lo studente riempie il questionario Lezione II - BioIngInfMed Uno schema E/R complesso Costruiamo lo schema E/R di una base di dati per il seguente studio: 24 Analisi geografica di morbilità di malattie neoplastiche, con disaggregazione per sede elettorale, a seguito dell’installazione di una industria chimica che prevede, nel ciclo di lavorazione, l’emissione di gas in aria Lezione II - BioIngInfMed Le entità e le relazioni Identificazione delle entità Sede elettorale Paziente Patologia Identificazione delle relazioni 25 Il paziente risiede in una sede elettorale Il paziente soffre di una certa patologia Lezione II - BioIngInfMed La sede elettorale Gli attributi dell’entità sede elettorale 26 Numero della sede (chiave primaria) Distanza dall’industria chimica Numero di votanti Lezione II - BioIngInfMed Il paziente Gli attributi dell’entità paziente 27 Identificatore numerico Sesso Età Lezione II - BioIngInfMed La patologia Gli attributi dell’entità patologia 28 Codice DRG Diagnosi principale Lezione II - BioIngInfMed La relazione risiede La relazione risiede fra il paziente e la sede elettorale 29 Il paziente risiede in 1 sede elettorale In una sede elettorale risiedono n pazienti Lezione II - BioIngInfMed La relazione soffre La relazione soffre fra il paziente e la patologia 30 Un paziente può soffrire di n patologie Di una patologia soffrono n pazienti Lezione II - BioIngInfMed Lo schema E/R completo 31 “Putting all together”... Lezione II - BioIngInfMed Esercizi Disegnare lo schema E/R relativo ai codici ICD-10 32 I codici ICD-10 sono organizzati in capitoli, blocchi e patologie. I capitoli hanno una numerazione con numeri romani, i blocchi e le patologie hanno una numerazione alfanumerica Lezione II - BioIngInfMed Esercizio Si modellizzare la gestione semplificata di un ospedale. Le specifiche sono di seguito riportate. La base di dati dovrà memorizzare informazioni relative ai pazienti, al ricovero dei pazienti nei reparti ospedalieri, ai trattamenti cui sono sottoposti i pazienti ed alla loro dimissione. Di ogni paziente, vengono registrati il nome, l'indirizzo, il sesso, il numero di carta di identità, il numero della tessera sanitaria, il reparto ove è ricoverato e il letto occupato (reparto e letto possono cambiare durante il periodo di degenza). Di ogni reparto, vengono memorizzati il nome, la localizzazione, il nome del primario responsabile, il nome degli (eventuali) altri medici presenti, il numero delle stanze, il numero di letti presenti per stanza e il numero di letti occupati per stanza. Si vuole inoltre tener traccia delle date di ricovero, di (eventuale) trasferimento da un reparto all'altro e di dimissione dei pazienti. Ogni paziente può essere sottoposto a più trattamenti durante il periodo di degenza ospedaliera. Di ogni trattamento, vengono conservate informazioni relative al nome, alla durata e alle possibili reazioni del paziente. 33 Lezione II - BioIngInfMed Esercizi Disegnare lo schema E/R relativo a una biblioteca 1. Voglio memorizzare la collocazione di ogni volume. Per ogni volume voglio sapere il tipo (libro, rivista, proceedings, etc.), la casa editrice, e voglio memorizzarne gli autori Disegnare lo schema E/R relativo ad un dominio informativo (semplificato) che permetta di calcolare le spese - in termini di DRG - all'interno di un ospedale 2. 34 Voglio memorizzare, per ciascun reparto, i pazienti, la patologia (usando i codici ICD-9-CM), e il DRG assegnato Lezione II - BioIngInfMed Esercizi Disegnare lo schema E/R relativo alla valutazione dei servizi ospedalieri 4. Per ogni servizio, è necessario sapere il tipo di prestazione che viene erogata, e si aggiunga la possibilità di dare una valutazione al servizio (0=insufficiente, 1=sufficiente, 2=ottima) Disegnare lo schema E/R relativo alle analisi delle acque 5. 35 Si consideri la presenza di pozzi d'acqua (con le informazioni circa il nome, la profondità) e le relative analisi (data, temperatura, pH, presenza inquinanti) Lezione II - BioIngInfMed