Date post: | 02-May-2015 |
Category: |
Documents |
Upload: | lodovico-scotti |
View: | 213 times |
Download: | 0 times |
1SSISSSIS
Basi di DatiBasi di DatiLa ProgettazioneLa Progettazione
2
SSISSSIS
Piano della lezionePiano della lezione
Problema dell’archivio dei pazientiProblema dell’archivio dei pazienti Realizzazione di una soluzione pre-Realizzazione di una soluzione pre-
informatica: archivio cartaceoinformatica: archivio cartaceo– Importanza della buona progettazione Importanza della buona progettazione – Limiti della soluzione cartaceaLimiti della soluzione cartacea
Realizzazione di una soluzione Realizzazione di una soluzione informatica: archivio elettronicoinformatica: archivio elettronico– Progetto di un databaseProgetto di un database– Confronto con la soluzione cartaceaConfronto con la soluzione cartacea
3
SSISSSIS
ProblemaProblema Gestione delle informazioni relative ad Gestione delle informazioni relative ad
un’un’OrganizzazioneOrganizzazione Inserimento, modifica, cancellazione ed Inserimento, modifica, cancellazione ed
elaborazione delle informazionielaborazione delle informazioni
Organizzazioneinput
esterni
richiestadi servizi e
risposta
processi interni di aggiornamento e analisi
4
SSISSSIS
Soluzione: archiviSoluzione: archivi Trovare il modo di Trovare il modo di conservareconservare e e organizzareorganizzare
le informazioni interessanti di una realtà per le informazioni interessanti di una realtà per poterle poterle recuperarerecuperare ed ed elaborareelaborare
Anni ’70: archivi cartaceiAnni ’70: archivi cartacei Oggi: archivi elettronici, databaseOggi: archivi elettronici, database Gli archivi sono un modello della parte della Gli archivi sono un modello della parte della
realtà che si ritiene interessanterealtà che si ritiene interessante
5
SSISSSIS
Il problemaIl problema
Migliorare il servizio ambulatoriale Migliorare il servizio ambulatoriale conservando e organizzando in maniera conservando e organizzando in maniera sistematica le informazioni sui pazientisistematica le informazioni sui pazienti
Dati anagraficiDati anagrafici– Preparazione rapida di ricettePreparazione rapida di ricette– Accesso alle informazioni anche in assenza del Accesso alle informazioni anche in assenza del
paziente: quanto pesa il paziente paziente: quanto pesa il paziente Mario RossiMario Rossi?? Dati medici e appunti sulle visite passateDati medici e appunti sulle visite passate
– Visite e diagnosi più accurateVisite e diagnosi più accurate– Calcolo di statistiche: quale è il peso medio dei Calcolo di statistiche: quale è il peso medio dei
pazienti?pazienti?
6
SSISSSIS
Tipologia di problemaTipologia di problema
Gestione delle informazioni relative ad Gestione delle informazioni relative ad un’organizzazioneun’organizzazione– Conservare e organizzare informazioni in modo da Conservare e organizzare informazioni in modo da
poterle recuperare, modificare e consultare in poterle recuperare, modificare e consultare in maniera efficientemaniera efficiente
Caratteristiche tipiche del problemaCaratteristiche tipiche del problema– Gestione di quantità ingenti di informazioni dalla Gestione di quantità ingenti di informazioni dalla
struttura omogenea (ad esempio, di struttura omogenea (ad esempio, di tuttitutti i pazienti i pazienti ci interessa sapere ci interessa sapere nomenome, , etàetà, , indirizzoindirizzo, , patologiepatologie, , ecc.)ecc.)
– Operazioni di ricerca di informazioni, Operazioni di ricerca di informazioni, possibilmente combinate al calcolo di statistichepossibilmente combinate al calcolo di statistiche
7
SSISSSIS
Piano della lezionePiano della lezione
Problema dell’archivio dei pazientiProblema dell’archivio dei pazienti Realizzazione di una soluzione pre-Realizzazione di una soluzione pre-
informatica: archivio cartaceoinformatica: archivio cartaceo– Importanza della buona progettazione Importanza della buona progettazione – Limiti della soluzione cartaceaLimiti della soluzione cartacea
Realizzazione di una soluzione Realizzazione di una soluzione informatica: archivio elettronicoinformatica: archivio elettronico– Progetto di un databaseProgetto di un database– Confronto con la soluzione cartaceaConfronto con la soluzione cartacea
8
SSISSSIS
Tipica soluzione pre-Tipica soluzione pre-informaticainformatica
Realizzazione di un Realizzazione di un archivio cartaceoarchivio cartaceo, ovvero , ovvero uno uno schedarioschedario con con cassetticassetti contenenti contenenti schedeschede informativeinformative
Effettuare le operazioni di ricerca e statistica Effettuare le operazioni di ricerca e statistica aprendo i cassetti dello schedario e operando aprendo i cassetti dello schedario e operando manualmente sulle schedemanualmente sulle schede
Opportune tecniche di archiviazione Opportune tecniche di archiviazione (ordinamento delle schede e indici sulle (ordinamento delle schede e indici sulle schede) possono talvolta velocizzare alcune schede) possono talvolta velocizzare alcune delle operazionidelle operazioni
9
SSISSSIS
Schedario: rappresentazione Schedario: rappresentazione della realtàdella realtà
Uno schedario è una Uno schedario è una rappresentazione rappresentazione inin carta e carta e inchiostro dei inchiostro dei fattifatti interessanti della nostra interessanti della nostra realtà realtà di interessedi interesse
La realtà di interesseLa realtà di interesse che stiamo studiando è che stiamo studiando è quella dei pazienti di un medicoquella dei pazienti di un medico
I fatti interessanti sono tutte e sole le informazioni I fatti interessanti sono tutte e sole le informazioni riguardanti la realtà dei pazienti utili a migliorare il riguardanti la realtà dei pazienti utili a migliorare il servizio ambulatorialeservizio ambulatoriale
Le informazioni rilevanti di un paziente devono Le informazioni rilevanti di un paziente devono essere essere scrittescritte in una rispettiva in una rispettiva schedascheda, contenuta , contenuta in un in un cassettocassetto dello schedario dedicato ai pazienti dello schedario dedicato ai pazienti
10
SSISSSIS
Schedario dei pazientiSchedario dei pazienti Lo schedario che costruiremo rappresenta in carta Lo schedario che costruiremo rappresenta in carta
e inchiostro la realtà di interesse dei pazientie inchiostro la realtà di interesse dei pazienti– Se la signora Se la signora Maria BianchiMaria Bianchi diventa una paziente del diventa una paziente del
medico, si deve inserire una nuova scheda nel medico, si deve inserire una nuova scheda nel cassetto, la quale riporta tutte le informazioni rilevanti cassetto, la quale riporta tutte le informazioni rilevanti riguardo la signora riguardo la signora MariaMaria
– Se il medico prevede di dover utilizzare in futuro il peso Se il medico prevede di dover utilizzare in futuro il peso del paziente del paziente Mario RossiMario Rossi, allora il peso deve essere , allora il peso deve essere scritto sulla sua schedascritto sulla sua scheda
– Se il paziente Se il paziente Mario RossiMario Rossi cambia indirizzo, il cambia indirizzo, il cambiamento deve essere riportato sulla sua schedacambiamento deve essere riportato sulla sua scheda
– Se il paziente Se il paziente Mario Rossi Mario Rossi decide di cambiare medico, decide di cambiare medico, la sua scheda deve essere eliminata dal cassettola sua scheda deve essere eliminata dal cassetto
11
SSISSSIS
Cassetto Cassetto PazientiPazientiPaziente dal 01/08/1995 CSSN:
0603/3454567
DATI ANAGRAFICI E MEDICI:Nome: Maria Bianchi Indirizzo:Anno di nascita: 1950 Via Marmolada 67Luogo di Nascita: Pisa 56126 PisaStato coniugale: sposata Tel: 347 8910111Gruppo sanguigno: A Positivo Altezza: 158 cmPeso: 56 kgMenarca: 13 anniModalità 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
Schedario pazientiSchedario pazienti
12
SSISSSIS
Paziente dal 15/11/1996 CSSN: 0604/9786554
Cassetto Cassetto PazientiPazienti
DATI ANAGRAFICI:Nome: Mario Indirizzo:Cognome: Rossi Via Palestro 6Anno di nascita: 1964 50100 FirenzeLuogo di Nascita: Firenze Tel.: 345 678910Cittadinanza: Italiana E-mail: [email protected]
DIARIO:Data: 22/03/2000 Commento: influenza, sintomi classiciLi: 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
Schedario pazientiSchedario pazienti
13
SSISSSIS
Le operazioniLe operazioni Osservazione: il medico prevede di effettuare Osservazione: il medico prevede di effettuare
molte ricerche in base al cognome del pazientemolte ricerche in base al cognome del paziente Ordiniamo le schede nel cassetto dei pazienti Ordiniamo le schede nel cassetto dei pazienti
in ordine alfabetico rispetto al cognomein ordine alfabetico rispetto al cognome Quanto pesa il paziente Mario Rossi? Quanto pesa il paziente Mario Rossi? Nel Nel
cassetto relativo ai pazienti cerchiamocassetto relativo ai pazienti cerchiamo la la sezione dedicata alla lettera sezione dedicata alla lettera RR e tra queste la e tra queste la scheda del paziente scheda del paziente RossiRossi MarioMario. .
Quindi leggiamo il peso Quindi leggiamo il peso riportato sulla schedariportato sulla scheda
Schedario pazientiSchedario pazienti
14
SSISSSIS
I problemiI problemi
Mancanza di progettazione dello Mancanza di progettazione dello schedarioschedario– Assenza parziale o totale di informazioniAssenza parziale o totale di informazioni– Eterogeneità delle informazioni sulle schedeEterogeneità delle informazioni sulle schede
Problemi intrinseci agli schedariProblemi intrinseci agli schedari– Uso del supporto cartaceo per conservare Uso del supporto cartaceo per conservare
informazioniinformazioni– Controlli di correttezza e operazioni eseguiti Controlli di correttezza e operazioni eseguiti
manualmentemanualmente
Schedario pazientiSchedario pazienti
15
SSISSSIS
Assenza Assenza parzialeparziale di informazioni di informazioni
L’operazione:L’operazione:– Quanti pazienti sono di cittadinanza Quanti pazienti sono di cittadinanza
italiana?italiana?
non può essere eseguita per assenza non può essere eseguita per assenza parziale parziale di informazionidi informazioni
Non tutte le schede riportano Non tutte le schede riportano informazioni sulla cittadinanza, quindi il informazioni sulla cittadinanza, quindi il risultato di un conteggio sarebbe falsatorisultato di un conteggio sarebbe falsato
Problemi dello schedario: Mancanza di progettazioneProblemi dello schedario: Mancanza di progettazione
16
SSISSSIS
Assenza Assenza totaletotale di informazioni di informazioni
L’operazione:L’operazione:– Quanti pazienti di sesso femminile sono Quanti pazienti di sesso femminile sono
presenti?presenti?
non può essere eseguita per assenza non può essere eseguita per assenza totale totale di informazionidi informazioni
Nessuna scheda riporta informazioni sul Nessuna scheda riporta informazioni sul sesso del pazientesesso del paziente
Problemi dello schedario: Mancanza di progettazioneProblemi dello schedario: Mancanza di progettazione
17
SSISSSIS
Assenza di omogeneitàAssenza di omogeneità
L’operazione:L’operazione:– Trovare il nome, il cognome e il CSSN del paziente più pesanteTrovare il nome, il cognome e il CSSN del paziente più pesante
per quanto intuitivamente semplice diventa estremamente per quanto intuitivamente semplice diventa estremamente tediosatediosa
ÈÈ necessario scorrere tutte le schede dell’archivio necessario scorrere tutte le schede dell’archivio Inoltre, le stesse informazioni sono riportate sulle schede Inoltre, le stesse informazioni sono riportate sulle schede
in maniera eterogenea: individuare la posizione del in maniera eterogenea: individuare la posizione del nomenome, , del del cognomecognome e e pesopeso su una scheda diviene non banale su una scheda diviene non banale
Problemi dello schedario: Mancanza di progettazioneProblemi dello schedario: Mancanza di progettazione
18
SSISSSIS
Assenza di omogeneitàAssenza di omogeneitàPaziente dal 01/08/1995 CSSN:
0603/3454567
DATI ANAGRAFICI E MEDICI:Nome: Maria Bianchi Indirizzo:Anno di nascita: 1950 Via Marmolada 67Luogo di Nascita: Pisa 56126 PisaStato coniugale: sposata Tel: 347 8910111Gruppo sanguigno: A Positivo Altezza: 158 cmPeso: 56 kgMenarca: 13 anniModalità 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
Schedario pazientiSchedario pazienti
19
SSISSSIS
Paziente dal 15/11/1996 CSSN: 0604/9786554
Assenza di omogeneitàAssenza di omogeneità
DATI ANAGRAFICI:Nome: Mario Indirizzo:Cognome: Rossi Via Palestro 6Anno di nascita: 1964 50100 FirenzeLuogo di Nascita: Firenze Tel.: 345 678910Cittadinanza: Italiana E-mail: [email protected]
DIARIO:Data: 22/03/2000 Commento: influenza, sintomi classiciLi: 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
Schedario pazientiSchedario pazienti
20
SSISSSIS
Archivio non ben progettatoArchivio non ben progettato Le informazioni riportate sulle schede non Le informazioni riportate sulle schede non
sono scelte sulla base di un’attenta analisi sono scelte sulla base di un’attenta analisi delle operazioni che si intendono effettuaredelle operazioni che si intendono effettuare– Informazioni inutili: Informazioni inutili: menarca menarca ee modalità parto modalità parto– Informazioni non sempre presenti: Informazioni non sempre presenti: e-mail, e-mail,
cittadinanza, data di inizio rapporto del pazientecittadinanza, data di inizio rapporto del paziente– Informazioni assenti: Informazioni assenti: sessosesso, , tipologia di visita tipologia di visita
(domicilio o in studio)(domicilio o in studio)
Problemi dello schedario: Mancanza di progettazioneProblemi dello schedario: Mancanza di progettazione
21
SSISSSIS
Le informazioni riportate sulle schede Le informazioni riportate sulle schede non sono strutturate non sono strutturate omogeneamenteomogeneamente– Informazioni presenti su tutte le schede ma Informazioni presenti su tutte le schede ma
esposte in maniera diversa: esposte in maniera diversa: nome e nome e cognome, altezza e peso, visite del cognome, altezza e peso, visite del paziente, patologiepaziente, patologie
Archivio non ben progettatoArchivio non ben progettatoProblemi dello schedario: Mancanza di progettazioneProblemi dello schedario: Mancanza di progettazione
22
SSISSSIS
Riepilogo conseguenzeRiepilogo conseguenze
Alcune operazioni interessanti possono divenire Alcune operazioni interessanti possono divenire molto laboriose o impossibili per l’assenza totale molto laboriose o impossibili per l’assenza totale o parziale delle informazionio parziale delle informazioni– Quanti pazienti sono di cittadinanza italiana? (Quanti pazienti sono di cittadinanza italiana? (parzialeparziale))– Da quando è mio paziente Mario Rossi? (Da quando è mio paziente Mario Rossi? (parzialeparziale))– Quando è stata fatta l’ultima visita a domicilio al Quando è stata fatta l’ultima visita a domicilio al
paziente Maria Bianchi? (paziente Maria Bianchi? (totaletotale))
Trovare un’informazione su una scheda è tediosoTrovare un’informazione su una scheda è tedioso– Ogni scheda possiede una propria interpretazione Ogni scheda possiede una propria interpretazione
delle informazioni interessanti di un pazientedelle informazioni interessanti di un paziente
Problemi dello schedario: Mancanza di progettazioneProblemi dello schedario: Mancanza di progettazione
23
SSISSSIS
Buona progettazioneBuona progettazione
MassimizzareMassimizzare la quantità e la qualità dei servizi la quantità e la qualità dei servizi per cui l’archivio si è reso necessarioper cui l’archivio si è reso necessario– Il maggior numero di operazioni necessarie al Il maggior numero di operazioni necessarie al
medico devono essere eseguibili nel minor tempo medico devono essere eseguibili nel minor tempo possibilepossibile
MinimizzareMinimizzare il numero di modifiche in corso il numero di modifiche in corso d’opera allo schedario necessarie a introdurre d’opera allo schedario necessarie a introdurre o migliorare i servizi di cui soprao migliorare i servizi di cui sopra– ÈÈ costoso in termini di tempo (o impossibile) costoso in termini di tempo (o impossibile)
operare modifiche sui cassetti o sulle schede operare modifiche sui cassetti o sulle schede contenute in uno schedario avviatocontenute in uno schedario avviato
24
SSISSSIS
Progettare e realizzareProgettare e realizzare
La La progettazioneprogettazione di uno schedario si di uno schedario si basa su un’attenta analisi della basa su un’attenta analisi della realtà di realtà di interesse interesse che si conclude con la che si conclude con la definizione di un definizione di un modellomodello schematico schematico della realtà stessadella realtà stessa
La La realizzazionerealizzazione di un schedario si basa di un schedario si basa fedelmente su questo modello della fedelmente su questo modello della realtàrealtà
Buona progettazioneBuona progettazione
25
SSISSSIS
Il modelloIl modello Un modello è una rappresentazione Un modello è una rappresentazione
schematica dei schematica dei fattifatti interessanti della interessanti della realtà di realtà di interesse interesse in termini di in termini di entitàentità, , attributi delle attributi delle entitàentità e e collezioni di entitàcollezioni di entità – Un Un pazientepaziente è un fatto interessante della nostra è un fatto interessante della nostra
realtà di tipo entitàrealtà di tipo entità – nomenome e e pesopeso dei pazienti sono fatti interessanti di dei pazienti sono fatti interessanti di
tipo attributo delle entità (fatti che tipo attributo delle entità (fatti che contraddistinguono un’entità)contraddistinguono un’entità)
– l’l’insiemeinsieme dei pazientidei pazienti è un fatto interessante di tipo è un fatto interessante di tipo collezione di entità,collezione di entità, cioè un insieme di entità che cioè un insieme di entità che hanno gli stessi attributihanno gli stessi attributi
Buona progettazioneBuona progettazione
26
SSISSSIS
Operazioni e fatti Operazioni e fatti
I fatti interessanti di una realtà si I fatti interessanti di una realtà si identificano a partire dalle operazioni identificano a partire dalle operazioni che si intendono effettuareche si intendono effettuare
Nella realtà dei pazienti è necessario Nella realtà dei pazienti è necessario effettuare ricerche e statistiche su effettuare ricerche e statistiche su informazioni relative ai pazientiinformazioni relative ai pazienti
Buona progettazione: Il modelloBuona progettazione: Il modello
27
SSISSSIS
Modello della realtà dei pazientiModello della realtà dei pazienti
Visto il tipo di operazioni richieste, un modello Visto il tipo di operazioni richieste, un modello ragionevole della nostra realtà potrebbe ragionevole della nostra realtà potrebbe essere:essere:– Una sola collezione Una sola collezione PazientiPazienti in cui ogni entità è un in cui ogni entità è un
paziente con i seguenti attributipaziente con i seguenti attributi» data di inserimento nello schedariodata di inserimento nello schedario» CSSNCSSN» nomenome» cognomecognome» anno di nascitaanno di nascita» luogo di nascitaluogo di nascita» cittadinanzacittadinanza» indirizzoindirizzo
» telefonotelefono
» e-maile-mail
» gruppo sanguignogruppo sanguigno
» altezzaaltezza
» pesopeso
» sessosesso
» patologie (anno)patologie (anno)
» visite: data, tipo, esitovisite: data, tipo, esito
Buona progettazione: Il modelloBuona progettazione: Il modello
28
SSISSSIS
Dal modello allo schedarioDal modello allo schedario Ad ogni entità nel modello è associata una Ad ogni entità nel modello è associata una schedascheda
nello schedarionello schedario– Una scheda per ogni pazienteUna scheda per ogni paziente
Ogni attributo di un’entità è rappresentato da Ogni attributo di un’entità è rappresentato da un’un’informazioneinformazione sulla rispettiva scheda, nella sulla rispettiva scheda, nella forma:forma:– Nome attributo: valore attributoNome attributo: valore attributo– Ad esempio,Ad esempio, Peso: 56 Kg Peso: 56 Kg
Ad ogni collezione di entità nel modello è Ad ogni collezione di entità nel modello è associato un associato un cassettocassetto dello schedario, quindi tutte dello schedario, quindi tutte le schede relative alle entità di una collezione le schede relative alle entità di una collezione sono contenute nello stesso cassettosono contenute nello stesso cassetto
Buona progettazione: RealizzazioneBuona progettazione: Realizzazione
29
SSISSSIS
IdentitàIdentità Supponiamo di avere 2 pazienti di nome Supponiamo di avere 2 pazienti di nome Mario Mario
Rossi,Rossi, come potremmo eseguire l’operazione come potremmo eseguire l’operazionetrovare il peso di Mario Rossitrovare il peso di Mario Rossi? ?
troveremmo due schede nello schedario, a troveremmo due schede nello schedario, a quale dovremmo riferirci per trovare la risposta?quale dovremmo riferirci per trovare la risposta?
Ogni entità nella realtà possiede Ogni entità nella realtà possiede un’identitàun’identità propria che la distingue da tutte le altre entitàpropria che la distingue da tutte le altre entità– i due pazienti i due pazienti Mario RossiMario Rossi seduti nel vostro studio seduti nel vostro studio
sono distinti dalla propria identità di persone: voi sono distinti dalla propria identità di persone: voi scegliereste a quale dei due chiedere il pesoscegliereste a quale dei due chiedere il peso
Buona progettazione: Il modelloBuona progettazione: Il modello
30
SSISSSIS
Identità nello schedarioIdentità nello schedario
Problema tipico di ogni rappresentazione di una Problema tipico di ogni rappresentazione di una realtà: rappresentare l’identità delle entitàrealtà: rappresentare l’identità delle entità
Esempi noti di rappresentazioni di identità:Esempi noti di rappresentazioni di identità:– CSSN (realtà sanitaria)CSSN (realtà sanitaria)– Codice Fiscale (realtà dello stato italiano)Codice Fiscale (realtà dello stato italiano)
Nello schedario dei pazienti potremmo quindi Nello schedario dei pazienti potremmo quindi sfruttare l’unicità del codice CSSN per distinguere sfruttare l’unicità del codice CSSN per distinguere univocamente le nostre schedeunivocamente le nostre schede
In questo modo potremmo definire operazioni non In questo modo potremmo definire operazioni non ambigue del tipo: ambigue del tipo:
trovare il peso del paziente Mario Rossi con CSSN trovare il peso del paziente Mario Rossi con CSSN 0608/76543210608/7654321
Buona progettazione: Il modelloBuona progettazione: Il modello
31
SSISSSIS
Identità con chiave mutaIdentità con chiave muta
Buona regola di progettazione:Buona regola di progettazione:Per rappresentare l’identità è bene introdurre per Per rappresentare l’identità è bene introdurre per ogni cassetto un codice unico, detto ogni cassetto un codice unico, detto chiave mutachiave muta
Tale codice è detto Tale codice è detto chiave muta chiave muta (o (o anonimaanonima) ) perché non rappresenta nessun fatto della perché non rappresenta nessun fatto della realtà modellata, ma è introdotto con l’unico realtà modellata, ma è introdotto con l’unico scopo di rappresentare l’identitàscopo di rappresentare l’identità
Tipicamente i valori della chiave muta sono Tipicamente i valori della chiave muta sono numeri interi progressivinumeri interi progressivi– Nel nostro schedario introdurremo come chiave Nel nostro schedario introdurremo come chiave
muta il codice della schedamuta il codice della scheda pazientepaziente, , un numero un numero intero progressivo associato ad ogni schedaintero progressivo associato ad ogni scheda
Buona progettazione: Il modelloBuona progettazione: Il modello
32
SSISSSIS
Struttura omogenea delle schedeStruttura omogenea delle schedeBuona progettazione: Il modelloBuona progettazione: Il modello
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:
Patologie [nome (anno)]:
Per garantire l’omogeneitPer garantire l’omogeneitàà dello schedario si definisce dello schedario si definisce un fac-simile della generica scheda paziente. Questo un fac-simile della generica scheda paziente. Questo guida il guida il medico nel medico nel corretto corretto inserimento di inserimento di informazioniinformazioni
M F
33
SSISSSIS
Struttura omogenea delle schedeStruttura omogenea delle schedeBuona progettazione: Il modelloBuona progettazione: Il modello
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:
Patologie [nome (anno)]:
Per garantire l’omogeneitPer garantire l’omogeneitàà dello schedario si definisce un dello schedario si definisce un fac-simile della generica scheda paziente. Questo guida fac-simile della generica scheda paziente. Questo guida il il medico nel medico nel corretto corretto inserimento di inserimento di informazioniinformazioni
M F
Unità di misura uguali per tutte le
schede
Tracce per la compilazione uniforme delle informazioni
34
SSISSSIS
Struttura omogenea delle schedeStruttura omogenea delle schede
DATI ANAGRAFICI:Nome: Mario Indirizzo:Cognome: Rossi Via Palestro 6Anno di nascita: 1964 50100 FirenzeLuogo di Nascita: Firenze Tel.: 345 678910Cittadinanza: Italiana E-mail: [email protected]
DIARIO:Data: 22/03/2000 Commento: influenza, sintomi classiciLi: 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/7654321Scheda paziente: 31 Paziente dal: 10/12/99 CSSN: 0608/7654321Dati anagrafici:
Nome: Mario Indirizzo:
Cognome: Rossi Via Palestro 6Anno di nascita: 1964 50100 FirenzeSesso: Tel.: 345 678910Cittadinanza: Italiana E-mail: [email protected]
M F
Dati medici:
Gruppo sanguigno: B NegativoAltezza: 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 classici03/05/2002 studio forte tosse, consigliato
TosseVia 1000 per una sett...
Buona progettazione: Il modelloBuona progettazione: Il modello
36
SSISSSIS
Struttura omogenea delle schedeStruttura omogenea delle schedeBuona progettazione: Il modelloBuona progettazione: Il modello
DATI ANAGRAFICI E MEDICI:Nome: Maria Bianchi Indirizzo:Anno di nascita: 1950 Via Marmolada 67Luogo di Nascita: Pisa 56126 PisaStato coniugale: sposata Tel: 347 8910111Gruppo sanguigno: A Positivo Altezza: 158 cmPeso: 56 kgMenarca: 13 anniModalità 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
DATI ANAGRAFICI:Nome: Mario Indirizzo:Cognome: Rossi
Via Palestro 6Anno di nascita: 1964
50100 FirenzeLuogo di Nascita: Firenze Tel.: 345 678910Cittadinanza: Italiana
E-mail: [email protected]
DIARIO:Data: 22/03/2000 Commento: influenza, sintomi classiciLi: 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: 12
Visite:
Data Tipo [studio/domicilio] Esito
02/04/2000 domicilio influenza, tachipirina14/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 8910111Cittadinanza: Italiana E-mail: -
Dati medici:
Gruppo sanguigno: A PositivoAltezza: 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 6Anno di nascita: 1964
50100 FirenzeLuogo di Nascita: Firenze Tel.: 345 678910Cittadinanza: Italiana
E-mail: [email protected] MEDICI:
Gruppo sanguigno: B Negativo
Altezza e peso: 1.65 m, 63 Kg
Scheda paziente: 31
Dati anagrafici:
Nome: Mario Indirizzo:
Cognome: Rossi Via Palestro 6Anno di nascita: 1964 50100 FirenzeSesso: M F Tel.: 345 678910Cittadinanza: Italiana E-mail: [email protected]
Dati medici:
Gruppo sanguigno: B NegativoAltezza: 1.65 m
Peso: 63 kg
Patologie [nome (anno)]:
morbillo (1970), parotite (1971), rosolia (1973), varicella (1973)
Paziente dal: 10/12/99 CSSN: 0608/7654321
DIARIO:Data: 22/03/2000 Commento: influenza, sintomi classiciLi: 3 maggio 2002 Comm.: forte tosse, consigliato TosseVia 1000 per una settimana Data: 23/08/2002 ...
Visite:
Data Tipo [studio/domicilio] Esito
22/03/2000 domicilio influenza, sintomi classici03/05/2002 studio forte tosse, consigliato
37
SSISSSIS
Le operazioniLe operazioni Le schede sono ordinate in ordine alfabetico per Le schede sono ordinate in ordine alfabetico per
cognome e nomecognome e nome Le operazioni di ricerca per cognome sono le Le operazioni di ricerca per cognome sono le
più rapidepiù rapide– Qual’è il telefono di Qual’è il telefono di Maria BianchiMaria Bianchi??
Le operazioni di ricerca non basate sul cognome Le operazioni di ricerca non basate sul cognome e quelle di statistica richiedono in generale lo e quelle di statistica richiedono in generale lo scorrimento di tutte le schede dell’archivioscorrimento di tutte le schede dell’archivio– Qual’è il telefono del paziente con Qual’è il telefono del paziente con CSSNCSSN
0608/76543210608/7654321– Quanti pazienti hanno gruppo sanguigno Quanti pazienti hanno gruppo sanguigno B B
Negativo?Negativo?
Problemi dello schedario: Problemi intrinseciProblemi dello schedario: Problemi intrinseci
38
SSISSSIS
Velocizzare le ricerche: IndiciVelocizzare le ricerche: Indici Qual’è il telefono del paziente conQual’è il telefono del paziente con CSSN 0608/7654321 CSSN 0608/7654321??
– Per rendere l’operazione più rapida si può tenere aggiornato un indice 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 cartaceo (simile all’indice analitico di un libro) in cui vengono tenuti tutti i nomi dei pazienti ordinati per CSSNnomi dei pazienti ordinati per CSSN
– Dato il Dato il CSSN 0608/7654321CSSN 0608/7654321, tramite l’indice si può risalire rapidamente al , tramite l’indice si può risalire rapidamente al nome Mario Rossi, cercare la scheda corrispondente nel cassetto e nome Mario Rossi, cercare la scheda corrispondente nel cassetto e trovare il telefonotrovare il telefono
Indice schede…0601/1234567, Bianchi Maria0604/9786554, Verdi Luigi0608/7654321, Rossi Mario…
Problemi dello schedario: Problemi intrinseciProblemi dello schedario: Problemi intrinseci
39
SSISSSIS
Velocizzare le statisticheVelocizzare le statistiche
Quanti pazienti hanno gruppo sanguigno Quanti pazienti hanno gruppo sanguigno B NegativoB Negativo??– Per rendere efficiente l’operazione si può tenere un indice Per rendere efficiente l’operazione si può tenere un indice
per ogni gruppo sanguignoper ogni gruppo sanguigno
– Dall’indice relativo al gruppo B Negativo si può ricavare Dall’indice relativo al gruppo B Negativo si può ricavare rapidamente il totale desiderato contandone gli elementirapidamente il totale desiderato contandone gli elementi
–
Indice gruppo: B Negativo…Rossi MarioVerdi Luigi…
Indice gruppo: A Positivo…Bianchi MariaGialli Marta…
Problemi dello schedario: Problemi intrinseciProblemi dello schedario: Problemi intrinseci
40
SSISSSIS
Problemi pratici di uno schedarioProblemi pratici di uno schedario
Dato l’ordine alfabetico delle schede, le Dato l’ordine alfabetico delle schede, le operazioni di ricerca e statistica in base al operazioni di ricerca e statistica in base al cognome del paziente sono le uniche cognome del paziente sono le uniche veramente rapideveramente rapide
All’aumentare del numero delle schede, le All’aumentare del numero delle schede, le operazioni di ricerca non basate sul cognome operazioni di ricerca non basate sul cognome e quelle statistiche divengono molto laboriose e quelle statistiche divengono molto laboriose e soggette ad erroree soggette ad errore
Problemi dello schedario: Problemi intrinseciProblemi dello schedario: Problemi intrinseci
41
SSISSSIS
Problemi pratici di uno schedarioProblemi pratici di uno schedario Gli indici sono una possibile soluzione, ma il loro aggiornamento richiede Gli indici sono una possibile soluzione, ma il loro aggiornamento richiede
tempo e energietempo e energie Devono essere aggiornati tutti in seguito all’inserimento di ogni nuova schedaDevono essere aggiornati tutti in seguito all’inserimento di ogni nuova scheda Sono spesso soggetti ad errore umano, di scrittura o copiaturaSono spesso soggetti ad errore umano, di scrittura o copiatura Dato lo sforzo richiesto per tenere gli indici, il loro numero è piuttosto basso, Dato lo sforzo richiesto per tenere gli indici, il loro numero è piuttosto basso,
quindi alcune operazioni sulle schede rimarranno sempre proibitivequindi alcune operazioni sulle schede rimarranno sempre proibitive
Problemi dello schedario: Problemi intrinseciProblemi dello schedario: Problemi intrinseci
42
SSISSSIS
Piano della lezionePiano della lezione
Problema dell’archivio dei pazientiProblema dell’archivio dei pazienti Realizzazione di una soluzione pre-Realizzazione di una soluzione pre-
informatica: archivio cartaceoinformatica: archivio cartaceo– Importanza della buona progettazione Importanza della buona progettazione – Limiti della soluzione cartaceaLimiti della soluzione cartacea
Realizzazione di una soluzione Realizzazione di una soluzione informatica: archivio elettronicoinformatica: archivio elettronico– Progetto di un databaseProgetto di un database– Confronto con la soluzione cartaceaConfronto con la soluzione cartacea
43
SSISSSIS
Soluzione informaticaSoluzione informatica
In informatica, la gestione automatica e In informatica, la gestione automatica e organizzata di grandi quantità di organizzata di grandi quantità di informazioni, è risolta adottando informazioni, è risolta adottando Sistemi Sistemi per la Gestione di Basi di Datiper la Gestione di Basi di Dati (SGBD, (SGBD, in inglese in inglese DataBase Management DataBase Management SystemSystem, DBMS), DBMS)
44
SSISSSIS
Progettazione e realizzazione Progettazione e realizzazione di un databasedi un database
Un database è una Un database è una rappresentazione rappresentazione elettronicaelettronica, della , della realtà di interesse: realtà di interesse: ogni fatto interessante della realtà deve ogni fatto interessante della realtà deve essere rappresentato nel database in essere rappresentato nel database in forma di forma di dati elettronicidati elettronici
La progettazione di un database è come La progettazione di un database è come quella di uno schedario e consiste nel quella di uno schedario e consiste nel definire un modello schematico della definire un modello schematico della realtàrealtà
45
SSISSSIS
Realizzazione di un databaseRealizzazione di un database
Dato un modello della realtàDato un modello della realtà– Ad ogni Ad ogni collezione di entitàcollezione di entità nella realtà di nella realtà di
interesse corrisponde una interesse corrisponde una tabella tabella nel nel databasedatabase
– Ad ogni Ad ogni entitàentità nella realtà corrisponde un nella realtà corrisponde un recordrecord di una tabella di una tabella
– Ad ogni Ad ogni attributoattributo di un’entità corrisponde di un’entità corrisponde un un campocampo del record relativo a quell’entità del record relativo a quell’entità
46
SSISSSIS
Schedario e database:Schedario e database:collezione di entitàcollezione di entità
Dati anagrafici:Nome: MarioCognome: RossiAnno 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
Ad un cassetto dello Ad un cassetto dello schedario corrisponde schedario corrisponde una tabella del una tabella del databasedatabase
47
SSISSSIS
Schedario e database: entitàSchedario e database: entitàDati anagrafici:Nome: MarioCognome: RossiAnno 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
Cassetto Pazienti
Ad una scheda del Ad una scheda del
cassetto cassetto corrisponde un corrisponde un record della tabellarecord della tabella
48
SSISSSIS
Schedario e database: attributiSchedario e database: attributi Ad ogni informazione Ad ogni informazione
sulla scheda sulla scheda corrisponde corrisponde un valore nel record un valore nel record
Dati anagrafici:Nome: MarioCognome: RossiAnno 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
Cassetto Pazienti
49
SSISSSIS
Schedario e database: Schedario e database: operazionioperazioni
Un DBMS offre gli strumenti per la Un DBMS offre gli strumenti per la definizione di definizione di interrogazioniinterrogazioni ( (queryquery) su ) su un database: operazioni automatiche un database: operazioni automatiche sui dati che corrispondono alle sui dati che corrispondono alle operazioni manuali sulle schede dello operazioni manuali sulle schede dello schedarioschedario
50
SSISSSIS
Progettazione di un archivioProgettazione di un archivio Abbiamo visto che è improponibile progettare un Abbiamo visto che è improponibile progettare un
archivio sulla base del solo universo del discorso e archivio sulla base del solo universo del discorso e
senza l’adozione di senza l’adozione di metodologie di progettazionemetodologie di progettazione Un modello (es. un database) è il risultato di un Un modello (es. un database) è il risultato di un
processo di interpretazione, guidato dalle idee e processo di interpretazione, guidato dalle idee e
conoscenze possedute dal soggetto che interpretaconoscenze possedute dal soggetto che interpreta Definire un modello è un’operazione complessa Definire un modello è un’operazione complessa
(intuizione e metodo)(intuizione e metodo)
51
SSISSSIS
MetodologieMetodologie Esistono metodologie di modellazione che forniscono gli Esistono metodologie di modellazione che forniscono gli
strumenti e strumenti e linguaggilinguaggi per: per:– individuare e rappresentare le componenti interessanti individuare e rappresentare le componenti interessanti
dell’universo del discorso, al fine di realizzarne un dell’universo del discorso, al fine di realizzarne un modello concettualemodello concettuale;;
– per successivamente convertire il modello concettuale per successivamente convertire il modello concettuale in un database relazionalein un database relazionale
Il modello concettuale descrive la realtà in maniera Il modello concettuale descrive la realtà in maniera intuitiva (“poco” informatica) ed è allo stesso tempo intuitiva (“poco” informatica) ed è allo stesso tempo facilmente trasformabile in un database, cioè in un facilmente trasformabile in un database, cioè in un modello della realtà interpretabile da un computermodello della realtà interpretabile da un computer
52
SSISSSIS
Modellazione e progettazioneModellazione e progettazione
Organizzazione A B
BA
DatabaseArchiviocartaceo
ERModello
concettuale
Mappatura in modello
relazionale equivalente
Creazione DB
Soluzione anni ‘70
53
SSISSSIS
Linguaggio per la definizioneLinguaggio per la definizionedi modelli: formalismo grafico ERdi modelli: formalismo grafico ER
Descrizione della natura della realtà in Descrizione della natura della realtà in termini di classi e associazionitermini di classi e associazioni
Il modello ER di un universo del Il modello ER di un universo del discorso è detto discorso è detto schemaschema
54
SSISSSIS
ER: classi e attributiER: classi e attributi
nome
telefono
lingueParlate
multivalore
totale
parziale unione
strutturato
Attributi
Persone
Si modellano le classi, cioè collezioni di entità dalla struttura omogenea
La classe Persone: una collezione di entità persone con proprietà lingueParlate, telefono, nome
55
SSISSSIS
Es. Associazioni (1:1)Es. Associazioni (1:1)
(1:1) associazione (1:1) associazione CorsiTenuti-TenutoDaCorsiTenuti-TenutoDa tra tra Professori e Corsi: ogni professore deve tenere Professori e Corsi: ogni professore deve tenere unun corso (totale) e ogni Corso è tenuto da corso (totale) e ogni Corso è tenuto da unun professore (totale)professore (totale)
Professori Corsi
corsoTenuto tenutoDa
Aspetto linguisticoAspetto linguistico
56
SSISSSIS
Es. Associazioni (1:n)Es. Associazioni (1:n)
(1:n) associazione (1:n) associazione Tesista-RelatoreTesista-Relatore tra Professori e tra Professori e Studenti: ogni professore può avere Studenti: ogni professore può avere uno, nessuno o piùuno, nessuno o più tesisti (parziale), mentre uno studente può avere tesisti (parziale), mentre uno studente può avere nessuno nessuno o uno un relatore (parziale) relatore (parziale)
Professori Studenti
relatoreDi tesistaDi
Aspetto linguisticoAspetto linguistico
57
SSISSSIS
Es. Associazioni (n:n)Es. Associazioni (n:n)
(n:n) associazione (n:n) associazione CorsiSeguiti-StudentiIscrittiCorsiSeguiti-StudentiIscritti tra tra Studenti e Corsi: ogni studente segue Studenti e Corsi: ogni studente segue almeno unalmeno un corso (totale) e ogni corso è seguito da corso (totale) e ogni corso è seguito da almeno almeno unouno studente (totale) studente (totale)
Aspetto linguisticoAspetto linguistico
Corsi Studenti
studentiIscritti corsiSeguiti
58
SSISSSIS
Esempio:Esempio:Segreteria dell’Univ. di PisaSegreteria dell’Univ. di Pisa
Gestione degli studenti e degli esami da essi Gestione degli studenti e degli esami da essi passatipassati
Le classi di entità in gioco sonoLe classi di entità in gioco sono– Classe degli Classe degli StudentiStudenti: tutti gli studenti iscritti : tutti gli studenti iscritti
all’università, con proprietà all’università, con proprietà NomeNome, , MatricolaMatricola, , ProvinciaProvincia, , Data di nascita Data di nascita
– Classe degli Classe degli EsamiEsami: tutti gli statini (prove ufficiali) : tutti gli statini (prove ufficiali) reative agli esami passati dagli studenti, con reative agli esami passati dagli studenti, con proprietà proprietà CorsoCorso, , VotoVoto, , LodeLode, , Data, CandidatoData, Candidato..
59
SSISSSIS
Modello concettualeModello concettuale
Esami
esamiSuperati passatoDa
Studenti
60
SSISSSIS
Soluzione anni ’70 Soluzione anni ’70 (1/2)(1/2)
Uno schedario di studentiUno schedario di studenti– Ad ogni studente corrispondeva una Ad ogni studente corrispondeva una
schedascheda con tutti i suoi dati: con tutti i suoi dati: » nome, matricola, provincia, data di nascitanome, matricola, provincia, data di nascita
Uno schedario degli esamiUno schedario degli esami– Ad ogni esame sostenuto corrispondeva Ad ogni esame sostenuto corrispondeva
uno uno statinostatino: : » candidato, voto, lode (si/no), data, corsocandidato, voto, lode (si/no), data, corso
61
SSISSSIS
Soluzione anni ’70 Soluzione anni ’70 (2/2)(2/2)
Per cercare gli esami passati dagli Per cercare gli esami passati dagli studenti di Pisa, l’impiegato doveva:studenti di Pisa, l’impiegato doveva:– Cercare nello schedario studenti tutte le Cercare nello schedario studenti tutte le
schede relative a studenti di Pisaschede relative a studenti di Pisa– Per ogni scheda trovata:Per ogni scheda trovata:
» leggere il numero di matricolaleggere il numero di matricola» Cercare nello schedario degli esami, tutti gli Cercare nello schedario degli esami, tutti gli
statini relativi al numero di matricola dello statini relativi al numero di matricola dello studentestudente
62
SSISSSIS
Soluzione con Database RelazionaleSoluzione con Database Relazionale
Un database relazionale Un database relazionale – Una collezione di dati elettronici che Una collezione di dati elettronici che
rappresentano/modellano una rappresentano/modellano una realtà di interesserealtà di interesse– Ad ogni collezione di entità nella realtà di interesse Ad ogni collezione di entità nella realtà di interesse
corrisponde una corrisponde una tabella tabella nel databasenel database
63
SSISSSIS
Tabella StudentiTabella Studenti
25/12/198025/12/1980PIPI175649175649BoniniBonini
12/07/197812/07/1978LILI179856179856BianchiBianchi
03/10/197503/10/1975LULU167459167459RossiRossi
01/01/198001/01/1980PIPI171523171523IsaiaIsaia
DataNascitaDataNascitaProvinciaProvinciaMatricolaMatricolaNomeNomeRecord
Campo
Valore
Struttura tabella:Nome: TextMatricola: NumberProvincia: Text(2)DataNascita: Date
64
SSISSSIS
Tabella EsamiTabella Esami
Struttura tabella:Corso: TextCandidato: TextData: DateVoto: Number(2)Lode: Si/No
30 No30 No13/02/0113/02/01BianchiBianchiFPFP
18 No18 No11/02/0111/02/01IsaiaIsaiaLMMLMM
25 No25 No15/01/0115/01/01BoniniBoniniBDBD
30 Si30 Si15/01/0115/01/01RossiRossiBDBD
28 No28 No12/01/0112/01/01IsaiaIsaiaBDBD
Voto LodeVoto LodeDataDataCandidatoCandidatoMateriaMateria
65
SSISSSIS
Struttura TabellaStruttura Tabella
Una tabella è una collezione di dati caratterizzati dalla Una tabella è una collezione di dati caratterizzati dalla stessa struttura:stessa struttura:– Insieme di coppie (Insieme di coppie (NomeCampo,TipoCampoNomeCampo,TipoCampo))– Un tipo qualifica quali valori possono essere inseriti Un tipo qualifica quali valori possono essere inseriti
in un campo e di conseguenza quali operazioni sono in un campo e di conseguenza quali operazioni sono consentite su di esso:consentite su di esso:
» NomeNome in in Studenti Studenti è un campo di tipo è un campo di tipo TextText: una sequenza di : una sequenza di caratteri di lunghezza arbitraria; due valori Text possono caratteri di lunghezza arbitraria; due valori Text possono essere concatenati per ottenerne uno solo che li mette essere concatenati per ottenerne uno solo che li mette insiemeinsieme
» DataNascitaDataNascita è un campo di tipo è un campo di tipo DateDate: un valore di tipo : un valore di tipo gg/mm/aaaa; gg/mm/aaaa; un valore Date può essere passato a funzioni un valore Date può essere passato a funzioni che ritornano l’anno, il giorno o il mese del valore.che ritornano l’anno, il giorno o il mese del valore.
66
SSISSSIS
Chiave Primaria Chiave Primaria (1/3)(1/3)
DefinizioneDefinizione: se un campo di una tabella è : se un campo di una tabella è definito come definito come chiave primariachiave primaria, non esistono due , non esistono due record nella tabella che hanno gli stessi valori record nella tabella che hanno gli stessi valori per quel campoper quel campo
UsoUso: la : la chiavechiave primariaprimaria di ogni tabella è definita di ogni tabella è definita da chi definisce il database, per avere modo di da chi definisce il database, per avere modo di distinguere univocamente i record di una tabella distinguere univocamente i record di una tabella
67
SSISSSIS
Chiave Primaria Chiave Primaria (2/3)(2/3)
Nella realtà degli studenti non esistono due Nella realtà degli studenti non esistono due studenti con la stessa matricolastudenti con la stessa matricola– Nella tabella Studenti la chiave primaria dichiarata è il numero Nella tabella Studenti la chiave primaria dichiarata è il numero
di matricoladi matricola– Ogni tentativo di inserire nella tabella il record di uno studente Ogni tentativo di inserire nella tabella il record di uno studente
che ha lo stesso valore del campo matricola di un altro già che ha lo stesso valore del campo matricola di un altro già presente nella tabella, viene impedito e causa un messaggio di presente nella tabella, viene impedito e causa un messaggio di erroreerrore
68
SSISSSIS
Chiave Primaria Chiave Primaria (3/3)(3/3) Nella realtà degli Esami?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)
69
SSISSSIS
Chiave Esterna Chiave Esterna (1/3)(1/3) Ultima nozione fondamentale è quella di Ultima nozione fondamentale è quella di
Chiave EsternaChiave Esterna di una tabella di una tabella Una chiave esterna è un campo che contiene Una chiave esterna è un campo che contiene
il valore di una chiave primaria:il valore di una chiave primaria:– Questo mette in relazione il record che contiene Questo mette in relazione il record che contiene
un certo valore per la chiave esterna con il record, un certo valore per la chiave esterna con il record, in un’altra tabella, che contiene quel valore per la in un’altra tabella, che contiene quel valore per la chiave primariachiave primaria
70
SSISSSIS
Chiave Esterna Chiave Esterna (2/3)(2/3) Per i nostri scopi, in quale tabella dell’esempio deve Per i nostri scopi, in quale tabella dell’esempio deve
essere definita una chiave esterna?essere definita una chiave esterna?
Quale campo potrebbe essere chiave esterna?Quale campo potrebbe essere chiave esterna?
Nella tabella Esami
Nessuno: nessun campo della tabella ha valori nella chiave primaria della tabella Studenti
71
SSISSSIS
Chiave Esterna Chiave Esterna (3/3)(3/3)
Se si definisse il campo Se si definisse il campo Candidato Candidato comecome chiave esterna, quali problemi chiave esterna, quali problemi potremmo avere?potremmo avere?
Studenti omonimi: in una ricerca, gli esami passati da studenti diversi con lo stesso nome verrebbero associati ad entrambi gli studenti!!!
72
SSISSSIS
Tabella Esami correttaTabella Esami corretta
Struttura tabella:Corso: TextCandidato: NumberData: DateVoto: Number(2)Lode: Si/No
La tabella Esami deve essere definita come:
303013/02/0113/02/01179856179856FPFP
181811/02/0111/02/01171523171523LMMLMM
252515/01/0115/01/01175649175649BDBD
303015/01/0115/01/01167459167459BDBD
282812/01/0112/01/01171523171523BDBD
VotoVotoDataDataCandidatoCandidatoMateriaMateria
30 No30 No
18 No18 No
25 No25 No
30 Si30 Si
28 No28 No
Voto LodeVoto Lode
73
SSISSSIS
Relazione tra tabelleRelazione tra tabelle
NomeNome MatricolaMatricola ProvinciaProvincia DataNascitaDataNascita
IsaiaIsaia 171523171523 PIPI 01/01/198001/01/1980
CorsoCorso CandidatoCandidato DataData VotoVoto
BDBD 171523171523 12/01/0112/01/01 2929
Studenti
Esami
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.
74
SSISSSIS
Schema relazionaleSchema relazionale
EsamiStudenti
Data
VotoCandidato*
LodeCorso
DataNascita
ProvinciaNome
Matricola
Esami
esamiSuperati passatoDa
Studenti
75
SSISSSIS
Ricerca dei datiRicerca dei dati Un database relazionale consente la ricerca dei Un database relazionale consente la ricerca dei
dati attraverso un particolare linguaggio di dati attraverso un particolare linguaggio di interrogazione detto SQLinterrogazione detto SQL
In SQL è possibile formulare richieste del tipo:In SQL è possibile formulare richieste del tipo:– Singola tabella:Singola tabella:
» Dammi i nomi degli studenti nati prima del 1980Dammi i nomi degli studenti nati prima del 1980» Dammi tutti gli esami passati prima del 12/31/2001Dammi tutti gli esami passati prima del 12/31/2001
– Tabelle multiple:Tabelle multiple:» Dammi tutti i nomi e i voti dei corsi che sono stati passati da Dammi tutti i nomi e i voti dei corsi che sono stati passati da
studenti di Pisastudenti di Pisa» Dammi il nome degli studenti e il numero di esami da essi Dammi il nome degli studenti e il numero di esami da essi
passati tra il 2000 e il 2001passati tra il 2000 e il 2001
76
SSISSSIS
MS Access MS Access (1/2)(1/2)
Un Sistema per la Gestione di Basi di Un Sistema per la Gestione di Basi di Dati (SGBD), altrimenti detto DataBase Dati (SGBD), altrimenti detto DataBase Management System (DBMS)Management System (DBMS)
77
SSISSSIS
MS Access MS Access (2/2)(2/2) Un insieme di strumenti per laUn insieme di strumenti per la
– Gestione automatica ed efficiente del database:Gestione automatica ed efficiente del database:» Definizione delle Definizione delle tabelletabelle (campi e tipi) e delle relazioni tra (campi e tipi) e delle relazioni tra
di essedi esse» QueryQuery di inserimento, cancellazione, modifica e ricerca di inserimento, cancellazione, modifica e ricerca
dei record nelle tabelledei record nelle tabelle
Definizione di applicazioni con interfacce Definizione di applicazioni con interfacce utente per la gestione del databaseutente per la gestione del database– Maschere e ReportMaschere e Report
78
SSISSSIS
EsercizioEsercizio Definire un database Access che consenta la Definire un database Access che consenta la
gestione delle informazioni relative agli Agenti gestione delle informazioni relative agli Agenti dell’FBI. Di ogni agente interessa il nome, il codice e dell’FBI. Di ogni agente interessa il nome, il codice e la data di assunzione. Ogni agente lavora per un la data di assunzione. Ogni agente lavora per un dipartimento, il quale è caratterizzato da una dipartimento, il quale è caratterizzato da una specializzazione (stragi, cospirazioni, guerre, etc.). Ci specializzazione (stragi, cospirazioni, guerre, etc.). Ci interessa fare ricercheinteressa fare ricerche– sugli agenti in base a continente, stato e indirizzo dei sugli agenti in base a continente, stato e indirizzo dei
dipartimenti per cui lavorano;dipartimenti per cui lavorano;– sui dipartimenti in base alle date di assunzione degli agenti;sui dipartimenti in base alle date di assunzione degli agenti;– altro...altro...
79
SSISSSIS
Definizione del databaseDefinizione del database Creazione delle tabelleCreazione delle tabelle
– Attributi e tipiAttributi e tipi Creazione delle associazioniCreazione delle associazioni
– Integrità referenzialeIntegrità referenziale– Cancellazione e modifica a cascataCancellazione e modifica a cascata– Caselle combinateCaselle combinate
Inserimento dati: rispetto dell’integrità Inserimento dati: rispetto dell’integrità referenzialereferenziale
80
SSISSSIS
Definizione delle queryDefinizione delle query Selezione della tabella coinvoltaSelezione della tabella coinvolta Selezione degli attributi coinvoltiSelezione degli attributi coinvolti
– Da visualizzareDa visualizzare– Da sottoporre a vincoli (And e Or)Da sottoporre a vincoli (And e Or)
Query a più tabelleQuery a più tabelle– Concetto di Concetto di giunzionegiunzione
Una query è a tutti gli effetti una tabellaUna query è a tutti gli effetti una tabella– I record vengono calcolati dinamicamente al momento della I record vengono calcolati dinamicamente al momento della
esecuzioneesecuzione– Può essere utilizzata per effettuare altre queryPuò essere utilizzata per effettuare altre query
81
SSISSSIS
Query: tipologieQuery: tipologie Query per la ricercaQuery per la ricerca
– Selezione e visualizzazione di recordSelezione e visualizzazione di record Query per il calcoloQuery per il calcolo
– Max, min, media, somma, etc.Max, min, media, somma, etc.
82
SSISSSIS
Esercizio: il databaseEsercizio: il database Catena di agenzie immobiliari. Degli acquirenti ci Catena di agenzie immobiliari. Degli acquirenti ci
interessa il nome il telefono, la città in cui intendono interessa il nome il telefono, la città in cui intendono comprare, i mq desiderati e la cifra che sono disposti comprare, i mq desiderati e la cifra che sono disposti a spendere. Dei proprietari ci interessa sapere il a spendere. Dei proprietari ci interessa sapere il nome, il telefono e le case in vendita. Delle case ci nome, il telefono e le case in vendita. Delle case ci interessano i mq, il prezzo, l’indirizzo e i proprietari. interessano i mq, il prezzo, l’indirizzo e i proprietari. Delle agenzie ci interessa sapere il nome, il comune, Delle agenzie ci interessa sapere il nome, il comune, la provincia, il telefono, i clienti e i venditori.la provincia, il telefono, i clienti e i venditori.
Sappiamo che: Sappiamo che: – ogni venditore può riferirsi solo all’agenzia del comune in cui ogni venditore può riferirsi solo all’agenzia del comune in cui
vendevende– Ogni città ha una sola agenziaOgni città ha una sola agenzia
83
SSISSSIS
Esercizio:le queryEsercizio:le query Trovare il nome, il telefono e i mq di chi vende a Milano una Trovare il nome, il telefono e i mq di chi vende a Milano una
casa per meno di 150.000 Eurocasa per meno di 150.000 Euro Trovare il nome, il telefono e gli Euro di chi intende acquistare Trovare il nome, il telefono e gli Euro di chi intende acquistare
una casa di 80mq a Romauna casa di 80mq a Roma Trovare il prezzo medio delle case in vendita a ParmaTrovare il prezzo medio delle case in vendita a Parma Trovare i prezzo massimo tra tutte le case in vendita a Trovare i prezzo massimo tra tutte le case in vendita a
Pontedera (PI) e Empoli (FI)Pontedera (PI) e Empoli (FI) Trovare il nome, il comune, la privincia e il numero di telefono Trovare il nome, il comune, la privincia e il numero di telefono
delle agenzie che hanno acquirenti per la provincia di Pisadelle agenzie che hanno acquirenti per la provincia di Pisa Trovare tutti i nomi e i telefoni dei venditori e degli acquirenti le 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 cui richieste in mq e Euro hanno uno scarto di 20mq e 10.000 Euro rispettivamente.Euro rispettivamente.
84
SSISSSIS
Esercizio: il databaseEsercizio: il database Ci interessa trattare i dati delle sale Ci interessa trattare i dati delle sale
cinematografiche italiani. cinematografiche italiani. – Di ogni cinema interessa sapere il nome, la città e Di ogni cinema interessa sapere il nome, la città e
le sale.le sale.– Le sale sono caratterizzate da un nome, da un film Le sale sono caratterizzate da un nome, da un film
in proiezione, dal prezzo del biglietto, data di inizio in proiezione, dal prezzo del biglietto, data di inizio e di fine proiezione del film e dal numero di posti a e di fine proiezione del film e dal numero di posti a sedere.sedere.
– [Dei film interessa sapere il titolo, il regista e l’anno [Dei film interessa sapere il titolo, il regista e l’anno di uscita.]di uscita.]