BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA 1
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
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
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: Importo complessivo, per giorno, cassa, fascia oraria,... Correlazioni di vendita (chi fa le analisi del sangue, spesso fa anche quella delle urine) 4
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 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 5
Integrità I problemi di integrità sono tipicamente dovuti alla mancanza di una adeguata progettazione del DB Un esempio di problema di integrità: 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) 6
Limiti dei DBMS Limiti dei DBMS Nessuna capacità grafica Funzionalità statistiche di base Il trattamento statistico dei dati deve essere fatto con software ad-hoc (e.g. STATA) 7
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
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 Interrogazioni sulla base di dati Implementazione delle transazioni 9
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
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, l entità paziente è l astrazione l istanza (e.g. Pierpaolo) è il paziente vero e proprio 11
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
Attributi (2) A volte, gli attributi possono essere compositi Ad esempio, l attributo Generalità è composto dal Nome e dal Cognome 13
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, un cliente di un hotel potrebbe essere un privato, una agenzia o una società 14
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: un medico cura un paziente una SDO è rilasciata ad un paziente 15
Relazione (2) Ad esempio: l entità medico cura (relazione) l entità paziente I numeri rappresentano la cardinalità (minima e massima) della relazione 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 16
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
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
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
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
Gli attributi Gli attributi possono anche essere posizionati sulle relazioni 21
Uno schema E/R semplice Costruiamo lo schema E/R di una base di dati per memorizzare le risposte date al questionario introduttivo. Il questionario è composto da 9 domande a risposta multipla; degli studenti ci interessa la matricola, l età ed il sesso 22
Le entità e le relazioni Identificazione delle entità Questionario Studente Identificazione delle relazioni Lo studente riempie il questionario 23
Uno schema E/R complesso Costruiamo lo schema E/R di una base di dati per il seguente studio: 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 24
Le entità e le relazioni Identificazione delle entità Sede elettorale Paziente Patologia Identificazione delle relazioni Il paziente risiede in una sede elettorale Il paziente soffre di una certa patologia 25
La sede elettorale Gli attributi dell entità sede elettorale Numero della sede (chiave primaria) Distanza dall industria chimica Numero di votanti 26
Il paziente Gli attributi dell entità paziente Identificatore numerico Sesso Età 27
La patologia Gli attributi dell entità patologia Codice DRG Diagnosi principale 28
La relazione risiede La relazione risiede fra il paziente e la sede elettorale Il paziente risiede in 1 sede elettorale In una sede elettorale risiedono n pazienti 29
La relazione soffre La relazione soffre fra il paziente e la patologia Un paziente può soffrire di n patologie Di una patologia soffrono n pazienti 30
Lo schema E/R completo Putting all together... 31
Esercizi Disegnare lo schema E/R relativo ai codici ICD-10 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 32
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
Esercizi 1. Disegnare lo schema E/R relativo a una biblioteca 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 2. 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 Voglio memorizzare, per ciascun reparto, i pazienti, la patologia (usando i codici ICD-9-CM), e il DRG assegnato 34
Esercizi 4. Disegnare lo schema E/R relativo alla valutazione dei servizi ospedalieri 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) 5. Disegnare lo schema E/R relativo alle analisi delle acque 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) 35