Data warehouse
Progettazione di un data
warehouse
Architettura di un dw
2
Componenti di un dw
Due funzioni principali:
1.
Prendere le informazioni dai sistemi operazionali,
“pulirle” e metterle dentro il dw
2.
Prendere le informazioni dal dw e presentarle
all’utente
4
Sviluppo di un dw
1.
Analisi e riconciliazione delle fonti à schema riconciliato + requisiti (obiettivi strategici)
2.
Analisi dei requisiti
3.
Progettazione concettuale à schema di fatto
4.
Validazione dello schema concettuale
5.
Progettazione logica à schema logico
6.
(Progettazione fisica à procedure di
indicizzazione e di memorizzazione)
Data warehouse
Analisi e riconciliazione delle
fonti (*Prof. Giolito)
Analisi e riconciliazione
1. Analisi e riconciliazione delle fonti schema riconciliato + requisiti (obiettivi strategici)
1.
Premesse: non tutti i dati che abbiamo ci interessano
2.
Alcuni dati sono disallienati
3.
Per ogni fonte disponibie:
1.
Passo 1: modello E-R (schema locale)
2.
Passo 2: portare allo schema riconciliato (solo ciò
che serve al db)
Federica Cena-
3
Analisi e riconciliazione
1. Possibili relazioni tra R1 e R2
1.
Identità
2.
Equivalenza
3.
Comparabilità
4.
Incompatibilità analisi dei possibili conflitti
Analisi e riconciliazione
1. Possibili conflitti tra schemi
1.
Eterogeneità
2.
Conflitti
1.
Di nome
1. Omonimie 2. Sinonime
2.
Semantici
3.
strutturali
Federica Cena-
5
Processo di riconciliazione
Euristiche:
1. Riconosco la diversità
2. Opero una fusione
schema riconciliato
1.
Completezza
2.
Minimalità
3.
leggibilità
FASE 1: Analisi e riconciliazione delle fonti dei dati
La fase è particolarmente critica se le fonti presentano un’alta eterogeneità.
Fonte dati 1 Schema locale 1 Schema esportato R1
Fonte dati 2 Schema locale 2 Schema esportato R2 Schema riconciliato
Modello ER
Modello locale
3
Possibili relazioni tra due rappresentazioni R1 e R2
1. Identità: R1 coincide con R2, è il caso fortunato.
2. Equivalenza: Se le le istanze di R1 e R2 possono essere messe in corrispondenza uno a uno. Esempio:
Libro
Casa Editrice Edito da
(1,1)
(1,n)
ISBN Titolo
Nome Indirizzo
Libro
ISBN Titolo Casa Ed.
Indirizzo Casa Ed.
3. Comparabilità: Schemi non in contrasto, ma con punti di vista diversi, Esempio: Dipendente assegnato a Dipartimento
Dipendente
Progetto Lavora a
(0,1)
(1,n)
CF Nome
Cod
Descrizione
Dipartimento Appartiene
(1,1)
(1,n) Nome
Dipendente (0,1)
CF Nome
Ind.
Dipartimento Nome Ind.
(1,n)
Assegnato
5
4. Incompatibilità, quando R1 e R2 sono in contrasto
Esempio: personale tecnico e amministrativo dell’Università Dipendente
(1,1)
CF Nome
Dipartimento Nome Ind.
(1,n)
Afferenza
Dipendente (0,n)
CF Nome
Dipartimento Nome Ind.
(0,n)
Afferenza
Primo caso tipico del personale tecnico di laboratorio.
Secondo caso modella anche il personale dell’Amministrazione Centrale e amministrativo.
Analisi comparativa per scoprire le relazioni tra R1 e R2 svolta in stretta collaborazione con gli esperti del dominio.
L’aspetto critico consiste nell’individuare i possibili conflitti:
1. Eterogeneità dei formalismi con diverso potere espressivo negli schemi locali (relazionale, Object Oriented, formati di file, ER, UML,…)
2. Conflitti di nome: Omonimie Dipartimento
(0,n)
Nome Ind.
Attrezzatura Inventario Tipo
(1,1)
Possiede
Edificio (0,n)
N°
Ind.
Attrezzatura Inventario Tipo
(1,1)
Contiene
“scientifica” “mobilio”
7
Conflitti di nome: Sinonimie Cliente
(0,n)
Nome Ind.
Credito Codice
Tipo (1,1)
Detiene
Acquirente (0,n)
Nome Ind.
Ordine N°
Data (1,1)
Emette
E’ opportuno istituire un dizionario dati che annoti tutte le omonimie e sinonimie riscontrate comparando i vari schemi.
3. Conflitti semantici, quando si modella la stessa realtà con diverso livello di astrazione
Edificio
Appartamento Contiene
(1,n)
(1,1)
N°
N°
Descrizione
Proprietario Possiede
(1,1)
(1,n) CF
Nome Ind.
Piano N°
(1,1)
(1,n) Edificio
Appartamento Contiene
(1,n)
(1,1)
N°
Ind.
N°
Descrizione
Proprietario Possiede
(1,1)
(1,n) CF
Nome Piano
9
Conflitti strutturali
• Conflitti di tipo, stesso concetto modellato con diversi costrutti. Es.: “Piano”
nella diapositiva precedente.
• Conflitti di dipendenza, due o più concetti associati con cardinalità diverse.
Es.: uomo (sposa n:m) donna con possibilità di storicizzare, uomo (sposa 1:1) donna.
• Conflitti di chiave, identificatori diversi.
Es.: matricola in uno schema, CF in un altro
• Conflitti di comportamento, politiche di cancellazione/modifica diverse nei vari schemi. Es.: Cancellazione studente nella base dati borsisti EDISU se reddito superiore di una data soglia, mentre nella base dati universitaria viene registrata la non assegnazione.
L’individuazione delle correlazioni tra R1 e R2 e dei conflitti richiede una
approfondita conoscenza della semantica, per questo motivo la documentazione degli schemi operazionali deve essere accurata e formale.
2). Riconciliazione e integrazione degli schemi
Cod Titolo
Parola chiave Testo Area Pubblicazione
Editore Cod
Titolo
Argomento Testo
Area Libro
Nome Editore Ind
Mapping tra gli elementi degli schemi sorgenti per arrivare allo schema riconciliato.
Schema R1 Schema R2
11
Allineamento degli schemi
Cod Titolo
Parola chiave Testo Area Pubblicazione
Editore Cod
Titolo
Argomento Testo
Area Libro
Nome Editore Ind
“Argomento” sinonimo di “Parola chiave”;
“Editore” conflitto di tipo
Allineamento degli schemi
Cod Titolo
Argomento Testo Area Pubblicazione
Editore Cod
Titolo
Argomento Testo Area Libro
Nome Editore Ind
“Argomento” sinonimo di “Parola chiave”, scegliamo “Argomento”;
“Editore” conflitto di tipo
13
Fusione
Cod Titolo Pubblicazione
Argomento Testo Area Nome
Editore Ind
Cod Titolo Libro
La fusione spesso introduce ridondanze, Es.: le entità “Pubblicazione” e “Libro”
che non sono esattamente sovrapponibili, bensì una entità è sotto entità dell’altra.
Fusione
Ancora ridondanze: le associazioni superflue
Argomento Testo
Area Ind
Editore Nome
Pubblicazione Cod Titolo
Libro
15
Fusione
Schema integrato o Schema Globale (GAV: Globel As View).
Argomento Testo
Area Ind
Editore Nome
Pubblicazione Cod Titolo
Libro
In generale ad ogni concetto dello schema globale corrisponde una vista sugli schemi sorgente
Proprietà desiderate dello schema globale:
Completezza, dopo la sovrapposizione occorre scoprire tutte le relazioni tra le varie entità (associazioni e gerarchie)
Minimalità, cancellazione delle eventuali ridondanze, come da esempio.
Leggibilità, nel contesto decisionale dell’organizzazione.
Lezione 2:
Data warehouse
Modello concettuale dei dati
Modello multimensionale dei dati
p Il modello multidimensionale viene adottato come paradigma di
rappresentazione dei dati nel DW
p Partiamo dalle interrogazioni la cui soddisfazione esso si presta
maggiormente:
2
2
Federica Cena-
3
Modello multidimensionale
p Che incassi sono stati registrati l’anno scorso per ciascuna regione e ciascuna categoria di
prodotto?
p Che correlazione esiste tra l’andamento dei titoli azionari dei produttori di PC e i profitti trimestrali lungo gli ultimi 5 anni?
p Quali sono gli ordini che massimizzano gli incassi?
p Quale di due nuove terapie comportera’ una diminuzione della durata media di un ricovero?
Federica Cena-
4
Modello multidimensionale
p Informazioni riassuntive, con la possibilità di dettagliare i riassunti
p Analisi delle informazioni riassuntive in base a componenti organizzative come “aree” e
“dipartimenti”
p Possibilità di “slice”(affettare) and “dice” (tagliare a dadini) delle informazioni
p Possibilità di vedere le informazioni nel tempo
p Vedere le informazioni sia in forma tabulare che grafica
Modello Multidimensionale
I dati vengono analizzati per identificare tendenze e, quindi, facilitare il processo decisionale
n Quale e’ il mese con le maggiori vendite?
n Quali sono stati i primi cinque prodotti venduti a Pisa?
Interessano non solo i dati ma anche le loro aggregazioni (media, il minimo,
massimo, somma, etc)
5
Federica Cena 6
Modello multidimensionale
p Esprimere interrogazioni di questa natura tramite linguaggi come SQL risulta alquanto complesso e la loro esecuzione su bd operazionali porterebbe a tempi di risposta difficilmente accettabili
p il Modello multidimensionale nasce dalla
constatazione che gli oggetti che influenzano il processo decisionale sono FATTI del mondo aziendale, quali ad esempio le vendite, le spedizioni, i ricoveri, gli interventi chirurgici.
4
Federica Cena 7
Modello multidimensionale
p Le occorrenze del fatto corrispondono a eventi accaduti: ciascuna vendita effettuata è un evento
p Per ciascun fatto di interesse interessano i valori di misure che descrivono quantitativamente gli eventi: l’incasso di una vendita, la quantità spedita, il costo di un ricovero.
p Gli eventi possono essere collocati su uno spazio n-dimensionale i cui assi definiscono le
dimensioni di analisi
Federica Cena 8
Modello multidimensionale
- Semplice da capire
- Non ambiguo
- Riflette il modo in cui le persone pensano e prendono decisioni
Federica Cena 9
Modello dei dati multidimensionale
p Fatto: concetto di interesse per il processo decisionale (ad esempio, vendite)
p Misure: proprietà numerica di un fatto, descrive un aspetto quantitativo (quantità venduta,
incasso)
p Dimensioni: proprietà con un dominio finito di un fatto, descrive una coordinata di analisi (luogo, prodotto)
p Un fatto è analizzato attraverso tante dimensioni.
Federica Cena-
10
Modello multidimensionale
Fatti: behavioural, dati comportamentali, derivano da interazione utente con il sistema, dinamici, cambiano
Dimensioni: circumstances (attributi), cambiano meno
6
Esempio di analisi
p Possibili dimensioni
n Prodotto (tipo di prodotto)
n Tempo (mese, bimestre, anno)
n Cliente (dettaglio, grossista, diretto)
n Responsabilità (punto vendita, rivenditore) p Lo schema multidimensionale favorisce la
multidimensionalità del ragionamento
n Che cosa? chi? Quanto? Come? Dove?
11
12
Cubo
p incentrato su un fatto di interesse per il processo decisionale.
p Rappresenta un insieme di eventi descritti quantitativamente da misure numeriche
p Ogni asse del cubo rappresenta una possibile dimensione di analisi
p ciascuna dimensione può essere vista a piu’ livelli di dettaglio, individuata da attributi, eventualmente strutturati in gerararchie
13
14
8
Federica Cena-
15
Cubo
Assi: tempo, punto vendita, prodotto Misura: quantità di venduto
Ogni elemento del cubo (minicubo) contiene i valori di vendita per un particolare cliente e prodotto in un tempo preciso (t0)
Federica Cena 16
Caratteristiche dei DW
Federica Cena 17
Datawarehouse: obiettivi
Federica Cena 18
p Rappresentazione a matrice
10
Esempio di analisi
20
Modello multidimensionale
p Le dimensioni possono essere più di tre, ma non è intuitivo immaginarlo
p Anche le misure possono essere più di una (nella cella ci saranno più valori)
21
Federica Cena 22
12
Gerarchia delle dimensioni
p Ogni dimensione può essere strutturata in una gerarchia di variabili che rappresentano diversi livelli di aggregazione
p esempio dimensione punto vendita
23
Gerarchia delle dimensioni
esempio dimensione tempo
24
Gerarchia delle dimensioni
esempio dimensione prodotto
25
26
14
Data warehouse
Modellazione Concettuale
Modello concettuale
28
Modello semplificato rispetto a base di dati
-La struttura è predicibile (è sempre la stessa): tab dei fatti al centro con le dimensioni collegate
-Le relazioni sono sempre 1:m dove :
-La dimensione è la parte 1 della relazione e la tabella dei fatti è la parte M
-Gerarchia: la dimensione più vicina ai fatti è la parte Many, l’entità più esterna è la parte 1
Non serve specificare la cardinalità minima - La dimensione 1 è sempre facoltativa - La dimensione m è sempre obbligatoria Non ci sono sovracclassi
Modello concettuale: 2 tipi
p A stella (star)
p A fiocco di neve (snowflakes)
Federica Cena 29
Modello concettuale a stella
30
Punto vendita
prodotto
tempo
vendita m:n
m:n
16
Modello concettuale a fiocco di neve
31
Prodotto
citta
tempo
vendita m:n
m:n
provin cia
region e
m:1
m:1
Modello concettuale: modalità di rappresentazione
p Si puo’ disegnare con
n Schema E-R (come data base)
n DOT model (rappresenta i fatti come punti)
32
Viaggi Clienti
Mezzi Operatori
Provincia_dest
Localizz_dest
Sistemazione
Periodo Dimensione
Regione
Provincia
Professio ne
Regione Categoria
Modello concettuale (Dot Model)
Progettazione concettuale di un DW
34
Passi
1. Decidere i fatti
2. Decidere le unità di misura
3. Decidere la granularità di analisi: dimensioni 4. Decidere attributi delle dimensioni
5. Decidere quali aggregazioni e partizionamenti (gerarchie) 6. Decisioni riguardo il tempo
7. Costruzione del modello concettuale, scegliendo il Formalismo (Dot Model, ER)