Basi di Dati La Progettazione

Slides:



Advertisements
Presentazioni simili
Le funzioni dell’ “Operatore”.
Advertisements

Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
- le Medie la Moda la Mediana
Informatica II – Basi di Dati (08/09) – Parte 1
Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
Valutazione d’Istituto A.S. 2008/2009
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
Progetto Qua.ser Indagine di customer satisfaction: Cambio di indirizzo Firenze, 30 giugno 2011.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
DBMS (DataBase Management System)
Agenda Statistica Andamento e struttura della popolazione di Bolzano e dei suoi quartieri e dei suoi quartieri maggio 2008 Ufficio Statistica e.
Frontespizio Economia Monetaria Anno Accademico
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
Lez. 3 - Gli Indici di VARIABILITA’
Associazione Nazionale Medici Cardiologi Ospedalieri
I MATEMATICI E IL MONDO DEL LAVORO
L’uso dei database in azienda
1 I SISTEMI INFORMATIVI Luso dei DATABASE in azienda Giovedì, 22 aprile 2004Alessandro Capodaglio.
Obiettivi del corso di Statistica Medica.
ELEZIONI REGIONALI 2010 PRIMI RISULTATI E SCENARI 14 aprile 2010.
Canale A. Prof.Ciapetti AA2003/04
Corso di Informatica (Basi di Dati)
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Test di ipotesi X variabile casuale con funzione di densità (probabilità) f(x; q) q Q parametro incognito. Test Statistico: regola che sulla base di un.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
Cos’è un problema?.
Gli italiani e il marketing di relazione: promozioni, direct marketing, digital marketing UNA RICERCA QUANTITATIVA SVOLTA DA ASTRA RICERCHE PER ASSOCOMUNICAZIONE.
STILI DI APPRENDIMENTO ED EVOLUZIONE INTERFACCE
XIV Convegno Organizzativo AVIS Provinciale Guiglia, Sabato 4 Dicembre 2010 Le prospettive della raccolta del sangue in Provincia di Modena Esiti dei questionari.
Introduzione alle basi di dati
Basi di dati Claudia Raibulet
Paolo Manghi ISTI-CNR MS Access Paolo Manghi ISTI-CNR
Modelli dei dati Modelli e database
Il Modello Relazionale
CHARGE PUMP Principio di Funzionamento
Settimana: 3-7 marzo Orariolunedimartedi Mercoledi 5 Giovedi 6 Venerdi lezione intro alla fis mod DR lezione intro alla fis mod DR.
“QUESTIONARIO SUL GRADIMENTO”
Q UESTIONI ETICHE E BIOETICHE DELLA DIFESA DELLA VITA NELL AGIRE SANITARIO 1 Casa di Cura Villa San Giuseppe Ascoli Piceno 12 e 13 dicembre 2011.
Elementi di gestione di dati con MS Access
ISTITUTO COMPRENSIVO TORREGROTTA REPORT DATI QUESTIONARIO Alunni Scuola Primaria Classe V A.S.2012/2013.
Blue economy Blue economy Maggio Universo di riferimento Popolazione italiana Numerosità campionaria cittadini, disaggregati per sesso,
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
ISTITUTO COMPRENSIVO “G. BATTAGLINI” MARTINA FRANCA (TA)
Progettare un database
Un trucchetto di Moltiplicazione per il calcolo mentale
1 Ly-LAB Sistema di gestione dei dati analitici di laboratorio.
Prima rilevazione sullo stato di attuazione della riforma degli ordinamenti nelle istituzioni scolastiche in LOMBARDIA Attuazione del D.L. 59/2003 a.s.
GLI OBIETTIVI DELLA RICERCA
Introduzione alle basi di dati
Esempi risolti mediante immagini (e con excel)
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
DB- Sistemi Informativi
NO WASTE Progetto continuità scuola primaria scuola secondaria Salorno a.s. 2013_
Il numero più grande Accademia dei Lincei
Modulo 5 - Database. Contenuti della lezione 5.1.1Concetti Fondamentali 5.1.2Organizzazione di un Database 5.1.3Relazioni 5.2.1Lavorare con i database.
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
1 Ministero dell’Istruzione, dell’Università e della Ricerca Dipartimento per la Programmazione e la Gestione delle risorse umane, finanziarie e strumentali.
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.
IV D Mercurio DB Lezione 2
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Data Base ACCESS EM 09.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
Transcript della presentazione:

Basi di Dati La Progettazione

Piano della lezione Problema dell’archivio dei pazienti Realizzazione di una soluzione pre-informatica: archivio cartaceo Importanza della buona progettazione Limiti della soluzione cartacea Realizzazione di una soluzione informatica: archivio elettronico Progetto di un database Confronto con la soluzione cartacea

aggiornamento e analisi Problema Gestione delle informazioni relative ad un’Organizzazione Inserimento, modifica, cancellazione ed elaborazione delle informazioni processi interni di aggiornamento e analisi Organizzazione richiesta di servizi e risposta input esterni

Soluzione: archivi Trovare il modo di conservare e organizzare le informazioni interessanti di una realtà per poterle recuperare ed elaborare Anni ’70: archivi cartacei Oggi: archivi elettronici, database Gli archivi sono un modello della parte della realtà che si ritiene interessante

Il problema Migliorare il servizio ambulatoriale conservando e organizzando in maniera sistematica le informazioni sui pazienti Dati anagrafici Preparazione rapida di ricette Accesso alle informazioni anche in assenza del paziente: quanto pesa il paziente Mario Rossi? Dati medici e appunti sulle visite passate Visite e diagnosi più accurate Calcolo di statistiche: quale è il peso medio dei pazienti?

