medicina, tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/maxicorsoii... ·...
TRANSCRIPT
![Page 1: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/1.jpg)
1
Medicina, Tecnologia e dati
Informazioni e dati:
E‘ necessario interpretare i dati, ottenere delle
informazioni per poter pilotare strumenti
tecnologici
![Page 2: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/2.jpg)
2
Sistema informativo: motivazioni
Ogni attività (individuale o organizzazioni di grandi dimensioni) ha bisogno della disponibilità di informazioni
In una prima fase si individuano le informazioni utili, che vongono catalogate, classificate ed eventualmente accorpate (e.g. pazienti, patologie, reparti…)
![Page 3: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/3.jpg)
3
Sistema informativo
Componente (sottosistema) di una organizzazione (es. L‘ospedale) che gestisce (acquisisce, elabora, conserva, produce) le informazioni di interesse (per esempio le cartelle dei pazienti)
![Page 4: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/4.jpg)
4
Sistema informativo, commenti
• Ogni Sistema informativo è di supporto ad altri sottosistemi, e va quindi studiato nel contesto in cui è inserito
• Esempi di sistemi informativi di supporto a:• Gestione dei pazienti (nome, cognome,
degenza…)• Gestione delle risorse (camere, posti letto..)• Gestione del personale (medici, infermieri…• (new) Gestione delle cartelle cliniche
![Page 5: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/5.jpg)
5
Sistemi informativi e automazione
• Il concetto di “sistema informativo” è indipendente da qualsiasi automatizzazione: • esistono organizzazioni la cui ragion
d’essere è la gestione di informazioni (e.g. servizi anagrafici e banche) e che operano da secoli
![Page 6: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/6.jpg)
6
Sistema informativo vs Informatico
• I sistemi informativi possono essere automatizzati oppure no• E.g. archivi cartacei o archivi elettronici
• Noi siamo prinicipalmente interessati alla loro automazione
![Page 7: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/7.jpg)
7
Sistema Informatico
• Porzione automatizzata del sistema informativo:
la parte del sistema informativo che gestisce informazioni con tecnologia informatica
![Page 8: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/8.jpg)
8
Gestione delle informazioni
• Raccolta, acquisizione
• Archiviazione, conservazione
• Elaborazione, trasformazione, produzione
• Distribuzione, comunicazione, scambio
![Page 9: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/9.jpg)
9
Informazioni e dati
• Nei sistemi informatici (e non solo), le informazioni vengono rappresentate in modo essenziale attraverso i dati
![Page 10: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/10.jpg)
10
Informazioni e dati
(def. dal Vocabolario della lingua italiana)
informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere.
dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati
![Page 11: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/11.jpg)
11
Dati e informazioni
• Un esempio: Dr Rossi 328275456 due dati senza molto significato
• Se viene fornito in risposta alla domanda “A chi mi devo rivolgere per un RX? Qual è il suo numero di telefono?”, allora i dati forniscono informazione
![Page 12: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/12.jpg)
12
Base di dati
• (definizione generica) collezione di dati utilizzati per rappresentare le informazioni di interesse per un sistema informativo
• (definizione più tecnica) collezione di dati gestita da un Sistema di gestione di basi di dati (SGBD)
![Page 13: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/13.jpg)
13
Sistema di gestione di basi di dati (SGBD)DataBase Management System (DBMS)
• Sistema che gestisce collezioni di dati: • grandi (large)• persistenti (persistent)• condivise (shared)
garantendo • privatezza • affidabilità • Efficienza (la gestione dei dati ottimale al costo minimo) • Efficacia (rendere produttivo l‘uso delle informazioni)
Base di Dati: collezione di dati gestita da un
Sistema di gestione di basi di dati (SGBD)
![Page 14: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/14.jpg)
14
Le basi di dati sono ... grandi
• dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati
• il limite deve essere solo quello fisico dei dispositivi
![Page 15: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/15.jpg)
15
Le basi di dati sono ... persistenti
• hanno un tempo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano. Sono archivi permanenti
•Se non correttamente gestiti e memorizzati, vanno perduti
![Page 16: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/16.jpg)
16
Le basi di dati sono ... condivise
• Esempio: • Ogni reparto può essere diviso in sottoreparti con
diverse attività • Ciascun reparto ha un (sotto) sistema informativo
(un database) che gestisce informazioni proprie del reparto ed informazioni comuni ad altri reparti (esempio: recapiti telefonici)
• Porzioni di informazioni possono essere condivise e usate da diversi reparti (risultati da esami clinici)
![Page 17: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/17.jpg)
17
DBMS
• Prodotti software (complessi) disponibili sul mercato; esempi:• Access• DB2• Oracle• Informix• Sybase• SQLServer
![Page 18: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/18.jpg)
18
DBMS dedicati
• Prodotti in cui una interfaccia grafica user-friendly per la classe medica, è installata su un database per la gestione di dati medici e clinici.
• Esempio:HealthWare software per la gestione di
cartelle
![Page 19: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/19.jpg)
19
Un esempio di gestione automatica delle informazioni paziente
• Un esempio commerciale: HealthWare (http://www.healthware.com)
• Database per la gestione delle cartellle cliniche per reparto e gestione delle
• Patologie• Diagnosi• Analisi (biochimiche e radiologiche)
![Page 20: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/20.jpg)
20
![Page 21: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/21.jpg)
21
![Page 22: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/22.jpg)
22
![Page 23: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/23.jpg)
23
![Page 24: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/24.jpg)
24
![Page 25: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/25.jpg)
25
Le basi di dati sono condivise
• Una base di dati e' una risorsa integrata, condivisa fra applicazioni
• conseguenze• Attivita' diverse su dati condivisi:
• meccanismi di autorizzazione
• Accessi di più utenti ai dati condivisi:• controllo della concorrenza
![Page 26: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/26.jpg)
26
I DBMS garantiscono ... privacy• Si possono definire meccanismi di autorizzazione
• Il Dr Rossi è autorizzato a leggere tutti i dati e a modificare la cartella clinica
(ma non i dati personali) • L‘infermiere Bianchi è autorizzato a leggere i dati
della cartella clinica ma non può effettuare modifiche
Riservatezza dei dati di un paziente: solo il personale medico può accedere alla cartella (il caso francese: nemmeno i pazienti possono accedervi)
![Page 27: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/27.jpg)
27
I DBMS garantiscono... affidabilità
• Affidabilità (per le basi di dati):• resistenza a malfunzionamenti
hardware e software
• Una base di dati è una risorsa pregiata e quindi deve essere conservata a lungo termine
• Tecnica fondamentale: • gestione delle transazioni
![Page 28: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/28.jpg)
28
Archivi e basi di dati
Gestione
Pazienti lab.Archivio 2:laboratorio
Gestione pazienti RX
Archivio 1:radiologia
![Page 29: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/29.jpg)
29
Problemi:
• Ridondanza: • informazioni ripetute
• Rischio di incoerenza: • I dati ripetuti possono essere inesatti in uno dei
due archivi (non coincidere)
![Page 30: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/30.jpg)
30
Archivi e basi di dati
Base di dati
Gestione
Pazienti lab.
Gestione pazienti RX
![Page 31: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/31.jpg)
31
Base di dati
• Come sono gestite le informazioni nella base dati?
• Come raggruppa o cataloga le informazioni un database?
• È necessario uno standard (un modello) per organizzare i dati, indipendentemente da come sono memorizzati in memoria
![Page 32: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/32.jpg)
32
Due tipi (principali) di modelli
• modelli logici • Per la rappresentazione dei dati
(relazionale)
• modelli concettuali• Per il disegno della base di dati
(entity relation, entità associazione)
![Page 33: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/33.jpg)
33
Modello dei dati
• Insieme di costrutti utilizzati per organizzare i dati, e descriverne la struttura in modo non ambiguo
• Esempio: il modello relazionale prevede il costrutto relazione, che permette di definire insiemi di record omogenei
• I dati sono organizzati in tabelle (relazioni)
![Page 34: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/34.jpg)
34
Il modello relazionale
• Proposto da E. F. Codd nel 1970 per favorire l’indipendenza dei dati
• Disponibile in DBMS reali nel 1981 (non è facile implementare l’indipendenza con efficienza e affidabilità!)
• Si basa sul concetto matematico di relazione (con una variante)
• Le relazioni hanno naturale rappresentazione per mezzo di tabelle.
![Page 35: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/35.jpg)
35
Cod Cogn. Nome
A102 Necchi Luca
B372 Rossini Piero
B543 Missoni Nadia
B444 Missoni Luigi
S55 Rossetti Gino
Pazienti
Organizzazione dei dati in relazione (tabella)
![Page 36: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/36.jpg)
36
Organizzazione dei dati in relazione
Orario
Insegnamento Docente Aula Ora
Analisi matem. I Luigi Neri N1 8:00
Basi di dati Piero Rossi N2 9:45
Chimica Nicola Mori N1 9:45
Fisica I Mario Bruni N1 11:45
Fisica II Mario Bruni N3 9:45
Sistemi inform. Piero Rossi N3 8:00
![Page 37: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/37.jpg)
37
Esempio di una BD: Relazioni (Tabelle)
Cod Cogn. Nome
A102 Necchi Luca
B372 Rossini Piero
B543 Missoni Nadia
B444 Missoni Luigi
S55 Rossetti Gino
Paziente Inizio Fine Reparto
A102 2/05/94 9/05/94 A
A102 2/12/94 2/01/95 A
S555 5/10/94 3/12/94 B
B444 1/12/94 2/0195 B
S555 5/10/94 1/11/94 A
Matr Cogn Nome Reparto
203 Neri Piero A
574 Bisi Mario B
Pazienti Ricoveri
MediciCod Nome Primario
A Chirurgia 203
B Pediatria 574
C Medicina 530
Reparti
![Page 38: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/38.jpg)
38
Tabelle: rappresentazione di relazioni
DOCENZA Corso Docente Aula Databases Smith DS3 Systems Black N3 Networks Brown N3 Theory Brown G
AULE Codice Stabile Piano DS1 Ex-OMI Ground N3 Ex-OMI Ground G Science Third
![Page 39: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/39.jpg)
39
Schema e istanza
• In ogni base di dati esistono:• lo schema, che ne descrive la struttura
(aspetto intensionale). Es..: le intestazioni delle tabelle
• l’istanza, i valori attuali, che possono cambiare (aspetto estensionale) E.s.: il “corpo” di ciascuna tabella
![Page 40: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/40.jpg)
40
Schema di una relazione
Nome della relazione + lista dei suoi attributi
Es. Docenza (Corso, Docente, Aula)Aule (Codice, Stabile, Piano)
Gli attributi sono le intestazioni delle colonne e danno un significato semantico ai dati
Es. Pazienti(Cod. Cognome, Nome) Ricoveri(…)
![Page 41: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/41.jpg)
41
Istanza di relazione
La tabella con un insieme di ennuple (tuple)
Cod Cogn. Nome
A102 Necchi Luca
B372 Rossini Piero
B543 Missoni Nadia
B444 Missoni Luigi
S55 Rossetti Gino
Pazienti
![Page 42: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/42.jpg)
42
Una sua instanza
Lo schema di una relazioneOrario
Insegnamento Docente Aula Ora
Analisi matem. I Luigi Neri N1 8:00
Basi di dati Piero Rossi N2 9:45
Chimica Nicola Mori N1 9:45
Fisica I Mario Bruni N1 11:45
Fisica II Mario Bruni N3 9:45
Sistemi inform. Piero Rossi N3 8:00
Basi di dati: schema e istanza esempio
![Page 43: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/43.jpg)
43
Relazione: tre accezioni
• relazione matematica: come nella teoria degli insiemi
• relazione (dall’inglese relationship) che rappresenta una classe di fatti, nel modello Entity-Relationship; tradotto anche con associazione o correlazione
• relazione secondo il modello relazionale dei dati
![Page 44: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/44.jpg)
44
Relazioni nel modello di dati relazionale
• Vogliamo delle strutture non posizionali• Associamo un nome (attributo) a ciascuna colonna:
descrive il ruolo del dominio.• Nella rappresentazione Tabellare, i nomi di attributi
sono usati come intestazione di colonne
La struttura è non posizionale!
Matr Cogn Nome Reparto
203 Neri Piero A
574 Bisi Mario B
![Page 45: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/45.jpg)
45
Tabelle e relazioni
• Una tabella rappresenta una relazione se• le intestazioni delle colonne sono diverse tra
loro • i valori di ogni colonna sono fra loro omogenei • le righe sono diverse fra loro
• In una tabella che rappresenta una relazione• l’ordinamento tra le righe è irrilevante• l’ordinamento tra le colonne è irrilevante
![Page 46: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/46.jpg)
46
Struttura non posizionale
3200
1021
JuveLazioJuve
Roma
LazioMilanRomaMilan
RetiCasa RetiFuoriSquadraDiCasa SquadraOspite
La stessa informazione con una relazione a struttura differente(righe e colonne invertite)
120…
302…
LazioRomaMilan
…
JuveJuveLazio
…
RetiFuori RetiCasaSquadraOspitata SquadraDiCase
![Page 47: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/47.jpg)
47
Definizione: tupla
• Una tupla (ennupla) su un insieme di attributi A è una funzione t che associa a ciascun attributo Ai in A un valore del
dominio di Di
• t[Ai] denota il valore della tupla t sull'attributo Ai
e.g.: A = {SquadraDiCasa, SquadraOspite, RetiCasa, RetiOspite}
t = (Juventus, Lazio, 3, 1)
t[RetiCasa] = 3
• La stessa notazione è usata su nsiemi di attributi:
t[SquadraDiCasa, SquadraOspite]
tupla su due attributi
![Page 48: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/48.jpg)
48
Esempio
Schema di base di dati dell‘Università:
BD: (Studenti, Esami, Corsi)
Studenti (Matricola, Cognome, Nome, DataDiNascita)
Esami ( Studente, Voto, Corso)
Corsi ( Codice, Titolo, Docente )
![Page 49: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/49.jpg)
49
Matricola Cognome Nome Data di nascita6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976
3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979
studenti
Codice Titolo Docente01 Analisi Mario02 Chimica Bruni04 Chimica Verdi
corsi
Studente Voto Corso3456 30 043456 24 029283 28 01
esami
6554 26 01
Esempio: istanza
![Page 50: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/50.jpg)
50
Esempio
Schema di base di dati di un azienda:
S: (IndirizziPers, Impiegati, Dipartimenti, Direzioni)
IndirizziPers (CodF, Ind, Cap, Citta)
Impiegati (CodF, Nome, Dipartimento, Stipendio )
Dipartimenti ( Num, NomeDip, Indirizzo, Citta)
Direzioni (CodF_Direttore, NumDipartimento)
![Page 51: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/51.jpg)
51
Esempio: istanza IndirizziPers CodF Ind Cap Citta
vgnrtp via roma 32 87100 Cosenza
prnstd via pio X 250 88100 Catanzaro
vgtmmh 5 rue stYves 75014 Parigi
… .. … …
Impiegati CodF Nome Dipartimento Stipendio
vgnrtp Rossi P. 763IT 1000
vgtmmh De Marco 763FR 500
… .. … …
Dipartimenti Num NomeDip Indirizzo Citta
763IT Info T. Campanella Catanzaro
…. …. …. …
Direzioni CodFDirettore NumDipartimento
vgtmnh 763IT …. ….
![Page 52: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/52.jpg)
52
Informazione incompleta: motivazioni
Franklin RooseveltDelano
Nome CognomeSecondoNome
Winston Churchill
Charles De Gaulle
Josip Stalin
![Page 53: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/53.jpg)
53
Nome Cogn HIV test ….
Pippo Pluto Neg
Toto Tutu
Titi Tata
Pazienti
![Page 54: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/54.jpg)
54
Informazione incompleta: soluzioni?
• non conviene (anche se spesso si fa) usare valori del dominio (0, stringa nulla, “99”, ...):
• potrebbero non esistere valori “non utilizzati” • valori “non utilizzati” potrebbero diventare
significativi • in fase di utilizzo (nei programmi) sarebbe
necessario ogni volta tener conto del “significato” di questi valori
![Page 55: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/55.jpg)
55
Informazione incompleta nel modello relazionale
• Tecnica rudimentale ma efficace:• valore nullo: denota l’assenza di un valore del dominio
(e non è un valore del dominio)
• t[A], per ogni attributo A, è un valore del dominio dom(A) oppure il valore nullo NULL
• Si possono (e debbono) imporre restrizioni sulla presenza di valori nulli
![Page 56: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/56.jpg)
56
Matricola Cognome Nome Data di nascita6554 Rossi Mario 05/12/1978
NULL Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979
studenti
Codice Titolo Docente01 Analisi Mario02 NULL NULL04 Chimica Verdi
corsi
Studente Voto CorsoNULL 30 NULLNULL 24 029283 28 01
esami
Troppi valori nulli
![Page 57: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/57.jpg)
57
Tipi di valore nullo
• (almeno) tre casi differenti• valore sconosciuto • valore inesistente • valore senza informazione
• I DBMS non distinguono i tipi di valore nullo
![Page 58: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/58.jpg)
58
Vincoli di integrità
• Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano informazioni possibili per l’applicazione di interesse
![Page 59: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/59.jpg)
59
Una base di dati "scorretta"
Studente Voto Lode Corso32 01276545
276545 30 e lode 02787643 27 e lode 03739430 24 04
Esami
Matricola276545787643787643
CognomeRossiNeri
Bianchi
NomeMarioPieroLuca
Studenti
787643787643
32
27 e lode739430
![Page 60: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/60.jpg)
60
Vincolo di integrità
• Proprietà che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette per l’applicazione
• Un vincolo è una funzione booleana (un predicato):associa ad ogni istanza il valore vero o falso
![Page 61: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/61.jpg)
61
• descrizione più accurata della realtà • contributo alla “qualità dei dati” • utili nella progettazione (vedremo)• usati dai DBMS nella esecuzione delle
interrogazioni
Vincoli di integrità, perché?
![Page 62: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/62.jpg)
62
Vincoli sulle tuple
• Esprime una condizione sul valore in una tupla indipendentemente dalle altre
Esprimibile con espressioni booleane:
(NOT(Lode = "e lode")) OR (Voto= 30)
• Vincolo di dominio: un vincolo di tupla che involve un singolo attributo
Voto ≥ 18 AND Voto ≤ 30
• Vincolo di tupla con espressione
Netto = Lordo - Ritenute
![Page 63: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/63.jpg)
63
Identificazione delle tuple
• non ci sono due tuple con lo stesso valore sull’attributo Matricola
• non ci sono due tuple uguali su tutti e tre gli attributi Cognome, Nome e Nascita
Matricola276557876365432
NomeMario
PieroMario87654
67653
Mario
CognomeRossi
NeriNeri
Rossi
Rossi Piero
CorsoIng Inf
Ing MeccIng Inf
Ing Inf
Ing Mecc
Nascita5/12/78
10/7/793/11/76
3/11/76
5/12/78
Studenti
![Page 64: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/64.jpg)
64
Chiave (Key) di una relazione
• insieme di attributi che identificano le tuple di una relazione
Formalmente:
• un insieme K di attributi è superchiave (superkey) per r se r non contiene due tuple distinte t1 e t2 con t1[K] = t2[K]
• K è chiave per r se è una superchiave minimale per r (cioè non contiene un’altra superchiave)
![Page 65: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/65.jpg)
65
Una chiave
• Matricola è una chiave:• è superchiave• contiene un solo attributo e quindi è minimale
Matricola276557876365432
NomeMario
PieroMario87654
67653
Mario
CognomeRossi
NeriNeri
Rossi
Rossi Piero
CorsoIng Inf
Ing MeccIng Inf
Ing Civile
Ing Mecc
Nascita5/12/78
10/7/793/11/76
3/11/76
5/12/78
Studenti
![Page 66: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/66.jpg)
66
• Cognome, Nome, Nascita è un’altra chiave:• è superchiave
Matricola276557876365432
Nome
PieroMario87654
67653
Cognome
NeriNeri
MarioMario
RossiRossi
Rossi Piero
CorsoIng Inf
Ing MeccIng Inf
Ing Civile
Ing Mecc
Nascita5/12/78
10/7/793/11/76
3/11/76
5/12/78
Un'altra chiaveStudenti
• Non ci sono tuple uguali su Cognome e Corso: • Cognome e Corso formano una chiave per questa
relazione. Sono chiavi per lo schema? NO!
![Page 67: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/67.jpg)
67
Vincoli, schemi e istanze
• i vincoli corrispondono a proprietà del mondo reale modellato dalla base di dati
• interessano a livello di schema (con riferimento cioè a tutte le istanze)
• ad uno schema associamo un insieme di vincoli e consideriamo corrette (valide, ammissibili) le istanze che soddisfano tutti i vincoli
• un'istanza può soddisfare altri vincoli (“per caso”)
![Page 68: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/68.jpg)
68
• È corretta: soddisfa i vincoli
• Ne soddisfa anche altri ("per caso"):• Cognome, Corso è chiave
Matricola276557876365432
NomeMario
PieroMario87654
67653
Mario
CognomeRossi
NeriNeri
Rossi
Rossi Piero
CorsoIng Inf
Ing MeccIng Inf
Ing Civile
Ing Mecc
Nascita5/12/78
10/7/793/11/76
3/11/76
5/12/78
Studenti
![Page 69: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/69.jpg)
69
Esistenza delle chiavi
• Le relazioni sono insiemi; ogni relazione è composta di tuple distinte. Per cui: una relazione ha almeno una superchiave:
• l’insieme degli attributi su cui è definita
![Page 70: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/70.jpg)
70
Importanza delle chiavi
• l’esistenza delle chiavi garantisce che ogni parte della base dati è accessibile.
• le chiavi permettono di correlare i dati in relazioni diverse.
![Page 71: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/71.jpg)
71
Chiavi e valori nulli
• Se le chiavi ammettono valori nulli:• Non garantiscono unicità alle tuple• Non permettono di realizzare corrispondenze
tra tuple in relazioni diverse
Matricola Cognome Nome Corso NascitaNull Null Mario IngInf 5/12/78
7863 Rossi Piero IngInf 30/4/75
Null Rossi Paolo IngCiv Null
Come accediamo a prima e terza tupla?
Prima e terza tupla sono distinte?
![Page 72: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/72.jpg)
72
Chiave Primaria (Primary key)
• La presenza di valori nulli nelle chiavi deve essere limitata
• Soluzione: una chiave primaria (primary key) non ammette valori nulli
• Notazione: la chiave primaria è sottolineata
• Referenze tra le relazioni sono realizzate usando le primary keys
![Page 73: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/73.jpg)
73
Chiave primaria
• Chiave su cui non sono ammessi nulli
• Notazione: sottolineatura
Matricola
78763
65432
Nome
Piero
Mario87654
43289
Mario
Cognome
Neri
Neri
Rossi
Neri Mario
Corso
Ing Mecc
Ing Inf
Ing Civile
NULL
Nascita
86765 MarioNULL Ing Inf 5/12/78
10/7/79
NULL
3/11/76
5/12/78
![Page 74: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/74.jpg)
74
Chiavi primarie: ci sono sempre?
• Nella maggior parte dei casi, si: codice fiscale, numero di previdenza sociale, …
• In altri casi non sono presenti• Introduciamo attributi (unici) nelle tabelle
• La maggior parte dei codici (chiavi) presenti nella gestione delle informazioni (codice fiscale, matricola…) furono introdotti con lo stesso scopo: identificare univocamente gli oggetti.
![Page 75: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/75.jpg)
75
• informazioni in relazioni diverse sono correlate attraverso valori comuni
• in particolare, valori delle chiavi (primarie)
• le correlazioni debbono essere "coerenti"
Il modello è basato su valori (integrità referenziale)
![Page 76: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/76.jpg)
76
Esempio di una BD: Relazioni (Tabelle)
Cod Cogn. Nome
A102 Necchi Luca
B372 Rossini Piero
B543 Missoni Nadia
B444 Missoni Luigi
S55 Rossetti Gino
Paziente Inizio Fine Reparto
A102 2/05/94 9/05/94 A
A102 2/12/94 2/01/95 A
S555 5/10/94 3/12/94 B
B444 1/12/94 2/0195 B
S555 5/10/94 1/11/94 A
Matr Cogn Nome Reparto
203 Neri Piero A
574 Bisi Mario B
Pazienti Ricoveri
MediciCod Nome Primario
A Chirurgia 203
B Pediatria 574
C Medicina 530
Reparti
![Page 77: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/77.jpg)
77
Matricola
3987
3295
9345
Vigili Cognome
Rossi
Neri
Neri
Nome
Luca
Piero
Mario
Mori Gino7543
InfrazioniCodice
34321
73321
64521
53524
Data
1/2/95
4/3/95
5/4/96
5/2/98
Vigile
3987
3295
3295
9345
Prov Numero
MI
TO
PR
PR
39548K
E39548
839548
839548
3295
3295
3987
3987
9345
3987
9345
9345
3295
3295
3295
![Page 78: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/78.jpg)
78
Auto Prov Numero
MI
TO
PR
39548K
E39548
839548
Cognome
Rossi
Rossi
Neri
Nome
Mario
Mario
Luca
InfrazioniCodice
34321
73321
64521
53524
Data
1/2/95
4/3/95
5/4/96
5/2/98
Vigile
3987
3295
3295
9345
Prov Numero
MI
TO
PR
PR
39548K
E39548
839548
839548
MI
TO
PR
PR
39548K
E39548
839548
839548
MI
TO
PR
39548K
E39548
839548
![Page 79: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/79.jpg)
79
Un vincolo di integrità referenziale (“foreign key”) fra gli attributi X di una relazione R1 e un’altra relazione R2 impone ai valori su X in R1 di comparire come valori della chiave primaria di R2
e.g.: vincoli di integrità referenziale fra: • l’attributo Vigile della relazione INFRAZIONI e la relazione
VIGILI • gli attributi Prov e Numero di INFRAZIONI e la relazione
AUTO
Vincolo di integrità referenziale
![Page 80: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/80.jpg)
80
InfrazioniCodice34321
733216452153524
Data1/2/954/3/955/4/965/2/98
Vigile3987329532959345
Prov NumeroMITOPRPR
39548KE39548839548839548
Auto Prov NumeroMITOPR
E39548F34268839548
CognomeRossiRossiNeri
NomeMarioMarioLuca
TO E39548
TOE39548
Violazione di vincolo di integrità referenziale
![Page 81: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/81.jpg)
81
Eliminazione in cascata
Impiegati Matricola34321
6452153524
CognomeRossiNeriVerdi
ProgettoIDEAXYZNULL
73032 Bianchi IDEA
Progetti CodiceIDEA
BOHXYZ
Inizio01/200007/200109/2001
Durata362424
Costo200120150
XYZ 07/2001 24 120XYZ 07/2001 24 120XYZ 07/2001 24 120
53524 Neri XYZ
![Page 82: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/82.jpg)
82
Linguaggi per basi di dati
data definition language (DDL)
per la definizione di schemi (logici, esterni, fisici) e altre operazioni generali
data manipulation language (DML)
per l’interrogazione e l’aggiornamento di (istanze di) basi di dati
![Page 83: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/83.jpg)
83
SQL, un linguaggio interattivo
• "Trovare i corsi tenuti in aule a piano terra"
Nome PianoEdificio
OMIDS1 Terra
PincherleG Primo
OMIN3 Terra
Aule
RossiBasi di dati DS3
BruniReti N3
NeriSistemi N3
BruniControlli G
Corsi
AulaDocenteCorso
![Page 84: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/84.jpg)
84
SQL, un linguaggio interattivo
SELECT Corso, Aula, PianoFROM Aule, CorsiWHERE Nome = AulaAND Piano = "Terra"
Corso Aula
Reti N3
Sistemi N3
Piano
Terra
Terra
![Page 85: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/85.jpg)
85
Interazione non testuale (Access)
![Page 86: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/86.jpg)
86
Corso AulaDocente
VeltriBasi di dati DS3
MuracaAutomatica N3
FuduliAnalisi Prob N3
BruniEconomia G
Corsi
Nome PianoEdificio
OMIDS1 Terra
PincherleG Primo
OMIN3 Terra
Aule
CorsiSedi Corso Aula
Reti N3
Automatica N3
Controlli G
PianoEdificio
OMI Terra
Pincherle Primo
OMI Terra
Base di dati relazionale: un esempio
![Page 87: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/87.jpg)
87
Progettazione concettuale
E’ di supporto per l’organizzazione delle informazioni, utile per la progettazione di un database (i.e., la definizione dell’insieme di relazioni per la base dati)
![Page 88: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/88.jpg)
88
Una base dati presentata in modo differente
![Page 89: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/89.jpg)
89
Analisi dei requisiti
• Raccolta delle informazioni che dovranno essere poi gestite dal database.
Es. Gestione dei posti letto di un reparto.
Pazienti con nome cognome e dati anagrafici. Ogni paziente occupa un letto in una stanza. Ogni stanza ha un numero, è ubicata ad un piano ed è sotto la responsabilità di uno o più persone (medico o paramedico). ….
![Page 90: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/90.jpg)
90
Progetto ER
• Dall’analisi dei requisiti si individuano le entità (es. Paziente, Stanza..) e le relazioni (associazioni) tra entità, con le loro cardinalità.
Ogni entità ha degli attributi, alcuni di queste sono chiavi.
Dallo schema entità relazione si passa al disegno delle relazioni e delle tabelle.
![Page 91: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/91.jpg)
91
Pazienti
Un esempio di schema E-A
Stanze
Personale_Reparto
ospita
È_responsabile
1:1 0:N
1:N
0:N
Ospita: un paziente ospita minimo 1 max 1 stanza (1:1)una stanza è ospitata minimo da 0 max da N (piu’ di uno)
pazienti (0:N)E’_responsabile: una stanza è controllata minimo da 1 max N medici(o param.). Un medico(param) è responsabile di min 0 max N stanze
nome Cogn. …
idPaz.
capienza
numero.piano
dal
![Page 92: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/92.jpg)
92
Dallo Schema E-A alla BD
• Ogni entità diventa una relazione
• Gli attributi di una entità diventano attributi della relazione
• Per le associazioni: si prende il max da entrambe le parti. Esempio 1:N; 1:N la relazione è N:N
se è 1:N si passa la chiave della relazione dalla parte max come chiave esterna della parte min.
Esempio: Paziente(…., numeroStanza, PianoStanza)
![Page 93: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/93.jpg)
93
Dallo Schema E-A alla BD (cont.)
se l’associazione è N:M (per esempio: è responsabile)
allora l’associazione diventa una nuova relazione con attributi le chiavi delle due relazioni che vi incidono, ed eventuali attributi dell’associazione.
Se l’associazione è 1:1, allora in modo indifferente, le chiavi della relazione di una parte diventano chiavi esterna dall’altra (oppure il contrario).
![Page 94: Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... · Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati,](https://reader036.vdocuments.pub/reader036/viewer/2022081612/5f7503991df8301fa3527952/html5/thumbnails/94.jpg)
94
Dallo Schema E-A alla BD (cont.)
IdPaz Nome Cognome ospiteDa numeroSt pianoSt …
A22 Paolo Rossi 12/12/02 2 3 ..
numeroSt Piano Capienza …
… …. … …
NumeroSt Piano IdResponsab
Pazienti
Stanze
E’_responsab.
IdRespo Nome Cognome Grado Num_Tel
… … …. … ..
Personale_Reparto