27.06.2014 Views

TELEMEDICINA

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SISTEMI INFORMATIVI E<br />

<strong>TELEMEDICINA</strong><br />

2. Modelli dei dati e database<br />

relazionali<br />

Prof. Mauro Giacomini


Sommario<br />

• Schemi e modelli<br />

• Modelli concettuali<br />

• Modelli logici<br />

• Modelli fisici<br />

• Il modello Entità-Relazione<br />

• Nozioni ed operazioni di algebra relazionale<br />

• Trasformazione di uno schema concettuale in uno<br />

relazionale<br />

• Forme normali<br />

• Indici<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Schemi e modelli<br />

Prima di tutto viene l’analisi della realtà di interesse <br />

obiettivo: definire la struttura del database. Processo con<br />

tre passi:<br />

realtà di interesse schema concettuale<br />

schema concettuale schema logico<br />

schema logico schema fisico<br />

Schema: rappresentazione formale della realtà. I processi<br />

per passare da uno schema all’altro sono i modelli.<br />

Modello: un insieme di regole e convenzioni che portano<br />

alla definizione di uno schema.<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Modelli concettuali (semantici)<br />

• Operazione delicatissima<br />

• Influenza tutti passi successivi<br />

• Rappresenta la porzione di mondo da<br />

modellare come vieni vista dall’analista<br />

• Totalmente indipendente da qualsiasi<br />

piattaforma HD/SW e dal DBMS<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Modelli logici<br />

• Consentono di trasformare uno schema<br />

concettuale in uno logico<br />

• Schema logico: collezione di strutture<br />

che rappresentano il database<br />

• Indipendente dall’HD/SW<br />

• Fortemente dipendente dal DMBS<br />

• Ogni DBMS è specializzato per un<br />

particolare modello logico<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Modello relazionale<br />

• Modello logico più diffuso<br />

• Schema = collezione di tabelle e di<br />

relazioni tra tabelle<br />

• Vari DBMS relazionali: Oracle, SQL<br />

Server, Informix Sybase, DB2, MySQL,<br />

MS Access<br />

• Analizzato in seguito<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Altri modelli (1)<br />

• Modello gerarchico: schema ad albero,<br />

relazione unica quella di padre-figlio<br />

• Modello reticolare: schema a forma di reticolo<br />

dove ogni nodo può avere più padri<br />

• Modello orientato agli oggetti: schema<br />

composto da: classi, attributi, associazioni e<br />

aggregazioni con altre classi. DBMS orientati<br />

agli oggetti (Versant, ObjectStore, Poet)<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Altri modelli (2)<br />

• NoSQL Database<br />

• Memorizzazione in strutture diverse dalle<br />

tabelle<br />

• Obiettivi: semplicità nel disegno, scalabilità<br />

orizzontale, controllo fine sulla disponibilità<br />

• Strutture utilizzate: alberi, grafi, chiavevalore<br />

• Applicazioni: big data, real time<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Modelli fisici<br />

• Consentono di trasformare uno schema<br />

logico in uno fisico.<br />

• Schema fisico: descrizione del modo in<br />

cui lo schema logico sarà memorizzato<br />

su una particolare piattaforma HW/SW<br />

• Trasformazione automatica da parte del<br />

DBMS che interagisce con il file system<br />

• Ridotto livello di astrazione<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Modello Entità-Relazione<br />

• Definito da P.P. Chen nel 1976<br />

• Entità: oggetti estrapolati dalla realtà con<br />

caratteristiche proprie rappresentate mediante<br />

attributi<br />

• Definizione di attributi: punto delicato dell’analisi<br />

concettuale<br />

• Importanza degli attributi dipendente dal contesto<br />

• Lettura chiara e intuitiva<br />

• Trasformazione diagramma E-R / schema relazionale<br />

pressoché immediato<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Entità<br />

• Insieme di oggetti della realtà di interesse<br />

• Individuazione delle entità: prima attività della<br />

progettazione concettuale<br />

• Proprietà rappresentate come attributi<br />

• Dati di un’entità sono elementi/occorrenze della base<br />