Tipologia di problema Gestione delle informazioni relative ad un’organizzazione Conservare e organizzare informazioni in modo da poterle recuperare, modificare e consultare in maniera efficiente Caratteristiche tipiche del problema Gestione di quantità ingenti di informazioni dalla struttura omogenea (ad esempio, di tutti i pazienti ci interessa sapere nome, età, indirizzo, patologie, ecc.) Operazioni di ricerca di informazioni, possibilmente combinate al calcolo di statistiche

Piano della lezione Problema dell’archivio dei pazienti Realizzazione di una soluzione pre-informatica: archivio cartaceo Importanza della buona progettazione Limiti della soluzione cartacea Realizzazione di una soluzione informatica: archivio elettronico Progetto di un database Confronto con la soluzione cartacea

Tipica soluzione pre-informatica Realizzazione di un archivio cartaceo, ovvero uno schedario con cassetti contenenti schede informative Effettuare le operazioni di ricerca e statistica aprendo i cassetti dello schedario e operando manualmente sulle schede Opportune tecniche di archiviazione (ordinamento delle schede e indici sulle schede) possono talvolta velocizzare alcune delle operazioni Ordinamento delle schede e aggiornamento degli indici sono operazioni fortemente dipendenti dalla precisione della persona che li mette in pratica.

Schedario: rappresentazione della realtà Uno schedario è una rappresentazione in carta e inchiostro dei fatti interessanti della nostra realtà di interesse La realtà di interesse che stiamo studiando è quella dei pazienti di un medico I fatti interessanti sono tutte e sole le informazioni riguardanti la realtà dei pazienti utili a migliorare il servizio ambulatoriale Le informazioni rilevanti di un paziente devono essere scritte in una rispettiva scheda, contenuta in un cassetto dello schedario dedicato ai pazienti

Schedario dei pazienti Lo schedario che costruiremo rappresenta in carta e inchiostro la realtà di interesse dei pazienti Se la signora Maria Bianchi diventa una paziente del medico, si deve inserire una nuova scheda nel cassetto, la quale riporta tutte le informazioni rilevanti riguardo la signora Maria Se il medico prevede di dover utilizzare in futuro il peso del paziente Mario Rossi, allora il peso deve essere scritto sulla sua scheda Se il paziente Mario Rossi cambia indirizzo, il cambiamento deve essere riportato sulla sua scheda Se il paziente Mario Rossi decide di cambiare medico, la sua scheda deve essere eliminata dal cassetto

Cassetto Pazienti Schedario pazienti Paziente dal 01/08/1995 CSSN: 0603/3454567 Paziente dal 11/04/2000 CSSN: 0601/1234567 DATI ANAGRAFICI E MEDICI: Nome: Maria Bianchi Indirizzo: Anno di nascita: 1950 Via Marmolada 67 Luogo di Nascita: Pisa 56126 Pisa Stato coniugale: sposata Tel: 347 8910111 Gruppo sanguigno: A Positivo Altezza: 158 cm Peso: 56 kg Menarca: 13 anni Modalità parto: naturale Patologie: 1957 morbillo 1960 rosolia DIARIO: Prima visita: influenza, consigliata tachipirina (02/04/2000) Seconda: 14/09/2000, Commento: allergia, rich. visita specialistica 3 visita: 02/02/2001 ....

Cassetto Pazienti Schedario pazienti Paziente dal 15/11/1996 CSSN: 0604/9786554 CSSN: 0608/7654321 DATI ANAGRAFICI: Nome: Mario Indirizzo: Cognome: Rossi Via Palestro 6 Anno di nascita: 1964 50100 Firenze Luogo di Nascita: Firenze Tel.: 345 678910 Cittadinanza: Italiana E-mail: marossi@libero.it DATI MEDICI: Gruppo sanguigno: B Negativo Altezza e peso: 1.65 m, 63 Kg Patologie: morbillo (1970), parotite (1971), rosolia (1973), varicella (1973) DIARIO: Data: 22/03/2000 Commento: influenza, sintomi classici Li: 3 maggio 2002 Comm.: forte tosse, consigliato TosseVia 1000 per una settimana Data: 23/08/2002 ...

Schedario pazienti Le operazioni Osservazione: il medico prevede di effettuare molte ricerche in base al cognome del paziente Ordiniamo le schede nel cassetto dei pazienti in ordine alfabetico rispetto al cognome Quanto pesa il paziente Mario Rossi? Nel cassetto relativo ai pazienti cerchiamo la sezione dedicata alla lettera R e tra queste la scheda del paziente Rossi Mario. Quindi leggiamo il peso riportato sulla scheda

I problemi Mancanza di progettazione dello schedario Schedario pazienti I problemi Mancanza di progettazione dello schedario Assenza parziale o totale di informazioni Eterogeneità delle informazioni sulle schede Problemi intrinseci agli schedari Uso del supporto cartaceo per conservare informazioni Controlli di correttezza e operazioni eseguiti manualmente

Assenza parziale di informazioni Problemi dello schedario: Mancanza di progettazione Assenza parziale di informazioni L’operazione: Quanti pazienti sono di cittadinanza italiana? non può essere eseguita per assenza parziale di informazioni Non tutte le schede riportano informazioni sulla cittadinanza, quindi il risultato di un conteggio sarebbe falsato

Assenza totale di informazioni Problemi dello schedario: Mancanza di progettazione Assenza totale di informazioni L’operazione: Quanti pazienti di sesso femminile sono presenti? non può essere eseguita per assenza totale di informazioni Nessuna scheda riporta informazioni sul sesso del paziente

