Management per le professioni sanitarie tecniche

70
Management per le professioni sanitarie tecniche 1. Sistemi Informativi 2. Modelli dei dati e database relazionali Prof. Mauro Giacomini Dott.ssa Silvia De Nadai

Transcript of Management per le professioni sanitarie tecniche

Management per le professioni sanitarie tecniche

1. Sistemi Informativi2. Modelli dei dati e database relazionali

Prof. Mauro GiacominiDott.ssa Silvia De Nadai

Recapiti

Professor Mauro Giacomini

Tel: 010 353 6546E-mail: [email protected]

Materiale su: www.medinfo.dist.unige.it

Master 1° Liv. Classe 3° - A.A. 2007/08

Master 1° Liv. Classe 3° - A.A. 2007/08

Sommario (1)

Introduzione ai sistemi informativiDifferenza fra dati e informazioniConcetti generali su database e DBMSCiclo di vita di un sistema informativoTipologie di sistemi informativiArchitetture client-serverApplicazioni WEB

Master 1° Liv. Classe 3° - A.A. 2007/08

Sommario (2)Schemi e modelliModelli concettualiModelli logiciModelli fisiciIl modello Entità-RelazioneNozioni ed operazioni di algebra relazionaleTrasformazione di uno schema concettuale in uno relazionaleForme normaliIndici

Master 1° Liv. Classe 3° - A.A. 2007/08

Introduzione (1)Information Technology impiegata in tutte le

attività dove si gestiscono dati e informazioni, anche in ambito sanitario

Ogni volta che si richiede un’informazione al sistema si effettua una transazione. Questa è gestita da più sistemi informatici che dialogano tra loro e che costituiscono il sistema informativo (SI)

L’uso del sistema informativo garantisce l’efficienza della gestione di questi dati.

Master 1° Liv. Classe 3° - A.A. 2007/08

Introduzione (2)

SI progettabile anche senza tecnologie informaticheSI = Sistema per organizzare le informazioni e per renderle fruibili in modo rapido ed efficienteSI - automatizzato

Master 1° Liv. Classe 3° - A.A. 2007/08

Dati e informazioni (1)

Dati ≠ InformazioniInformazioni:Rappresentate con datiDato interpretabile (non è detto che sia vero)Dati in un contesto (struttura)SI organizzano e rendono disponibili

informazioni, per questo accedono ai dati.

Dati e informazioni (2)

Esempio:Ho un dato: 37

Master 1° Liv. Classe 3° - A.A. 2007/08

Qualsiasi cosa!

Unità di misura:C° Non basta!

Serve un contesto!

Master 1° Liv. Classe 3° - A.A. 2007/08

Database e DBMS (1)

DB insieme di dati memorizzato permanentemente su memorie di massaSI gestione di datiUso dei file non strutturati, svantaggi:

forte dipendenza fra applicazione e formato fisico dei dati (Soggettività/Oggettività).Frequenti variazioni

Master 1° Liv. Classe 3° - A.A. 2007/08

Database e DBMS (2)

Excel

DBMS DB

Master 1° Liv. Classe 3° - A.A. 2007/08

Database e DBMS (3)

Vantaggi:Non dipendono dalla strutturaAccesso logico ai datiMappaggio a carico del DBMSRichieste dall’applicazione

Lettura: DBMS prende di dati dal sistema fisico e li organizza per la visione logica dell’applicazioneScrittura: applicazione scrive strutture logiche distribuite sul supporto fisico dal DBMS

Facilità di adeguamento ai cambiamenti

Master 1° Liv. Classe 3° - A.A. 2007/08

Database e DBMS (3)

Altri vantaggi:Protezione all’accessoRiduzione di ridondanze e inconsistenzeSicurezza e ottimizzazione nell’uso dei dati

Linguaggi di interrogazioneDisponibili ad applicazioni e persone

Master 1° Liv. Classe 3° - A.A. 2007/08

Tipi di DBMS

Differenze nell’organizzazione logica dei dati

Relazionali con linguaggio SQLModelli gerarchiciModelli reticolariDB orientati agli oggetti

Master 1° Liv. Classe 3° - A.A. 2007/08

Quando non serve un DBMS

Piccole quantità di datiInterrogazioni sempliciDati gestiti solo da una applicazioneNon è previsto il cambio di piattaforma

Es. file di configurazione dei programmi

Master 1° Liv. Classe 3° - A.A. 2007/08

Utenti di un DBMS: DBA

Database Administrator:Responsabile dei dati e di tutto quello che accade ad essiDispone i permessi di accessoProvvede ai backupGarantisce prestazioni, sicurezza, integrità