di dati<br />

• Notazione: rettangolo con il nome della entità<br />

inscritto in esso<br />

• Gli attributi possono essere rappresentati con pallini<br />

esterni al rettangolo o in una diversa sezione del<br />

rettangolo che descrive l’entità<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Caratteristica<br />

• Tipo di entità che assume il proprio<br />

significato solo se messa in<br />

corrispondenza con altre entità.<br />

• Rappresentazione: rettangolo con bordo<br />

laterale doppio e nome inscritto<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Relazione – cardinalità<br />

• Legame fra entità<br />

• Caratteristica principale la cardinalità<br />

• Modello E-R fondamentale nella<br />

documentazione del SW fatto di due parti<br />

• Testo che descrive nel dettaglio le entità con i loro<br />

attributi<br />

• Diagramma (ERD) che evidenzia le relazioni fra le<br />

entità con diverse simbologie<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Esempio di E-R<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Tipi fondamentali di relazioni<br />

• 1:1 due entità E e F sono in relazione 1:1 se e solo<br />

se ad ogni elemento di E può corrispondere un solo<br />

elemento di F e viceversa<br />

• 1:N due entità E e F sono in relazione 1:N se e solo<br />

se ad ogni elemento di E possono corrispondere più<br />

elementi di F, ma ad ogni elemento di F corrisponde un<br />

solo elemento di E<br />

• N:N (molti a molti) due entità E e F sono in relazione<br />

N:N se e solo se ad ogni elemento di E possono<br />

corrispondere più elementi di F, e ad ogni elemento di F<br />

possono corrispondere più elementi di E<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Cardinalità<br />

• Numero o coppia di numeri che nei diagrammi ER<br />

sono posti vicino alla congiunzione della relazione con<br />

la entità<br />

• Possono essere più precise di quelle viste nella slide<br />

precedente indicando anche a volte il numero esatto<br />

• Con 0 si indica l’opzionalità in una relazione, 1 l’unità,<br />

N una generica molteplicità, altri numeri costanti e<br />

noti indicano un vincolo ben preciso su questa<br />

relazione. Alcune volte è usato anche il simbolo di ∞<br />

• Cardinalità ed opzionalità dipendono dal contesto<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Relazioni gerarchiche<br />

• Specificazioni di entità in senso<br />

gerarchico (ISA)<br />

• Meccanismi di ereditarietà<br />

• Esistono anche relazioni ricorsive<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Modello relazionale<br />

• Introdotto da Edward Codd nel 1970<br />

• Basato sul formalismo dell’algebra<br />

relazionale<br />

• Ma dotato di ottime implementazioni<br />

pratiche e di linguaggi di interrogazione<br />

standardizzati (SQL)<br />

• Ampiamente diffuso nell’ambito dei<br />

DBMS<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Relazione algebrica<br />

• Siano A 1 , A 2 , …., A n insiemi. Il prodotto cartesiano tra questi insiemi,<br />

indicato con A 1 x A 2 x ….x A n è definito come l’insieme delle n-ple (a 1 , a 2 ,<br />

...., a n ) dove a 1 A 1 , a 2 A 2 , …., a n A n .<br />

• Una relazione su A 1 , A 2 , …., A n è un sottoinsieme di A 1 x A 2 x ….x A n<br />

• Un insieme vuoto è una relazione<br />

• Gli elementi A 1 , A 2 , …., A n sono domini, i nomi di questi elementi sono<br />

gli attributi e n è il grado della relazione<br />

• Un insieme di occorrenze di un’entità è una relazione algebrica<br />

• Le relazioni algebriche possono essere rappresentate in forma tabellare<br />

• Attributi: colonne della tabella<br />

• Occorrenze: righe della tabella<br />

• In una tabella non ci possono essere righe uguali (le righe sono<br />

elementi di un insieme che non possono essere uguali)<br />

• L’ordine delle righe non ha importanza (l’insieme è per definizione non<br />

ordinato)<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Chiave primaria<br />

• In ogni tabella un insieme di attributi (colonne)<br />