Assenza di omogeneità L’operazione: Problemi dello schedario: Mancanza di progettazione Assenza di omogeneità L’operazione: Trovare il nome, il cognome e il CSSN del paziente più pesante per quanto intuitivamente semplice diventa estremamente tediosa È necessario scorrere tutte le schede dell’archivio Inoltre, le stesse informazioni sono riportate sulle schede in maniera eterogenea: individuare la posizione del nome, del cognome e peso su una scheda diviene non banale

Assenza di omogeneità Schedario pazienti Paziente dal 01/08/1995 CSSN: 0603/3454567 DATI ANAGRAFICI E MEDICI: Nome: Maria Bianchi Indirizzo: Anno di nascita: 1950 Via Marmolada 67 Luogo di Nascita: Pisa 56126 Pisa Stato coniugale: sposata Tel: 347 8910111 Gruppo sanguigno: A Positivo Altezza: 158 cm Peso: 56 kg Menarca: 13 anni Modalità parto: naturale Paziente dal 11/04/2000 CSSN: 0601/1234567 DIARIO: Prima visita: influenza, consigliata tachipirina (02/04/2000) Seconda: 14/09/2000, Commento: allergia, rich. visita specialistica 3 visita: 02/02/2001 .... Patologie: 1957 morbillo 1960 rosolia

Assenza di omogeneità Schedario pazienti Paziente dal 15/11/1996 CSSN: 0604/9786554 CSSN: 0608/7654321 DATI ANAGRAFICI: Nome: Mario Indirizzo: Cognome: Rossi Via Palestro 6 Anno di nascita: 1964 50100 Firenze Luogo di Nascita: Firenze Tel.: 345 678910 Cittadinanza: Italiana E-mail: marossi@libero.it DATI MEDICI: Gruppo sanguigno: B Negativo Altezza e peso: 1.65 m, 63 Kg Patologie: morbillo (1970), parotite (1971), rosolia (1973), varicella (1973) DIARIO: Data: 22/03/2000 Commento: influenza, sintomi classici Li: 3 maggio 2002 Comm.: forte tosse, consigliato TosseVia 1000 per una settimana Data: 23/08/2002 ...

Archivio non ben progettato Problemi dello schedario: Mancanza di progettazione Archivio non ben progettato Le informazioni riportate sulle schede non sono scelte sulla base di un’attenta analisi delle operazioni che si intendono effettuare Informazioni inutili: menarca e modalità parto Informazioni non sempre presenti: e-mail, cittadinanza, data di inizio rapporto del paziente Informazioni assenti: sesso, tipologia di visita (domicilio o in studio)

Archivio non ben progettato Problemi dello schedario: Mancanza di progettazione Archivio non ben progettato Le informazioni riportate sulle schede non sono strutturate omogeneamente Informazioni presenti su tutte le schede ma esposte in maniera diversa: nome e cognome, altezza e peso, visite del paziente, patologie

Riepilogo conseguenze Problemi dello schedario: Mancanza di progettazione Riepilogo conseguenze Alcune operazioni interessanti possono divenire molto laboriose o impossibili per l’assenza totale o parziale delle informazioni Quanti pazienti sono di cittadinanza italiana? (parziale) Da quando è mio paziente Mario Rossi? (parziale) Quando è stata fatta l’ultima visita a domicilio al paziente Maria Bianchi? (totale) Trovare un’informazione su una scheda è tedioso Ogni scheda possiede una propria interpretazione delle informazioni interessanti di un paziente

Buona progettazione Massimizzare la quantità e la qualità dei servizi per cui l’archivio si è reso necessario Il maggior numero di operazioni necessarie al medico devono essere eseguibili nel minor tempo possibile Minimizzare il numero di modifiche in corso d’opera allo schedario necessarie a introdurre o migliorare i servizi di cui sopra È costoso in termini di tempo (o impossibile) operare modifiche sui cassetti o sulle schede contenute in uno schedario avviato Esempio di modifica in corso d’opera: aggiungere a tutte le visite di tutte le schede la tipologia di visita fatta, se in studio o a domicilio

Progettare e realizzare Buona progettazione Progettare e realizzare La progettazione di uno schedario si basa su un’attenta analisi della realtà di interesse che si conclude con la definizione di un modello schematico della realtà stessa La realizzazione di un schedario si basa fedelmente su questo modello della realtà

Buona progettazione Il modello Un modello è una rappresentazione schematica dei fatti interessanti della realtà di interesse in termini di entità, attributi delle entità e collezioni di entità Un paziente è un fatto interessante della nostra realtà di tipo entità nome e peso dei pazienti sono fatti interessanti di tipo attributo delle entità (fatti che contraddistinguono un’entità) l’insieme dei pazienti è un fatto interessante di tipo collezione di entità, cioè un insieme di entità che hanno gli stessi attributi

Buona progettazione: Il modello Operazioni e fatti I fatti interessanti di una realtà si identificano a partire dalle operazioni che si intendono effettuare Nella realtà dei pazienti è necessario effettuare ricerche e statistiche su informazioni relative ai pazienti

Modello della realtà dei pazienti Buona progettazione: Il modello Modello della realtà dei pazienti Visto il tipo di operazioni richieste, un modello ragionevole della nostra realtà potrebbe essere: Una sola collezione Pazienti in cui ogni entità è un paziente con i seguenti attributi data di inserimento nello schedario CSSN nome cognome anno di nascita luogo di nascita cittadinanza indirizzo telefono e-mail gruppo sanguigno altezza peso sesso patologie (anno) visite: data, tipo, esito