Master 1° Liv. Classe 3° - A.A. 2007/08

Utenti di un DBMS: programmatori

Progettisti e sviluppatoriScrivono le applicazioni che interagiscono con il DBMSUsano i data management languages(DML – es. SQL)Inseriscono costrutti SQL in programmi scritti in altri linguaggi

Master 1° Liv. Classe 3° - A.A. 2007/08

Utenti di un DBMS: Designer

Progettisti della base di datiRaccolgono le specifiche dell’utenteProgettano la struttura logica di memorizzazioneIndispensabili durante i cambiamenti della stessa

Master 1° Liv. Classe 3° - A.A. 2007/08

Utenti di un DBMS: Utenti

Due tipi:Istituzionali: passano attraverso l’applicazione sviluppata, hanno scarsa autonomia (scrittura di semplici query di interrogazione e/o inserimento)Saltuari: hanno la necessità di scrivere queryper specifici problemi che dovessero sorgere o interrogazioni e viste non previste dai disegnatori

Master 1° Liv. Classe 3° - A.A. 2007/08

Ciclo di vita (1)

Studio di fattibilità: bilancio costi benefici (esperti interni ed esterni). Risultato: decisione sull’attuabilitàAcquisizione dei requisiti: gruppo di analisti ed utenti che raccolgono tutte le informazioni importanti. Risultato: documenti sulle funzionalità del sistema

Master 1° Liv. Classe 3° - A.A. 2007/08

Ciclo di vita (2)

Modellistica dei dati(designer), risultato: rappresentazione formale ed approvata delle informazioni che saranno contenute nella base di datiTraduzione in modello logico, team di analisti, designer e sviluppatori; risultato: struttura del DB

Master 1° Liv. Classe 3° - A.A. 2007/08

Ciclo di vita (3)

Sviluppo dell’applicazione che accede ai datiDocumentazioneTest (effettuato da utenti istituzionali)Fase di esercizioMetodi di upgrade (che passano attraverso alcuni di questi passi)Dismissione al sopraggiungere di un nuovo SI

Master 1° Liv. Classe 3° - A.A. 2007/08

Architettura centralizzata

Tutti i processi sono elaborati dall’hostI terminali sono meri strumenti per l’immissione delle richieste e la visualizzazione dei risultatiMolto usata (banche, anagrafe, voli…) per la forte specializzazione e alte prestazioniNon adatto per settori in rapido mutamentoRapporto prezzo/prestazioni alto

Master 1° Liv. Classe 3° - A.A. 2007/08

Architettura basata su LAN

Local Area Network (LAN) mette in comunicazione ad alta velocità molti PCCondivisione di risorseFlessibile, affidabile, espandibile, riconfigurabileScarse prestazioni

Master 1° Liv. Classe 3° - A.A. 2007/08

Architettura client-server (1)

Divisione equa dei compiti tra client e nodi serverApplicazioni client (front-end –interfaccia utente), raccoglie la logica delle richieste e la gestione dei risultatiServer (back-end), elabora le richieste e fornisce i risultati

Master 1° Liv. Classe 3° - A.A. 2007/08

Architettura client-server (2)

Da client a server: richieste SQLDa server a client: insiemi di risposte (parti di tabelle)Pregi:

Separazione back/front endAlternativa ai sistemi proprietari

Master 1° Liv. Classe 3° - A.A. 2007/08

Applicazioni client

Gestione dell’autenticazioneMaschere progettate ad hoc per l’immissioneControllo della validità dei dati inseritiGestione dei dati forniti dal server: display – stampaGestione degli errori

Master 1° Liv. Classe 3° - A.A. 2007/08

Compiti del server

Controllo della validità e integrità dei datiAggiornamento di tabelle, indici e oggetti temporaneiGestione dell’I/O con il file systemGestione delle transazioniEsecuzione di queryRestituzione dei risultatiControllo accesi e sicurezza

Master 1° Liv. Classe 3° - A.A. 2007/08

Client-Server a più livelli

Livello di software intermedio (middleware) che contiene la logica della realtà locale (metodi di fatturazione, di refertazione) in genere detti oggetti businessOggetti client più leggeri e più controllabili

Master 1° Liv. Classe 3° - A.A. 2007/08

Client-Server a più livelli (2)

Client indipendenti dal serverClient colloquia solo col il middlewareIndipendenza dal linguaggio di sviluppoAlto grado di riutilizzo del softwarePunto critico: efficienza della rete

Master 1° Liv. Classe 3° - A.A. 2007/08

Applicazioni webDimora ideale del client-serverInternet per inviare e ricevere datiEnti coinvolti:

