Data warehousing con SQL Server



Похожие документы
Data warehousing con SQL Server

Data warehousing con SQL Server

Data warehousing con SQL Server

SQL/OLAP. Estensioni OLAP in SQL

SQL Server. Applicazioni principali

Estensioni del linguaggio SQL per interrogazioni OLAP

Misure. Definizione delle misure

Biglietti e Ritardi: schema E/R

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Analisi dei Dati. Lezione 10 Introduzione al Datwarehouse

ESEMPIO: RITARDI & BIGLIETTI

Data Warehousing (DW)

Introduzione data warehose. Gian Luigi Ferrari Dipartimento di Informatica Università di Pisa. Data Warehouse

Lezione 9. Microsoft Analysis Services: Principi e Funzionalità

SQL Server BI Development Studio

SQL Server Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.

GERARCHIE RICORSIVE - SQL SERVER 2008

Introduzione ad OLAP (On-Line Analytical Processing)

Basi Di Dati, 09/12/2003

SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

Data Warehousing. Argomenti della lezione. Rappresentazioni dei dati. Rappresentazione dei dati. Parte II Analisi multidimensionale

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Ambienti Operativi per OLAP. Casi di Studio

Progettazione Logica. Sviluppo di un Database/DataWarehouse

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

02/mag/2012. Il Modello Multidimensionale. Il Modello Multidimensionale. Il Modello Multidimensionale. Il Modello Multidimensionale

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Sistemi Informativi La Modellazione Dimensionale dei Fatti. Obiettivi Concetti Base Operazioni OLAP DFM Casi Modellazione Logica Esercizi

Rassegna sui principi e sui sistemi di Data Warehousing

Il grafico 3D riportato è la versione multidimensionale del modello ER

MODELLO RELAZIONALE. Introduzione

Lezione V. Aula Multimediale - sabato 29/03/2008

Progettazione di Basi di Dati

Corso di Sistemi di Elaborazione delle informazioni

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Organizzazione degli archivi

DATA WAREHOUSING CON JASPERSOFT BI SUITE

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

BASI DI DATI - : I modelli di database

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

Data warehouse Introduzione

Informatica I per la. Fisica

Il database management system Access

Basi di Dati Complementi Esercitazione su Data Warehouse

SQL Server Integration Services. Integration Services Project

Gestione Voti Scolastici

Il Modello Relazionale

MICHELANGELO REPORT è un

IL SISTEMA INFORMATIVO

Alcune nozioni di base di Logica Matematica

Excel avanzato. I nomi. Gli indirizzi e le formule possono essere sostituiti da nomi. Si creano tramite Inserisci Nome Definisci

Olga Scotti. Basi di Informatica. Excel

Università degli Studi di Verona. Laboratorio di Basi di Dati

La misura degli angoli

I database relazionali (Access)

Funzioni in C. Violetta Lonati

Al giorno d oggi, i sistemi per la gestione di database

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Manuale di utilizzo del sito ASUWEB

Lorenzo Braidi. Database design. Libro_datadesign.indb :06:17

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

Data Warehousing. Esercitazione 1

Il modello dimensionale

Introduzione all Algebra Relazionale

MODULO 5 Appunti ACCESS - Basi di dati

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

DATABASE.

Il concetto di valore medio in generale

Data mining. Vincenzo D Elia. vincenzo.delia@polito.it. DBDMG - Politecnico di Torino

Basi di dati 9 febbraio 2010 Compito A

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

Progettaz. e sviluppo Data Base

Corso di recupero di sistemi Lezione 8

Corso di Amministrazione di Reti A.A. 2002/2003

Operazioni sui database

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Introduzione all Architettura del DBMS

Le query di raggruppamento

(anno accademico )

Guida all uso di Java Diagrammi ER

risulta (x) = 1 se x < 0.

Raggruppamenti Conti Movimenti

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

XML (extensible Markup Language)

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Data management a.a Il linguaggio SQL

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

SQL - Funzioni di gruppo

Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti:

Facoltà di Farmacia - Corso di Informatica

Creazione di un modello di data mining di tipo OLAP con l'algoritmo Microsoft Clustering

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Транскрипт:

Data warehousing con SQL Server! SQL Server è un RDBMS (Relational DataBase Management System)! Analysis Services è un componente di SQL Server che offre un insieme di funzionalità di supporto al data warehousing! Componenti per il data warehousing " OLAP Server: è il server analitico dei dati rappresenta i dati analitici del DW in forma multidimensionale, usando i concetti di cubo, dimensione e misura " OLAP Manager : strumento di amministrazione dei dati analitici 1 Analysis Services (AS)! Punto di partenza : " DW relazionale organizzato secondo uno schema dimensionale (star schema, snowflake schema) " Il DW relazionale non deve essere necessariamente un DB gestito con SQL Server! Obiettivo : " I dati del DW relazionale vengono rappresentati ed analizzati in forma multidimensionale usando la nozione di cubo (data cube)! I cubi sono contenuti in un OLAP database gestiti dall OLAP Server! Un cubo recupera i dati dal DW relazionale che è definito come sorgente dati (data source) all interno dell OLAP Database! Un OLAP database può avere varie data source! Un cubo può recuperare dati da una singola data source! Diversi cubi (di uno stesso OLAP database) possono recuperare dati da data source differenti 2