Dal modello allo schedario Buona progettazione: Realizzazione Dal modello allo schedario Ad ogni entità nel modello è associata una scheda nello schedario Una scheda per ogni paziente Ogni attributo di un’entità è rappresentato da un’informazione sulla rispettiva scheda, nella forma: Nome attributo: valore attributo Ad esempio, Peso: 56 Kg Ad ogni collezione di entità nel modello è associato un cassetto dello schedario, quindi tutte le schede relative alle entità di una collezione sono contenute nello stesso cassetto

trovare il peso di Mario Rossi? Buona progettazione: Il modello Identità Supponiamo di avere 2 pazienti di nome Mario Rossi, come potremmo eseguire l’operazione trovare il peso di Mario Rossi? troveremmo due schede nello schedario, a quale dovremmo riferirci per trovare la risposta? Ogni entità nella realtà possiede un’identità propria che la distingue da tutte le altre entità i due pazienti Mario Rossi seduti nel vostro studio sono distinti dalla propria identità di persone: voi scegliereste a quale dei due chiedere il peso

Identità nello schedario Buona progettazione: Il modello Identità nello schedario Problema tipico di ogni rappresentazione di una realtà: rappresentare l’identità delle entità Esempi noti di rappresentazioni di identità: CSSN (realtà sanitaria) Codice Fiscale (realtà dello stato italiano) Nello schedario dei pazienti potremmo quindi sfruttare l’unicità del codice CSSN per distinguere univocamente le nostre schede In questo modo potremmo definire operazioni non ambigue del tipo: trovare il peso del paziente Mario Rossi con CSSN 0608/7654321

Identità con chiave muta Buona progettazione: Il modello Identità con chiave muta Buona regola di progettazione: Per rappresentare l’identità è bene introdurre per ogni cassetto un codice unico, detto chiave muta Tale codice è detto chiave muta (o anonima) perché non rappresenta nessun fatto della realtà modellata, ma è introdotto con l’unico scopo di rappresentare l’identità Tipicamente i valori della chiave muta sono numeri interi progressivi Nel nostro schedario introdurremo come chiave muta il codice della scheda paziente, un numero intero progressivo associato ad ogni scheda

Struttura omogenea delle schede Buona progettazione: Il modello Struttura omogenea delle schede Per garantire l’omogeneità dello schedario si definisce un fac-simile della generica scheda paziente. Questo guida il medico nel corretto inserimento di informazioni Dati medici: Gruppo sanguigno: Altezza: m Peso: kg Scheda paziente: Diario: Prima visita: influenza, consigliata tachipirina (02/04/2000) Seconda visita: 14/09/2000, Commento: allergia, rich. visita specialistica 3 visita: 02/02/2001 .... Paziente dal: CSSN: / Visite: Data: Tipo [studio/domicilio]: Esito: FOTO Dati anagrafici: Nome: Indirizzo: Cognome: Anno di nascita: Sesso: Tel.: Cittadinanza: E-mail: M F Patologie [nome (anno)]:

Struttura omogenea delle schede Buona progettazione: Il modello Struttura omogenea delle schede Tracce per la compilazione uniforme delle informazioni Unità di misura uguali per tutte le schede Per garantire l’omogeneità dello schedario si definisce un fac-simile della generica scheda paziente. Questo guida il medico nel corretto inserimento di informazioni Dati medici: Gruppo sanguigno: Altezza: m Peso: kg Scheda paziente: Diario: Prima visita: influenza, consigliata tachipirina (02/04/2000) Seconda visita: 14/09/2000, Commento: allergia, rich. visita specialistica 3 visita: 02/02/2001 .... Paziente dal: CSSN: / Visite: Data: Tipo [studio/domicilio]: Esito: FOTO Dati anagrafici: Nome: Indirizzo: Cognome: Anno di nascita: Sesso: Tel.: Cittadinanza: E-mail: M F Patologie [nome (anno)]:

Struttura omogenea delle schede Buona progettazione: Il modello Struttura omogenea delle schede DATI ANAGRAFICI: Nome: Mario Indirizzo: Cognome: Rossi Via Palestro 6 Anno di nascita: 1964 50100 Firenze Luogo di Nascita: Firenze Tel.: 345 678910 Cittadinanza: Italiana E-mail: marossi@libero.it DIARIO: Data: 22/03/2000 Commento: influenza, sintomi classici Li: 3 maggio 2002 Comm.: forte tosse, consigliato TosseVia 1000 per una settimana Data: 23/08/2002 ... DATI MEDICI: Gruppo sanguigno: B Negativo Altezza e peso: 1.65 m, 63 Kg Patologie: morbillo (1970), parotite (1971), rosolia (1973), varicella (1973) CSSN: 0608/7654321 Scheda paziente: 31 Paziente dal: 10/12/99 CSSN: 0608/7654321 Dati anagrafici: Nome: Mario Indirizzo: Cognome: Rossi Via Palestro 6 Anno di nascita: 1964 50100 Firenze Sesso: Tel.: 345 678910 Cittadinanza: Italiana E-mail: marossi@libero.it M F Dati medici: Gruppo sanguigno: B Negativo Altezza: 1.65 m Peso: 63 kg Patologie [nome (anno)]: morbillo (1970), parotite (1971), rosolia (1973), varicella (1973) Visite: Data Tipo [studio/domicilio] Esito 22/03/2000 domicilio influenza, sintomi classici 03/05/2002 studio forte tosse, consigliato TosseVia 1000 per una sett...