Web browser: contenitore dell’applicazione clientClient: oggetti attivi contenuti in pagine html accedono al DBMS via internetWeb server: consente di accedere alle pagine web memorizzate sul serverApplication server: strato intermedio, interpreta le richieste del client e preleva i dati dal DBDBMS: contenitore dei dati

Master 1° Liv. Classe 3° - A.A. 2007/08

Applicazioni Web: vantaggi

Non è necessaria l’installazioneSi scarica dalla rete e si esegue localmenteCon le pagine Web dinamiche la flessibilità di questi oggetti è aumentata

Master 1° Liv. Classe 3° - A.A. 2007/08

Schemi e modelliPrima di tutto viene l’analisi della realtà di interesse obiettivo: definire la struttura del database. Processo con tre passi:

realtà di interesse schema concettualeschema concettuale schema logico

schema logico schema fisico

Schema: rappresentazione formale della realtà. I processi per passare da uno schema all’altro sono i modelli.Modello: un insieme di regole e convenzioni che portano alla definizione di uno schema.

Master 1° Liv. Classe 3° - A.A. 2007/08

Modelli concettuali (semantici)

Operazione delicatissimaInfluenza tutti passi successiviRappresenta la porzione di mondo da modellare come vieni vista dall’analistaTotalmente indipendente da qualsiasi piattaforma HD/SW e dal DBMS

Master 1° Liv. Classe 3° - A.A. 2007/08

Modelli logici

Consentono di trasformare uno schema concettuale in uno logicoSchema logico: collezione di strutture che rappresentano il databaseIndipendente dall’HD/SWFortemente dipendente dal DMBSOgni DBMS è specializzato per un particolare modello logico

Master 1° Liv. Classe 3° - A.A. 2007/08

Modello relazionale

Modello logico più diffusoSchema = collezione di tabelle e di relazioni tra tabelleVari DBMS relazionali: Oracle, SQL Server, Informix Sybase, DB2, MySQL, MS AccessAnalizzato in seguito

Master 1° Liv. Classe 3° - A.A. 2007/08

Altri modelli

Modello gerarchico: schema ad albero, relazione unica quella di padre-figlioModello reticolare: schema a forma di reticolo dove ogni nodo può avere più padriModello orientato agli oggetti: schema composto da: classi, attributi, associazioni e aggregazioni con altre classi. DBMS orientati agli oggetti (Versant, ObjectStore, Poet)

Master 1° Liv. Classe 3° - A.A. 2007/08

Modelli fisici

Consentono di trasformare uno schema logico in uno fisico.Schema fisico: descrizione del modo in cui lo schema logico sarà memorizzato su una particolare piattaforma HW/SWTrasformazione automatica da parte del DBMS che interagisce con il file systemRidotto livello di astrazione

Master 1° Liv. Classe 3° - A.A. 2007/08

Modello Entità-RelazioneDefinito da P.P. Chen nel 1976Entità: si definiscono come oggetti che possono essere identificati in modo chiaro in un determinato contesto, le cui proprietà chiamate attributi.Definizione di attributi: rappresenta un’informazione relativa ad un insieme di dati (entità).Importanza degli attributi dipendente dal contestoLettura chiara e intuitivaTrasformazione diagramma E-R / schema relazionale pressoché immediato (livello di astrazione ancora presente).

Master 1° Liv. Classe 3° - A.A. 2007/08

EntitàInsieme di oggetti della realtà di interesseIndividuazione delle entità: prima attività della progettazione concettualeNotazione: rettangolo con il nome della entità inscritto in essoProprietà rappresentate come attributiTutti gli oggetti della stessa classe entità hanno gli stessi attributiGli attributi possono essere rappresentati con pallini esterni al rettangolo o in una diversa sezione del rettangolo che descrive l’entità

Master 1° Liv. Classe 3° - A.A. 2007/08

Caratteristica

Tipo di entità che assume il proprio significato solo se messa in corrispondenza con altre entità.Rappresentazione: rettangolo con bordo laterale doppio e nome inscritto

Master 1° Liv. Classe 3° - A.A. 2007/08

Relazione – cardinalità

Legame fra entità (Relazioni)Caratteristica principale la cardinalità

Le relazioni vengono classificate secondo la loro cardinalità in:

relazioni uno ad uno (1:1)relazioni uno a molti (1:M)

relazioni molti a molti (M:M)

Esempio di E-R

Master 1° Liv. Classe 3° - A.A. 2007/08

Entità

Attributi

Master 1° Liv. Classe 3° - A.A. 2007/08

