Data warehousing con SQL Server

Slides:



Advertisements
Presentazioni simili
Informatica II – Basi di Dati (08/09) – Parte 1
Advertisements

Ricorsione in SQL-99.
Tecnologia delle basi di dati: Strutture fisiche di accesso
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
Normalizzazione Forme Normali.
Introduzione alla tecnologia OLAP: Microsoft SQL Analisys Services
Introduzione al datawarehouse
Esercizio zSi vuole realizzare un data warehouse per una azienda che vende mobili allingrosso. zIl data warehouse deve permettere di analizzare i ricavi.
DOCUMENTAZIONE DI SCHEMI E/R
Biglietti e Ritardi: schema E/R
Presentazione del Progetto
Progettazione logica Prof. Stefano Rizzi.
Biglietti e Ritardi: schema E/R
1 Misura Derivata: esempio dei biglietti CostoMedioBiglietto (CMB) calcolato come INCASSO/NUM_BIG. SUM AVG Implementazione in Analysis Services 1. Si definisce.
Biglietti: schema E/R.
Biglietti: schema E/R.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
DATAWAREHOUSE - Microstrategy
Alberi binari di ricerca
ON LINE ANALYTICAL TRANSACTION PROCESSING (OLAP)
PROGETTI DI SISTEMI INFORMATIVI DIREZIONALI
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Access: Query semplici
Appunti informatica- prof. Orlando De Pietro
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
Progettazione di una base di dati
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
LSA Lab. Sistemi Informativi Economico-Aziendali
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Data Warehouse - Progettazione
Corso base Lorenzo Braidi Formazione e consulenza informatica
INFORMATICA Corso Base Modulo G: I DataBase  Access.
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
UNIVERSITA’ POLITECNICA DELLE MARCHE
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
Progettare un database
Basi di Dati e Sistemi Informativi
Gerarchie Ricorsive Una gerarchia ricorsiva deriva dalla presenza di una ricorsione o ciclo (un anello nel caso più semplice) nello schema operazionale.
INDICE I VALORI MEDI LA MEDIA GEOMETRICA LA MEDIA ARITMETICA
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino
1 Data warehousing con SQL Server SQL Server è un RDBMS (Relational DataBase Management System) Analysis Services è un componente di SQL Server che offre.
1 Misura aggregabile con differenti operatori Per una misura si possono definire differenti operatori di aggregazione per le differenti dimensioni La misura.
I DATABASE.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Raggruppamento in SQL Esempio di raggruppamento
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
1 Business Intelligence Franco Perduca Factory Software Analysis Service Introduzione.
Basi di dati distribuite Prof. M.T. PAZIENZA a.a
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 1 -Domain Name System Ernesto Damiani Lezione 3 – Complementi.
Raggruppamenti e target list scorretta select padre, avg(f.reddito), p.reddito from persone f join paternita on figlio = nome join persone p on padre =
Joomlahost.it1 Presentato da Fustini Alessandro Myslq DBA e Developer certified Joomlahost.it.
Cloud informatica V anno.
Business Intelligence
Approfondimenti SQL.
Sistemi informativi Avanzati DB ORACLE SALES HISTORY
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
Data warehouse(B.2.8) Nei database ci sono molti dati di tipo diverso e ciascuna tipologia di dato può avere un formato diverso. Alcuni provengono da legacy.
Prof.ssa Rossella Petreschi Lezione del 17 /10/2014 del Corso di Algoritmica Lezione n°5.
Transcript della presentazione:

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

Analysis Services Punto di partenza : Obiettivo : 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

OLAP Server: Modalità di memorizzazione dei dati OLAP multidimensionale (MOLAP) rappresentazione dei dati in formato multi-dimensionale proprietario i dati sono estratti dal DW e memorizzati nel server OLAP le interrogazioni analitiche vengono eseguite in modo efficiente, perchè il formato è ottimizzato in tal senso OLAP relazionale (ROLAP) rappresentazione dei dati in formato relazionale i dati di base sono acceduti dal DW memorizzato su un RDBMS l’RDBMS viene anche usato anche per la memorizzazione di dati pre-aggregati, in tabelle separate modalità adeguata per DW acceduti poco frequentemente OLAP ibrido (HOLAP) combina elementi da MOLAP e da ROLAP i dati pre-aggregati vengono invece memorizzati dal server OLAP, in formato multi-dimensionale proprietario modalità adeguata per DW grandi dimensioni

Schemi multi-dimensionali in Analysis Services Dimensioni e attributi dimensionali si chiamano livelli I valori delle dimensioni e degli attributi dimensionali si dicono membri livelli dimensione STORE (ALL) STORE CITY STATE COUNTRY (ALL) Ditutto RE EmiliaR Italia ALL NonSoloX NonSoloY MO NonSoloZ RM Lazio ... membri

Schemi multi-dimensionali in Analysis Services Membri e Livelli: le dimensioni contengono solitamente il livello speciale (ALL) 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)

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

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

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

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 SUM SUM AVG SUM

Misure Calcolate (concetto di Analysis Services) 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 errore : 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 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

Esempio di Misure Calcolate SUM SUM AVG errore : 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

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)

Implementazione in Analysis Services 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: Si usa l’attributo PU per definire la misura PUBase aggregata con SUM; Definisco la misura di supporto Conteggio, aggregata con COUNT; per definire il conteggio posso usare un qualsiasi attributo della fact table Definisco PU calcolata come PrezzoBase/Conteggio Le due misure utilizzate per calcolare PU possono non essere visualizzate

ESEMPIO (pag 20 delle dispense) Sum AVG ? 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

ESEMPIO: Implementazione in Analysis Services Prezzo ha come operatore di aggregazione AVG, allora si definisce come Misura Calcolata SUM(prezzo)/count(). Allora Si usa l’attributo Prezzo per definire PrezzoBase aggregata con SUM; Definisco la misura di supporto Conteggio, aggregata con COUNT 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à

Misura Derivata: esempio dei biglietti CostoMedioBiglietto (CMB) calcolato come INCASSO/NUM_BIG. SUM SUM AVG Implementazione in Analysis Services Si definisce la misura derivata CMB_Base Definisco la misura di supporto Conteggio, aggregata con COUNT Definisco CMB calcolata come CMB_Base/Conteggio