Struttura omogenea delle schede Buona progettazione: Il modello Struttura omogenea delle schede Dati anagrafici e medici: Nome: Maria Bianchi Indirizzo: Anno di nascita: 1950 Via Marmolada 67 Luogo di Nascita: Pisa 56126 Pisa Stato coniugale: sposata Tel: 347 8910111 Gruppo sanguigno: A Positivo Altezza: 1.58 cm Peso: 56 kg Scheda paziente: 12 Paziente dal: 11/04/2000 CSSN: 0601/1234567 Diario: Prima visita: influenza, consigliata tachipirina (02/04/2000) Seconda visita: 14/09/2000, Commento: allergia, rich. visita specialistica 3 visita: 02/02/2001 .... Visite: Data Tipo [studio/domicilio] Esito 02/04/2000 domicilio influenza, tachipirina 14/09/2000 studio allergia, rich. visita specialistica 02/02/2001 .... Dati anagrafici: Nome: Maria Indirizzo: Cognome: Bianchi Via Marmolada 67 Anno di nascita: 1950 56126 Pisa Sesso: Tel.: 347 8910111 Cittadinanza: Italiana E-mail: - Dati medici: Altezza: 1.58 m Patologie [nome (anno)]: morbillo (1957), rosolia (1960) M F

Struttura omogenea delle schede Buona progettazione: Il modello Struttura omogenea delle schede DATI ANAGRAFICI E MEDICI: Nome: Maria Bianchi Indirizzo: Anno di nascita: 1950 Via Marmolada 67 Luogo di Nascita: Pisa 56126 Pisa Stato coniugale: sposata Tel: 347 8910111 Gruppo sanguigno: A Positivo Altezza: 158 cm Peso: 56 kg Menarca: 13 anni Modalità parto: naturale Paziente dal 11/04/2000 CSSN: 0601/1234567 DIARIO: Prima visita: influenza, consigliata tachipirina (02/04/2000) Seconda: 14/09/2000, Commento: allergia, rich. visita specialistica 3 visita: 02/02/2001 .... Patologie: 1957 morbillo 1960 rosolia Scheda paziente: 12 Visite: Data Tipo [studio/domicilio] Esito 02/04/2000 domicilio influenza, tachipirina 14/09/2000 studio allergia, rich. Visita specialistica Dati anagrafici: Nome: Maria Indirizzo: Cognome: Bianchi Via Marmolada 67 Anno di nascita: 1950 56126 Pisa Sesso: Tel. 7 8910111 Cittadinanza: Italiana E-mail: - Dati medici: Gruppo sanguigno: A Positivo Altezza: 1.58 m Peso: 56 kg Patologie [nome (anno)]: morbillo (1957), rosolia (1960) Paziente dal: 11/04/2000 CSSN: 0601/1234567 M F DATI ANAGRAFICI: Nome: Mario Indirizzo: Cognome: Rossi Via Palestro 6 Anno di nascita: 1964 50100 Firenze Luogo di Nascita: Firenze Tel.: 345 678910 Cittadinanza: Italiana E-mail: marossi@libero.it DIARIO: Data: 22/03/2000 Commento: influenza, sintomi classici Li: 3 maggio 2002 Comm.: forte tosse, consigliato TosseVia 1000 per una settimana Data: 23/08/2002 ... DATI MEDICI: Gruppo sanguigno: B Negativo Altezza e peso: 1.65 m, 63 Kg Patologie: morbillo (1970), parotite (1971), rosolia (1973), varicella (1973) CSSN: 0608/7654321 Scheda paziente: 31 Paziente dal: 10/12/99 CSSN: 0608/7654321 Dati anagrafici: Nome: Mario Indirizzo: Cognome: Rossi Via Palestro 6 Anno di nascita: 1964 50100 Firenze Sesso: M F Tel.: 345 678910 Cittadinanza: Italiana E-mail: marossi@libero.it DATI ANAGRAFICI: Nome: Mario Indirizzo: Cognome: Rossi Via Palestro 6 Anno di nascita: 1964 50100 Firenze Luogo di Nascita: Firenze Tel.: 345 678910 Cittadinanza: Italiana E-mail: marossi@libero.it Dati medici: Gruppo sanguigno: B Negativo Altezza: 1.65 m Peso: 63 kg Patologie [nome (anno)]: morbillo (1970), parotite (1971), rosolia (1973), varicella (1973) DATI MEDICI: Gruppo sanguigno: B Negativo Altezza e peso: 1.65 m, 63 Kg Visite: Data Tipo [studio/domicilio] Esito 22/03/2000 domicilio influenza, sintomi classici 03/05/2002 studio forte tosse, consigliato DIARIO: Data: 22/03/2000 Commento: influenza, sintomi classici Li: 3 maggio 2002 Comm.: forte tosse, consigliato TosseVia 1000 per una settimana Data: 23/08/2002 ...

Problemi dello schedario: Problemi intrinseci Le operazioni Le schede sono ordinate in ordine alfabetico per cognome e nome Le operazioni di ricerca per cognome sono le più rapide Qual’è il telefono di Maria Bianchi? Le operazioni di ricerca non basate sul cognome e quelle di statistica richiedono in generale lo scorrimento di tutte le schede dell’archivio Qual’è il telefono del paziente con CSSN 0608/7654321 Quanti pazienti hanno gruppo sanguigno B Negativo?