Tipi fondamentali di relazioni (1)1:1 due entità E e F sono in relazione 1:1 se e solo se ad ogni elemento di E può corrispondere un solo elemento di F e viceversa

Tipi fondamentali di relazioni (2)1:N due entità E e F sono in relazione 1:N se e solo se ad ogni elemento di E possono corrispondere più elementi di F, ma ad ogni elemento di F corrisponde un solo elemento di E

Master 1° Liv. Classe 3° - A.A. 2007/08

Tipi fondamentali di relazioni (2)

N:N (molti a molti) due entità E e F sono in relazione N:N se e solo se ad ogni elemento di E possono corrispondere più elementi di F, e ad ogni elemento di F possono corrispondere più elementi di E

Master 1° Liv. Classe 3° - A.A. 2007/08

Master 1° Liv. Classe 3° - A.A. 2007/08

Modello relazionale

Introdotto da Edward Codd nel 1970Basato sul formalismo dell’algebra relazionaleMa dotato di ottime implementazioni pratiche e di linguaggi di interrogazione standardizzati (SQL)Ampiamente diffuso nell’ambito dei DBMS

Master 1° Liv. Classe 3° - A.A. 2007/08

Chiave primariaIn ogni tabella un insieme di attributi (colonne) identifica univocamente ogni rigaSi dice chiave candidata di una relazione R un insieme non vuoto di attributi K di R tali che:

È possibile individuare univocamente un’intera riga in base ai valori degli attributi di kLa proprietà di cui sopra non è più valida per qualsiasi sottoinsieme proprio di K

Dalla definizione di tabella, una candidata chiave esiste sempre (al massimo considerando tutti gli attributi)Chiave primaria: scelta fra i candidati chiave

Master 1° Liv. Classe 3° - A.A. 2007/08

Dal concettuale al logico (1)

Facili passaggi conducono dal diagramma E-R (concettuale) allo schema relazionaleLe entità del modello E-R si traducono tutte (tranne rari casi) a tabelleCi sono specifici metodi per elaborare le diverse relazioni in uno schema logico

Dal concettuale al logico (2)

Master 1° Liv. Classe 3° - A.A. 2007/08

Master 1° Liv. Classe 3° - A.A. 2007/08

Relazione 1:1

Introduzione in una delle due tabelle la chiave dell’altra, o anche in tutte e due.Attributo chiave esterna (simbolo FK) che deriva dalla chiave primaria (PK) dell’altra tabella

Nota: Le chiavi sono attributi che contengono dei dati (nella maggior parte dei casi “codici numerici”) inseriti perché si possa in seguito realizzare la relazione tra le entità.

Master 1° Liv. Classe 3° - A.A. 2007/08

Relazione 1:N

Se T e S sono in relazione 1:N il legame viene creato introducendo tra gli attributi di S la chiave primaria di TNon è possibile il contrario

Master 1° Liv. Classe 3° - A.A. 2007/08

Relazione N:N

Non sono sufficienti le chiavi esterneNecessario introdurre una nuova tabellaQuesta nuova tabella I ha come attributi le chiavi primarie delle tabelle T ed S (costitutive della relazione)Questa nuova tabella può contenere altri attributi propri della relazione e che caratterizzano la relazione

Master 1° Liv. Classe 3° - A.A. 2007/08

Operazioni dell’algebra relazionale (1)

Prodotto: P = T x S, P è ottenuta concatenando ogni riga di T con tutte quelle di SProiezione: Data una tabella T e un insieme di attributi A, la proiezione di T mediante A restituisce una tabella S con tutte le righe di T ma con le sole colonne identificate dagli attributi presenti in A

Master 1° Liv. Classe 3° - A.A. 2007/08

Operazioni dell’algebra relazionale (2)

Selezione: Data una Tabella T e una espressione logica E, definita sugli attributi di T, la selezione di T mediante E restituisce una tabella S con tutte le colonne di T, ma con le sole righe di T che soddisfano ERidenominazione: Data una tabella T e un insieme ordinato di attributi A, la ridenominazione di T mediante A restituisce una tabella S con gli stessi attributi di T ma ridenominati in base agli attributi presenti in A

Master 1° Liv. Classe 3° - A.A. 2007/08

Operazioni dell’algebra relazionale (3)

Unione: date due tabelle T ed S, con gli stessi attributi, l’unione tra T ed S è data dalla tabella U contenente tutte le righe di T e di SDifferenza: date due tabelle T ed S, con gli stessi attributi, la differenza tra T ed S restituisce una tabella U contenente tutte e righe di T non presenti in S

Master 1° Liv. Classe 3° - A.A. 2007/08

