Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... ·...

94
1 Medicina, Tecnologia e dati Informazioni e dati: E‘ necessario interpretare i dati, ottenere delle informazioni per poter pilotare strumenti tecnologici

Transcript of Medicina, Tecnologia e datistaff.icar.cnr.it/cannataro/didattica/2009-2010/MaxiCorsoII... ·...

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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,

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