Schemi multi-dimensionali in AS! Dimensioni e attributi dimensionali si chiamano livelli! I valori delle dimensioni e degli attributi dimensionali si dicono membri dimensione STORE livelli () STORE CITY STATE COUNTRY () membri Ditutto NonSoloX RE RE EmiliaR EmiliaR Italia Italia NonSoloY MO EmiliaR Italia NonSoloZ RM Lazio Italia............ 3 Schemi multi-dimensionali in AS Membri e Livelli:! le dimensioni contengono solitamente il livello speciale () che contiene il solo membro All che denota tutti i membri della dimensione Organizzazione in Livelli:! In Analysis Services i livelli formano una successione lineare (un nodo può avere al massimo un figlio)! L organizzazione in livelli corrisponde alla definizione di una relazione padre-figlio tra i membri di livelli successivi (ogni membro di un livello si raggruppa nel membro padre) " il membro All è padre dei membri Italia, Francia,... " il membro Italia è padre dei membri EmiliaR, Lazio,.. " Misure : " Le misure sono considerate come membri di una dimensione speciale chiamata Measures (presente in tutti i cubi) 4

Misure ed operatori di aggregazione! Classificazione degli operatori di aggregazione : " Distributivi: permettono di calcolare dati aggregati a partire direttamente da dati parzialmente aggregati (es. somma, massimo, minimo) " Algebrici: richiedono un numero finito di informazioni aggiuntive (misure di supporto) per calcolare dati aggregati a partire da dati parzialmente aggregati (es. media richiede il numero dei dati elementari che hanno contribuito a formare un singolo dato parzialmente aggregato) " Olistici: non permettono di calcolare dati aggregati a partire da dati parzialmente aggregati utilizzando un numero finito di informazioni aggiuntive (es. mediana, moda)! Nel seguito analizzeremo come questi concetti generali siano riportati ed implementati in Analysis Services e quali sono alcuni dei concetti particolari di Analysis Services 5 Misure Derivate! Ottenute applicando operatori matematici a due o più valori appartenenti alla stessa tupla: nell espressione si usano solo attributi della Fact Table! Una misura derivata viene calcolata sugli eventi primari, ovvero prima di effettuare l aggregazione dei dati; quindi, al pari delle altre misure, anche per le misure derivate si deve definire un operatore di aggregazione! In Analysis Service c è il concetto di Misura Derivata 6

Misure Derivate : Esempio! Schema di Fatto ESAMI " Dimensioni STUD (con in gerarchia FACOLTA) e DATA (con in gerarchia MESE) " Misure BASE (Crediti di tipo Base) e ALTRO (Crediti di tipo ALTRO) " Misure derivate RAPPORTO = BASE/ALTRO TOTALE = BASE + ALTRO STUD DATA BASE ALTRO RAPPORTO TOTALE ING1 GEN1 20 2 10 22 ING1 GEN2 40 4 10 44 ING2 GEN2 30 6 5 36 SUM SUM AVG SUM FACOLTA DATA BASE ALTRO RAPPORTO TOTALE ING GEN1 20 2 10 22 ING GEN2 70 10 7,5 70 FACOLTA MESE BASE ALTRO RAPPORTO TOTALE ING GEN 90 12 8,33 102 7 Misure Calcolate (concetto di AS)! Una misura calcolata è una misura il cui valore è calcolato a partire da altre misure dopo aver aggregato i dati (quindi per una misura calcolata non si definisce un operatore di aggregazione)! Esempio: Consideriamo lo schema di Fatto ESAMI " Misure derivate RAP_DER = BASE/ALTRO " Misure calcolate RAP_CALC = BASE/ALTRO TOTALE = BASE + ALTRO! se la misura e distributiva (TOTALE), otteniamo lo stesso risultato sia come misura derivata che come calcolata: la scelta si basa sull efficienza del calcolo (una misura calcolata è più efficiente )! se la misura non è distributiva (RAPPORTO), non si ottiene lo stesso risultato e quindi si deve scegliere il modo opportuno 8