Velocizzare le ricerche: Indici Problemi dello schedario: Problemi intrinseci Velocizzare le ricerche: Indici Qual’è il telefono del paziente con CSSN 0608/7654321? Per rendere l’operazione più rapida si può tenere aggiornato un indice cartaceo (simile all’indice analitico di un libro) in cui vengono tenuti tutti i nomi dei pazienti ordinati per CSSN Dato il CSSN 0608/7654321, tramite l’indice si può risalire rapidamente al nome Mario Rossi, cercare la scheda corrispondente nel cassetto e trovare il telefono Indice schede … 0601/1234567, Bianchi Maria 0604/9786554, Verdi Luigi 0608/7654321, Rossi Mario

Velocizzare le statistiche Problemi dello schedario: Problemi intrinseci Velocizzare le statistiche Quanti pazienti hanno gruppo sanguigno B Negativo? Per rendere efficiente l’operazione si può tenere un indice per ogni gruppo sanguigno Dall’indice relativo al gruppo B Negativo si può ricavare rapidamente il totale desiderato contandone gli elementi Indice gruppo: B Negativo … Rossi Mario Verdi Luigi Indice gruppo: A Positivo … Bianchi Maria Gialli Marta

Problemi pratici di uno schedario Problemi dello schedario: Problemi intrinseci Problemi pratici di uno schedario Dato l’ordine alfabetico delle schede, le operazioni di ricerca e statistica in base al cognome del paziente sono le uniche veramente rapide All’aumentare del numero delle schede, le operazioni di ricerca non basate sul cognome e quelle statistiche divengono molto laboriose e soggette ad errore

Problemi pratici di uno schedario Problemi dello schedario: Problemi intrinseci Problemi pratici di uno schedario Gli indici sono una possibile soluzione, ma il loro aggiornamento richiede tempo e energie Devono essere aggiornati tutti in seguito all’inserimento di ogni nuova scheda Sono spesso soggetti ad errore umano, di scrittura o copiatura Dato lo sforzo richiesto per tenere gli indici, il loro numero è piuttosto basso, quindi alcune operazioni sulle schede rimarranno sempre proibitive

Piano della lezione Problema dell’archivio dei pazienti Realizzazione di una soluzione pre-informatica: archivio cartaceo Importanza della buona progettazione Limiti della soluzione cartacea Realizzazione di una soluzione informatica: archivio elettronico Progetto di un database Confronto con la soluzione cartacea

Soluzione informatica In informatica, la gestione automatica e organizzata di grandi quantità di informazioni, è risolta adottando Sistemi per la Gestione di Basi di Dati (SGBD, in inglese DataBase Management System, DBMS)

Progettazione e realizzazione di un database Un database è una rappresentazione elettronica, della realtà di interesse: ogni fatto interessante della realtà deve essere rappresentato nel database in forma di dati elettronici La progettazione di un database è come quella di uno schedario e consiste nel definire un modello schematico della realtà

Realizzazione di un database Dato un modello della realtà Ad ogni collezione di entità nella realtà di interesse corrisponde una tabella nel database Ad ogni entità nella realtà corrisponde un record di una tabella Ad ogni attributo di un’entità corrisponde un campo del record relativo a quell’entità

Schedario e database: collezione di entità Ad un cassetto dello schedario corrisponde una tabella del database Dati anagrafici: Nome: Mario Cognome: Rossi Anno di nascita: 1964 … Dati medici: Gruppo sanguigno: B Negativo … Scheda paziente: 31 Diario: Data: 22/03/2000 Commento: influenza, sintomi classici... Visite: Data: 22/03/2000 Tipo: domicilio Esito: influenza, sintomi classici … Paziente dal: 10/12/1999 CSSN: 0608/7654321 Cassetto Pazienti

Schedario e database: entità Dati anagrafici: Nome: Mario Cognome: Rossi Anno di nascita: 1964 … Dati medici: Gruppo sanguigno: B Negativo … Scheda paziente: 31 Diario: Data: 22/03/2000 Commento: influenza, sintomi classici... Visite: Data: Tipo [studio/domicilio] Esito 22/03/2000 domicilio influenza, … Paziente dal: 10/12/1999 CSSN: 0608/7654321 Ad una scheda del cassetto corrisponde un record della tabella Cassetto Pazienti

Schedario e database: attributi Dati anagrafici: Nome: Mario Cognome: Rossi Anno di nascita: 1964 … Dati medici: Gruppo sanguigno: B Negativo … Scheda paziente: 31 Diario: Data: 22/03/2000 Commento: influenza, sintomi classici... Visite: Data: Tipo [studio/domicilio] Esito 22/03/2000 domicilio influenza, … Paziente dal: 10/12/1999 CSSN: 0608/7654321 Ad ogni informazione sulla scheda corrisponde un valore nel record Cassetto Pazienti

Schedario e database: operazioni Un DBMS offre gli strumenti per la definizione di interrogazioni (query) su un database: operazioni automatiche sui dati che corrispondono alle operazioni manuali sulle schede dello schedario

Progettazione di un archivio Abbiamo visto che è improponibile progettare un archivio sulla base del solo universo del discorso e senza l’adozione di metodologie di progettazione Un modello (es. un database) è il risultato di un processo di interpretazione, guidato dalle idee e conoscenze possedute dal soggetto che interpreta Definire un modello è un’operazione complessa (intuizione e metodo)

Metodologie Esistono metodologie di modellazione che forniscono gli strumenti e linguaggi per: individuare e rappresentare le componenti interessanti dell’universo del discorso, al fine di realizzarne un modello concettuale; per successivamente convertire il modello concettuale in un database relazionale Il modello concettuale descrive la realtà in maniera intuitiva (“poco” informatica) ed è allo stesso tempo facilmente trasformabile in un database, cioè in un modello della realtà interpretabile da un computer