identifica univocamente ogni riga<br />

• Si dice chiave candidata di una relazione R un<br />

insieme non vuoto di attributi K di R tali che:<br />

• È possibile individuare univocamente un’intera riga in base ai<br />

valori degli attributi di k<br />

• La proprietà di cui sopra non è più valida per qualsiasi<br />

sottoinsieme proprio di K<br />

• Dalla definizione di tabella, una candidata chiave<br />

esiste sempre (al massimo considerando tutti gli<br />

attributi)<br />

• Chiave primaria: scelta fra i candidati chiave<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Dal concettuale al logico<br />

• Facili passaggi conducono dal<br />

diagramma E-R (concettuale) allo<br />

schema relazionale<br />

• Le entità del modello E-R si traducono<br />

tutte (tranne rari casi) a tabelle<br />

• Ci sono specifici metodi per elaborare le<br />

diverse relazioni in uno schema logico<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Relazione 1:1<br />

• Introduzione in una delle due tabelle la<br />

chiave dell’altra, o anche in tutte e due.<br />

• Attributo chiave esterna (simbolo FK)<br />

che deriva dalla chiave primaria (PK)<br />

dell’altra tabella<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Relazione 1:N<br />

• Se T e S sono in relazione 1:N il legame<br />

viene creato introducendo tra gli<br />

attributi di S la chiave primaria di T<br />

• Non è possibile il contrario<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Relazione N:N<br />

• Non sono sufficienti le chiavi esterne<br />

• Necessario introdurre una nuova tabella<br />

• Questa nuova tabella I ha come<br />

attributi le chiavi primarie delle tabelle T<br />

ed S (costitutive della relazione)<br />

• Questa nuova tabella può contenere<br />

altri attributi propri della relazione e che<br />

caratterizzano la relazione<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Operazioni dell’algebra<br />

relazionale (1)<br />

• Prodotto: P = T x S, P è ottenuta<br />

concatenando ogni riga di T con tutte quelle<br />

di S<br />

• Proiezione: Data una tabella T e un insieme<br />

di attributi A, la proiezione di T mediante A<br />

restituisce una tabella S con tutte le righe di<br />

T ma con le sole colonne identificate dagli<br />

attributi presenti in A<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Operazioni dell’algebra<br />

relazionale (2)<br />

• Selezione: Data una Tabella T e una<br />

espressione logica E, definita sugli attributi di<br />

T, la selezione di T mediante E restituisce una<br />

tabella S con tutte le colonne di T, ma con le<br />

sole righe di T che soddisfano E<br />

• Ridenominazione: Data una tabella T e un<br />

insieme ordinato di attributi A, la<br />

ridenominazione di T mediante A restituisce<br />

una tabella S con gli stessi attributi di T ma<br />

ridenominati in base agli attributi presenti in<br />

A<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Operazioni dell’algebra<br />

relazionale (3)<br />

• Unione: date due tabelle T ed S, con gli<br />

stessi attributi, l’unione tra T ed S è data<br />

dalla tabella U contenente tutte le righe di T e<br />

di S<br />

• Differenza: date due tabelle T ed S, con gli<br />

stessi attributi, la differenza tra T ed S<br />

restituisce una tabella U contenente tutte e<br />

righe di T non presenti in S<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Operatori derivati (1)<br />

• Join (giunzione): Date due tabelle T ed S con<br />

un dominio comune, ed una condizione A t op<br />

A s , dove A t e A s sono due attributi sul dominio<br />

comune e op un operatore di confronto,<br />

Join(T,S) è una tabella R costruita a partire<br />

da T e S secondo il seguente procedimento<br />

• P1 = T x S<br />

• P2 = Selezione su P1 delle righe per cui (A t op A s )<br />

è vero<br />

• R = P2 con ridenominazione degli attributi comuni<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Operatori derivati (2)<br />

• Natural Join (Giunzione Naturale), se<br />

in un’operazione di Join l’operatore di<br />

confronto è ‘=‘ allora si parla di Natural<br />

Join<br />