Operatori derivati (1)Join (giunzione): L’importanza principale del join risiede nella possibilità che ci offre per correlare e visualizzare dati appartenenti a tabelle diverse.

Prodotto Cartesiano

A x B = {(2, r), (2, s), (2, d), (2, 4), (f, r), (f, s), (f, d), (f, 4), (r, r), (r, s), (r, d), (r, 4)}

Operatori derivati (2)

tabelle non sono altro che insiemi i cui elementi sono le righe:

Master 1° Liv. Classe 3° - A.A. 2007/08

Tabella 1

A

B

C

D

E

Tabella 2

1

2

3

4

5

Colonna 1 Colonna 2

A 1

B 1

C 1

D 1

E 1

A 2

B 2

… …

Master 1° Liv. Classe 3° - A.A. 2007/08

Operatori derivati (3)

Natural Join (Giunzione Naturale), se in un’operazione di Join l’operatore di confronto è ‘=‘ allora si parla di Natural JoinIntersezione: date due tabelle T ed S con gli stessi attributi, l’intersezione è una tabella R contenente tutte le righe comuni a T e a S

Master 1° Liv. Classe 3° - A.A. 2007/08

Forme normali

Normalizzazione: processo matematico con lo scopo di raffinare lo schema logico e/o eliminare errori nell’organizzazione dei datiCi sono fino a 5 procedimenti di normalizzazione (ma ci si ferma di solito alla 3° forma normale)

Master 1° Liv. Classe 3° - A.A. 2007/08

Prima forma normale

Situazione di partenza:

Mario RossiVisita 26/04/08

Xxxxx ore 11:30

Xxxxx ore 15:00

Visita 12/07/08 Xxxxx ore 11:30

Paolo RossiVisita 07/06/08 Xxxxx ore 16:00

… …

Situazione di arrivo:

Mario Rossi Visita 26/04/08 Xxxxx ore 11:30

Mario Rossi Visita 26/04/08 Xxxxx ore 15:00

Mario Rossi Visita 12/07/08 Xxxxx ore 11:30

Paolo Rossi Visita 07/06/08 Xxxxx ore 16:00

… … …

Master 1° Liv. Classe 3° - A.A. 2007/08

II e III Forma NormaleUna relazione è in seconda forma normale se è in 1FN e se tutti gli attributi non primi (ossia non facenti parte di alcuna chiave della relazione) dipendono da ogni chiave. La traduzione in 2NF della relazione viene effettuata scomponendo la relazione di partenza in più relazioni.

Una relazione è in Terza forma normale se è in 2NF e se ogni suo attributo dipende in modo diretto e non transitivo da ogni chiave della relazione.

Master 1° Liv. Classe 3° - A.A. 2007/08

DenormalizzazioneÈ buona norma lavorare con strutture normalizzate (almeno fino alla terza forma normale)Casi in cui può essere necessario denormalizzare un po’ i dati:

Quando aggiungendo un attributo ridondante nelle tabelle, è possibile limitare il numero delle tabelle da visitare per ottenere particolari risultatiQuando si aggiunge un attributo che contiene un valore calcolato e quindi si velocizza l’elaborazione di dati usati di frequente

Nel caso di attributi denormalizzati sarà l’applicazione a farsi carico della consistenza degli stessi che non può essere affidata ai meccanismi automatici del DBMS

Master 1° Liv. Classe 3° - A.A. 2007/08

IndiciIndice = sequenza di record con almeno due campi: chiave e indirizzoChiave: contiene i valori della tabella su cui è stato creato l’indiceIndirizzo: puntatore all’occorrenzaElementi efficienti nella ricerca perché:

sono più piccoli e semplici di quelli della tabellaSono organizzati in particolari strutture che consentono di effettuare ricerche con prestazioni elevate

Velocizzano le ricerche ma rallentano gli inserimenti e le modifiche

Management per le professioni sanitarie tecniche

Esempi di Sistemi InformativiProf. Mauro GiacominiDott.ssa Silvia De Nadai

Protmine e OECI (1)

Master 1° Liv. Classe 3° - A.A. 2007/08

Protmine

OECI

Protmine e OECI (2)

Master 1° Liv. Classe 3° - A.A. 2007/08

Interazione

Sviluppatori

Cliente

OECI

Master 1° Liv. Classe 3° - A.A. 2007/08

Protmine (1)

Master 1° Liv. Classe 3° - A.A. 2007/08

Protmine (2)

Master 1° Liv. Classe 3° - A.A. 2007/08

Protmine (3)

Master 1° Liv. Classe 3° - A.A. 2007/08