Modellazione e progettazione ER Modello concettuale Organizzazione A B Mappatura in modello relazionale equivalente Soluzione anni ‘70 B A Creazione DB Database Archivio cartaceo

Linguaggio per la definizione di modelli: formalismo grafico ER Descrizione della natura della realtà in termini di classi e associazioni Il modello ER di un universo del discorso è detto schema

ER: classi e attributi Si modellano le classi, cioè collezioni di entità dalla struttura omogenea lingueParlate Persone telefono nome La classe Persone: una collezione di entità persone con proprietà lingueParlate, telefono, nome multivalore totale parziale unione strutturato Attributi

Aspetto linguistico Es. Associazioni (1:1) (1:1) associazione CorsiTenuti-TenutoDa tra Professori e Corsi: ogni professore deve tenere un corso (totale) e ogni Corso è tenuto da un professore (totale) corsoTenuto tenutoDa Professori Corsi

Aspetto linguistico Es. Associazioni (1:n) (1:n) associazione Tesista-Relatore tra Professori e Studenti: ogni professore può avere uno, nessuno o più tesisti (parziale), mentre uno studente può avere nessuno o un relatore (parziale) relatoreDi tesistaDi Professori Studenti

Aspetto linguistico Es. Associazioni (n:n) (n:n) associazione CorsiSeguiti-StudentiIscritti tra Studenti e Corsi: ogni studente segue almeno un corso (totale) e ogni corso è seguito da almeno uno studente (totale) studentiIscritti corsiSeguiti Corsi Studenti

Esempio: Segreteria dell’Univ. di Pisa Gestione degli studenti e degli esami da essi passati Le classi di entità in gioco sono Classe degli Studenti: tutti gli studenti iscritti all’università, con proprietà Nome, Matricola, Provincia, Data di nascita Classe degli Esami: tutti gli statini (prove ufficiali) reative agli esami passati dagli studenti, con proprietà Corso, Voto, Lode, Data, Candidato.

Modello concettuale esamiSuperati passatoDa Studenti Esami

Soluzione anni ’70 (1/2) Uno schedario di studenti Ad ogni studente corrispondeva una scheda con tutti i suoi dati: nome, matricola, provincia, data di nascita Uno schedario degli esami Ad ogni esame sostenuto corrispondeva uno statino: candidato, voto, lode (si/no), data, corso

Soluzione anni ’70 (2/2) Per cercare gli esami passati dagli studenti di Pisa, l’impiegato doveva: Cercare nello schedario studenti tutte le schede relative a studenti di Pisa Per ogni scheda trovata: leggere il numero di matricola Cercare nello schedario degli esami, tutti gli statini relativi al numero di matricola dello studente

Soluzione con Database Relazionale Un database relazionale Una collezione di dati elettronici che rappresentano/modellano una realtà di interesse Ad ogni collezione di entità nella realtà di interesse corrisponde una tabella nel database

Tabella Studenti Struttura tabella: Nome: Text Matricola: Number Provincia: Text(2) DataNascita: Date Campo Record 25/12/1980 PI 175649 Bonini 12/07/1978 LI 179856 Bianchi 03/10/1975 LU 167459 Rossi 01/01/1980 171523 Isaia DataNascita Provincia Matricola Nome Valore

Tabella Esami Struttura tabella: Corso: Text Candidato: Text Data: Date Voto: Number(2) Lode: Si/No Materia Candidato Data Voto Lode BD Isaia 12/01/01 28 No BD Rossi 15/01/01 30 Si FP Bianchi 13/02/01 30 No BD Bonini 15/01/01 25 No LMM Isaia 11/02/01 18 No

Struttura Tabella Una tabella è una collezione di dati caratterizzati dalla stessa struttura: Insieme di coppie (NomeCampo,TipoCampo) Un tipo qualifica quali valori possono essere inseriti in un campo e di conseguenza quali operazioni sono consentite su di esso: Nome in Studenti è un campo di tipo Text: una sequenza di caratteri di lunghezza arbitraria; due valori Text possono essere concatenati per ottenerne uno solo che li mette insieme DataNascita è un campo di tipo Date: un valore di tipo gg/mm/aaaa; un valore Date può essere passato a funzioni che ritornano l’anno, il giorno o il mese del valore.

Chiave Primaria (1/3) Definizione: se un campo di una tabella è definito come chiave primaria, non esistono due record nella tabella che hanno gli stessi valori per quel campo Uso: la chiave primaria di ogni tabella è definita da chi definisce il database, per avere modo di distinguere univocamente i record di una tabella

Chiave Primaria (2/3) Nella realtà degli studenti non esistono due studenti con la stessa matricola Nella tabella Studenti la chiave primaria dichiarata è il numero di matricola Ogni tentativo di inserire nella tabella il record di uno studente che ha lo stesso valore del campo matricola di un altro già presente nella tabella, viene impedito e causa un messaggio di errore

Chiave Primaria (3/3) Nella realtà degli Esami? Nella realtà degli Esami non possono esistere due esami con lo stesso candidato e la stessa materia: la chiave primaria dichiarata è la coppia di campi (materia, candidato) in alternativa un nuovo campo, codiceEsame: a volte può essere conveniente definire una proprietà fittizia, non presente nella realtà di interesse, che compia la funzione di chiave primaria (ad esempio quando la chiave reale è composta da troppi campi)

Chiave Esterna (1/3) Ultima nozione fondamentale è quella di Chiave Esterna di una tabella Una chiave esterna è un campo che contiene il valore di una chiave primaria: Questo mette in relazione il record che contiene un certo valore per la chiave esterna con il record, in un’altra tabella, che contiene quel valore per la chiave primaria