• Intersezione: date due tabelle T ed S<br />

con gli stessi attributi, l’intersezione è<br />

una tabella R contenente tutte le righe<br />

comuni a T e a S<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Forme normali<br />

• Normalizzazione: processo matematico<br />

con lo scopo di raffinare lo schema<br />

logico e/o eliminare errori<br />

nell’organizzazione dei dati<br />

• Ci sono fino a 5 procedimenti di<br />

normalizzazione (ma ci si ferma di solito<br />

alla 3° forma normale)<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Prima forma normale<br />

Una relazione è in prima forma normale se non<br />

contiene gruppi ripetitivi, ovvero quando la struttura<br />

è come una raccolta di tuple e attributi. Ciò significa<br />

che ogni relazione non può contenere né ulteriori<br />

relazioni al suo interno, né attributi con più valori<br />

contemporanei (condizione di atomicità degli<br />

attributi). La prima forma normale non permette di<br />

avere un set di valori, una tupla di valori o loro<br />

combinazione, come valore di un attributo di una<br />

singola tupla.<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Dipendenze Funzionali<br />

Le forme normali successive alla prima sono definite a partire dal concetto<br />

di dipendenza funzionale. Data una relazione in 1FN e due sottoinsiemi A e<br />

B dei suoi attributi, si dice che B è funzionalmente dipendente da A (AB)<br />

se per un qualsiasi stato della base di dati ciascun valore di A è associato<br />

ad uno (e solo uno) valore di B. Si ha una dipendenza piena quando la<br />

dipendenza AB è tale per cui non esiste alcun sottoinsieme proprio di A<br />

per il quale valga ancora la dipendenza funzionale con B. Si ha invece<br />

dipendenza parziale, quando la dipendenza è tra un sottoinsieme di A e B.<br />

Si ha dipendenza transitiva tra due attributi (o gruppi di attributi) A e B<br />

distinti, quando esiste un attributo (o un gruppo) C, distinto da A e B, tale<br />

per cui B dipende da C e C dipende da A. Si deduce che ciascun attributo<br />

di una relazione dipende funzionalmente dai candidati chiave della<br />

relazione.<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


II e III Forma Normale<br />

Una relazione è in seconda forma normale se è in 1FN e se<br />

tutti gli attributi non primi (ossia non facenti parte di alcuna<br />

chiave della relazione) dipendono da ogni chiave. La<br />

traduzione in 2NF della relazione viene effettuata<br />

scomponendo la relazione di partenza in più relazioni.<br />

Una relazione è in Terza forma normale se è in 2NF e se ogni<br />

suo attributo dipende in modo diretto e non transitivo da<br />

ogni chiave della relazione.<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Denormalizzazione<br />

• È buona norma lavorare con strutture normalizzate (almeno fino<br />

alla terza forma normale)<br />

• Casi in cui può essere necessario denormalizzare un po’ i dati:<br />

• Quando aggiungendo un attributo ridondante nelle tabelle, è<br />

possibile limitare il numero delle tabelle da visitare per ottenere<br />

particolari risultati<br />

• Quando si aggiunge un attributo che contiene un valore calcolato e<br />

quindi si velocizza l’elaborazione di dati usati di frequente<br />

• Nel caso di attributi denormalizzati sarà l’applicazione a farsi<br />

carico della consistenza degli stessi che non può essere affidata<br />

ai meccanismi automatici del DBMS<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14


Indici<br />

• Indice = sequenza di record con almeno due campi:<br />

chiave e indirizzo<br />

• Chiave: contiene i valori della tabella su cui è stato<br />

creato l’indice<br />

• Indirizzo: puntatore all’occorrenza<br />

• Elementi efficienti nella ricerca perché:<br />

• sono più piccoli e semplici di quelli della tabella<br />

• Sono organizzati in particolari strutture che consentono di<br />

effettuare ricerche con prestazioni elevate<br />

• Velocizzano le ricerche ma rallentano gli inserimenti e<br />

le modifiche<br />

Inf. Med. - 2. Modelli dei dati -<br />

A.A. 2013-14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!