Esempio di Misure Calcolate STUD DATA BASE ALTRO RAP_DER TOTALE RAP_CALC ING1 GEN1 20 2 10 22 10 ING1 GEN2 40 4 10 44 10 ING2 GEN2 30 6 5 36 5 SUM SUM AVG FACOLTA DATA BASE ALTRO RAP_DER TOTALE RAP_CALC ING GEN1 20 2 10 22 10 ING GEN2 70 10 7,5 80 7 FACOLTA MESE BASE ALTRO RAP_DER TOTALE RAP_CALC ING GEN 90 12 8,33 102 7,5 9 Operatore di Aggregazione Algebrico : AVG! In Analysis Services una misura con operatore di aggregazione algebrico deve essere definito tramite una misura calcolata! Esempio : Prezzo Unitario (PU) anno 1999 trim. I 99 II 99 III 99 IV 99 categ oria tipo prodotto Brillo 2 2 2,2 2,5 detersivo pulizia Sbianco 1,5 1,5 2 2,5 casa Lucido 3 3 3 sapone Manipulite 1 1,2 1,5 1,5 Scent 1,5 1,5 2 cat egoria pulizia anno 1999 trim. I 99 II 99 III 99 IV 99 tipo detersivo 1,75 2,17 2,40 2,67 casa sapone 1,25 1,35 1,75 1,50 media: 1,50 1,76 2,08 2,09 anno 1999 trim. I 99 II 99 III 99 IV 99 categ oria pulizia casa 1,50 1,84 2,14 2,38 10

Implementazione di AVG in AS! Una misura quale PU con operatore di aggregazione AVG deve essere necessariamente definita come Misura Calcolata in quanto la devo calcolare come SUM(PU)/count(). Allora: 1. Si usa l attributo PU per definire la misura PUBase aggregata con SUM; 2. Definisco la misura di supporto Conteggio, aggregata con COUNT; per definire il conteggio posso usare un qualsiasi attributo della fact table 3. Definisco PU calcolata come PrezzoBase/Conteggio! Le due misure utilizzate per calcolare PU possono non essere visualizzate 11 ESEMPIO (pag 20 delle dispense) Sum AVG Tipo Quantità Prezzo T1 12 1,25 T2 9 0,80 22.20! Non è possibile calcolare l aggregazione a partire dalle aggregazioni componente: il guadagno per il tipo T1 non lo posso ottenere moltiplicando la quantità per il prezzo unitario! La soluzione corretta è sempre quella che si ottiene aggregando i dati direttamente dalla vista primaria : definisco Guadagno come Misura Derivata aggregata tramite la SUM? 12

ESEMPIO: Implementazione in AS! Prezzo ha come operatore di aggregazione AVG, allora si definisce come Misura Calcolata SUM(prezzo)/count(). Allora 1. Si usa l attributo Prezzo per definire PrezzoBase aggregata con SUM; 2. Definisco la misura di supporto Conteggio, aggregata con COUNT 3. Definisco PREZZO calcolata come PrezzoBase/Conteggio! Si definisce la misura Guadagno come Misura Derivata Prezzo*Quantità, con operatore di aggregazione Sum! Per confrontare (e verificare l errore che si otterrebbe calcolare l aggregazione a partire dalle aggregazioni componente ) si definisce anche una misura GuadagnoCalc come Misura Calcolata Prezzo*Quantità 13 Misura Derivata: esempio dei biglietti! CostoMedioBiglietto (CMB) calcolato come INCASSO/NUM_BIG. CodVolo DATA INCASSO NUM_BIG CMB ALIT1 GEN1 20 2 10 ALIT1 GEN2 40 4 10 ALIT2 GEN2 30 6 5 SUM SUM AVG Compagnia DATA INCASSO NUM_BIG CMB ALITALIA GEN1 20 2 10 ALITALIA GEN2 70 10 7,5 Compagnia Mese INCASSO NUM_BIG CMB ALITALIA GEN 90 12 8,33 # Implementazione in Analysis Services 1. Si definisce la misura derivata CMB_Base 2. Definisco la misura di supporto Conteggio, aggregata con COUNT 3. Definisco CMB calcolata come CMB_Base/Conteggio 14

Parte di confronto con DFM e AS Membri e Livelli:! le dimensioni contengono solitamente il livello speciale () che contiene il solo membro All che denota tutti i membri della dimensione Organizzazione in Livelli:! Nel modello DFM gli attributi dimensionali sono organizzati in una gerarchia che è un albero direzionato (un nodo può avere più figli)! In Analysis Services i livelli formano una successione lineare (un nodo può avere al massimo un figlio)! L organizzazione in livelli corrisponde alla definizione di una relazione padre-figlio tra i membri di livelli successivi (ogni membro di un livello si raggruppa nel membro padre) " il membro All è padre dei membri Italia, Francia,... " il membro Italia è padre dei membri EmiliaR, Lazio,.. " Misure : corrispondono al concetto di misura del modello DFM " Le misure sono considerate come membri di una dimensione speciale chiamata Measures (presente in tutti i cubi) 15 Esempio di Gerarchie e Livelli! Consideriamo lo Schema di Fatto BIGLIETTI e la (parte di) dimensione dei voli, con la relativa gerarchia! In Analysis Server definiremo un cubo BIGLIETTI e le dimensioni rispetto alle quali si vogliono analizzare i dati " Dimensione VOLO-COMPAGNIA " Dimensione VOLO-ORADIPARTENZA 16