Chiave Esterna (2/3) Per i nostri scopi, in quale tabella dell’esempio deve essere definita una chiave esterna? Quale campo potrebbe essere chiave esterna? Nella tabella Esami Nessuno: nessun campo della tabella ha valori nella chiave primaria della tabella Studenti

Chiave Esterna (3/3) Se si definisse il campo Candidato come chiave esterna, quali problemi potremmo avere? Studenti omonimi: in una ricerca, gli esami passati da studenti diversi con lo stesso nome verrebbero associati ad entrambi gli studenti!!!

Tabella Esami corretta La tabella Esami deve essere definita come: Struttura tabella: Corso: Text Candidato: Number Data: Date Voto: Number(2) Lode: Si/No 30 13/02/01 179856 FP 18 11/02/01 171523 LMM 25 15/01/01 175649 BD 167459 28 12/01/01 Voto Data Candidato Materia 30 No 18 No 25 No 30 Si 28 No Voto Lode

Relazione tra tabelle Il campo Candidato è chiave esterna di Esami. Studenti Nome Matricola Provincia DataNascita Isaia 171523 PI 01/01/1980 Esami Corso Candidato Data Voto BD 171523 12/01/01 29 Il campo Candidato è chiave esterna di Esami. Contiene valori della chiave primaria Matricola di Studenti. Il valore di Candidato mette in relazione il relativo record con il record dello studente che ha passato l’esame.

Schema relazionale esamiSuperati passatoDa Studenti Esami Studenti Nome Candidato* Provincia Voto Studenti Esami Corso Matricola Lode DataNascita Data

Ricerca dei dati Un database relazionale consente la ricerca dei dati attraverso un particolare linguaggio di interrogazione detto SQL In SQL è possibile formulare richieste del tipo: Singola tabella: Dammi i nomi degli studenti nati prima del 1980 Dammi tutti gli esami passati prima del 12/31/2001 Tabelle multiple: Dammi tutti i nomi e i voti dei corsi che sono stati passati da studenti di Pisa Dammi il nome degli studenti e il numero di esami da essi passati tra il 2000 e il 2001

MS Access (1/2) Un Sistema per la Gestione di Basi di Dati (SGBD), altrimenti detto DataBase Management System (DBMS)

MS Access (2/2) Un insieme di strumenti per la Gestione automatica ed efficiente del database: Definizione delle tabelle (campi e tipi) e delle relazioni tra di esse Query di inserimento, cancellazione, modifica e ricerca dei record nelle tabelle Definizione di applicazioni con interfacce utente per la gestione del database Maschere e Report

Esercizio Definire un database Access che consenta la gestione delle informazioni relative agli Agenti dell’FBI. Di ogni agente interessa il nome, il codice e la data di assunzione. Ogni agente lavora per un dipartimento, il quale è caratterizzato da una specializzazione (stragi, cospirazioni, guerre, etc.). Ci interessa fare ricerche sugli agenti in base a continente, stato e indirizzo dei dipartimenti per cui lavorano; sui dipartimenti in base alle date di assunzione degli agenti; altro...

Definizione del database Creazione delle tabelle Attributi e tipi Creazione delle associazioni Integrità referenziale Cancellazione e modifica a cascata Caselle combinate Inserimento dati: rispetto dell’integrità referenziale

Definizione delle query Selezione della tabella coinvolta Selezione degli attributi coinvolti Da visualizzare Da sottoporre a vincoli (And e Or) Query a più tabelle Concetto di giunzione Una query è a tutti gli effetti una tabella I record vengono calcolati dinamicamente al momento della esecuzione Può essere utilizzata per effettuare altre query

Query: tipologie Query per la ricerca Query per il calcolo Selezione e visualizzazione di record Query per il calcolo Max, min, media, somma, etc.

Esercizio: il database Catena di agenzie immobiliari. Degli acquirenti ci interessa il nome il telefono, la città in cui intendono comprare, i mq desiderati e la cifra che sono disposti a spendere. Dei proprietari ci interessa sapere il nome, il telefono e le case in vendita. Delle case ci interessano i mq, il prezzo, l’indirizzo e i proprietari. Delle agenzie ci interessa sapere il nome, il comune, la provincia, il telefono, i clienti e i venditori. Sappiamo che: ogni venditore può riferirsi solo all’agenzia del comune in cui vende Ogni città ha una sola agenzia

Esercizio:le query Trovare il nome, il telefono e i mq di chi vende a Milano una casa per meno di 150.000 Euro Trovare il nome, il telefono e gli Euro di chi intende acquistare una casa di 80mq a Roma Trovare il prezzo medio delle case in vendita a Parma Trovare i prezzo massimo tra tutte le case in vendita a Pontedera (PI) e Empoli (FI) Trovare il nome, il comune, la privincia e il numero di telefono delle agenzie che hanno acquirenti per la provincia di Pisa Trovare tutti i nomi e i telefoni dei venditori e degli acquirenti le cui richieste in mq e Euro hanno uno scarto di 20mq e 10.000 Euro rispettivamente.

Esercizio: il database Ci interessa trattare i dati delle sale cinematografiche italiani. Di ogni cinema interessa sapere il nome, la città e le sale. Le sale sono caratterizzate da un nome, da un film in proiezione, dal prezzo del biglietto, data di inizio e di fine proiezione del film e dal numero di posti a sedere. [Dei film interessa sapere il titolo, il regista e l’anno di uscita.]