Data warehouse: analisi dei dati

Documenti analoghi
Data warehouse in Oracle

Il modello multidimensionale. Per le slides si ringrazia il Prof. Stefano Rizzi ( e il Dott.

SQL/OLAP. Estensioni OLAP in SQL

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Esempio di database relazionale con l utilizzo del prodotto MySQL

NETEZZA APPLIANCE. Danilo De Benedictis NETEZZA DEVELOPMENT

Analisi dei Dati. Lezione 10 Introduzione al Datwarehouse

Estensioni del linguaggio SQL per interrogazioni OLAP

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

Data Warehousing (DW)

Data warehouse Introduzione

DATABASE PER IL WEB. Programmazione Web 1

SQL - Funzioni di gruppo

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

Data warehousing con SQL Server

Interrogazioni complesse. SQL avanzato 1

Corso di Laboratorio di Basi di Dati

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

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

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

PostgreSQL 8.4. Associazione Italiana PostgreSQL Users Group ConfSL 2009 Speaker's Corner Bologna, 13 Giugno 2009

OLAP On Line Analytical Processing

Istruzioni DML di SQL

CAPITOLO V. DATABASE: Il modello relazionale

Rassegna sui principi e sui sistemi di Data Warehousing

Data management a.a Il linguaggio SQL

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Misure. Definizione delle misure

SQL (STRUCTURED QUERY LANGUAGE)

Generazione di Numeri Casuali- Parte 2

PROGRAMMA DI INFORMATICA ARTICOLAZIONE AFM/RIM CLASSE TERZA SEZ. A. DOCENTE: Noto Giancarlo

Breve introduzione ai data warehouse (per gli allievi che non hanno seguito BD2)

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL

Esame di Informatica Generale 25 giugno 2010 Professori: Carulli, Fiorino, Mazzei

Misure (parte II) Gerarchie Incomplete

cliente... nuovo cliente trasloco

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

A.S. 2014/2015- Programma svolto di INFORMATICA ITCG E. Fermi Tivoli classe V C SIA. Programma svolto di. Informatica. classe VC S.I.A a.s.

Sistema informativo. Combinazione di risorse umane, materiali e procedure per la gestione. (raccolta, archiviazione, elaborazione, scambio )

Structured Query Language parte 1

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

Data warehousing Mario Guarracino Laboratorio di Sistemi Informativi Aziendali a.a. 2006/2007

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004

Modulo 1 Information Communication Technology. ICT e computer... Pag. 6 Classificazione dei computer...» 8

Introduzione a data warehousing e OLAP

2011 Politecnico di Torino 1

anno conferenza Voto articolo argomento ambito di ricerca Modalità di pagamento Quota d iscrizione Sconto mese

Data warehousing con SQL Server

la navigazione dei contenuti

OSSIF WEB. Manuale query builder

SQL IL LINGUAGGIO DI INTERROGAZIONE

Misura delle prestazioni dei processi aziendali con sistemi di integrazione dati open source

PROGRAMMA DI INFORMATICA CLASSE TERZA SEZ. A. CORSO Amministrazione Finanza e Marketing. DOCENTE: Noto Giancarlo

CONCETTO DI ANNIDAMENTO

SQL: definizione schema

Indice Introduzione Elementi di base dei database Il linguaggio SQL (Structured Query Language)

Note_Batch_Application 04/02/2011

PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE

Data warehousing Mario Guarracino Data Mining a.a. 2010/2011

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Programmazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. Bob Kowalski: "Algoritmo = Logica + Controllo"

Operazioni sui database

Le aree dell informatica

MAX, SUM, AVG, COUNT)

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

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

Agenda. I sistemi a supporto delle decisioni Information Directory Sviluppi futuri. Cinque anni di Data Warehouse:dai dati alle decisioni 1

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

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

Si considerino le seguenti specifiche per la realizzazione di un sito web per la gestione di abbonamenti a riviste di vario genere..

Le applicazioni SSD di analisi. multidimensionale I I Cubi

Logout [ e01692 ] FAQ Cerca Iscritti Pannello di Controllo Utente. Ultimo accesso: ieri, 8:07 Oggi è 07/04/2009, 9:44

MEZZI CodM Tipo Targa AnnoI Assicurato

Sistemi per le decisioni Dai sistemi gestionali ai sistemi di governo

Lezione 3. Modello Multidimensionale dei Dati Metadati per il Data Warehousing Accesso ai Data Warehouses Implementazioni per il Data Warehousing

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME

Il linguaggio SQL e Access

Il BACKUP è disponibile in

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

ETICHETTE. Gestione Etichette e Sovrappacchi. Release 5.20 Manuale Operativo

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria di Modena

PIANO DI LAVORO. a.s / 2015

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

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

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

Introduzione al linguaggio SQL

Data warehouse. Architettura complessiva con OLTP e OLAP OLTP. Sistemi di supporto alle decisioni

Titolo. Manuale Configurazione ODBC Firebird

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

Il linguaggio SQL: viste e tabelle derivate

SQL. Structured Query Language

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

Basi di Dati. Esercitazione SQL. Ing. Paolo Cappellari

Data warehousing con SQL Server

Transcript:

atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati ata warehouse Analisi dei dati ATA WAREHOUSE: OLAP - 1 atabase and data mining group, M B G atabase and data mining group, Ambiente controllato di query Sono definite ricerche complesse con struttura prefissata (normalmente parametrica) procedure specifiche di analisi rapporti con struttura prefissata È possibile introdurre elementi specifici del settore economico considerato È necessario lo sviluppo di codice ad hoc si utilizzano stored procedures, applicazioni contenute in packages, join e aggregazioni predefinite sono disponibili strumenti flessibili per la gestione della reportistica, che permettono di definire layout, periodicità di pubblicazione, liste di distribuzione ATA WAREHOUSE: OLAP - 4 atabase and data mining group, Operazioni di analisi dei dati Calcolo di funzioni aggregate lungo una o più dimensioni necessità di fornire supporto a diversi tipi di funzione aggregata (esempi: media mobile, top ten) Operazioni di confronto, essenziali per confrontare l andamento degli affari (esempio: confronto dei dati delle vendite in mesi diversi) è difficile eseguire confronti utilizzando solo il linguaggio SQL Analisi dei dati mediante tecniche di data mining atabase and data mining group, Ambiente di query ad hoc È possibile definire interrogazioni OLAP di tipo arbitrario, progettate al momento dall utente formulazione delle interrogazioni mediante tecniche point and click, che generano automaticamente istruzioni SQL si possono definire interrogazioni (tipicamente) complesse interfaccia basata sul paradigma dello spreadsheet Una sessione di lavoro OLAP permette raffinamenti successivi della stessa interrogazione Utile quando i rapporti predefiniti non sono adeguati ATA WAREHOUSE: OLAP - 2 ATA WAREHOUSE: OLAP - 5 Strumenti di interfaccia atabase and data mining group, atabase and data mining group, M B G L utente può interrogare il data warehouse mediante strumenti di vario tipo: ambiente controllato di query strumenti specifici di query e generazione rapporti strumenti di data mining OLAP ATA WAREHOUSE: OLAP - 3 ATA WAREHOUSE: OLAP - 6 Pag. 1

atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati Analisi OLAP atabase and data mining group, Roll up atabase and data mining group, Operazioni di ricerca disponibili roll up, drill down slice and dice pivot di tabelle ordinamento Le operazioni possono essere combinate tra loro nella stessa query eseguite in una sequenza di raffinamenti successivi della stessa query che forma la sessione di lavoro OLAP ATA WAREHOUSE: OLAP - 7 Tratto da Golfarelli, Rizzi, ata warehouse, teoria e pratica della progettazione, McGraw Hill 2006 ATA WAREHOUSE: OLAP - 10 Roll up atabase and data mining group, Roll up atabase and data mining group, Riduzione di dettaglio dei dati mediante la riduzione del livello di dettaglio di una delle dimensioni presenti, con l aumento di livello in una gerarchia esempio group by negozio, mese group by città, mese l eliminazione di una delle dimensioni presenti esempio group by prodotto, città group by prodotto Tratto da Golfarelli, Rizzi, ata warehouse, teoria e pratica della progettazione, McGraw Hill 2006 ATA WAREHOUSE: OLAP - 8 ATA WAREHOUSE: OLAP - 11 Roll up atabase and data mining group, rill down atabase and data mining group, Tratto da Golfarelli, Rizzi, ata warehouse, teoria e pratica della progettazione, McGraw Hill 2006 Aumento di dettaglio dei dati mediante l aumento del livello di dettaglio di una delle dimensioni presenti, con la riduzione di livello in una gerarchia esempio: da raggruppamento per città e mese a raggruppamento per negozio e mese l aggiunta di una nuova dimensione esempio: da raggruppamento per città, raggruppamento per città e prodotto Spesso il drill down opera su un sottoinsieme dei dati di partenza ATA WAREHOUSE: OLAP - 9 ATA WAREHOUSE: OLAP - 12 Pag. 2

atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati rill down atabase and data mining group, Slice and dice atabase and data mining group, Riduzione del volume dei dati da analizzare selezione di un sottoinsieme mediante predicati slice: predicato di uguaglianza che seleziona una fetta esempio: Anno=2005 dice: combinazione di predicati che seleziona un cubetto esempio: Categoria= Alimentari and Città= Torino Tratto da Golfarelli, Rizzi, ata warehouse, teoria e pratica della progettazione, McGraw Hill 2006 ATA WAREHOUSE: OLAP - 13 ATA WAREHOUSE: OLAP - 16 rill down atabase and data mining group, Slice and dice atabase and data mining group, Tratto da Golfarelli, Rizzi, ata warehouse, teoria e pratica della progettazione, McGraw Hill 2006 ATA WAREHOUSE: OLAP - 14 Tratto da Golfarelli, Rizzi, ata warehouse, teoria e pratica della progettazione, McGraw Hill 2006 ATA WAREHOUSE: OLAP - 17 rill down atabase and data mining group, Slice and dice atabase and data mining group, Tratto da Golfarelli, Rizzi, ata warehouse, teoria e pratica della progettazione, McGraw Hill 2006 ATA WAREHOUSE: OLAP - 15 Tratto da Golfarelli, Rizzi, ata warehouse, teoria e pratica della progettazione, McGraw Hill 2006 ATA WAREHOUSE: OLAP - 18 Pag. 3

atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati Slice and dice atabase and data mining group, Pivot atabase and data mining group, ATA WAREHOUSE: OLAP - 19 Tratto da Golfarelli, Rizzi, ata warehouse, teoria e pratica della progettazione, McGraw Hill 2006 Tratto da Golfarelli, Rizzi, ata warehouse, teoria e pratica della progettazione, McGraw Hill 2006 ATA WAREHOUSE: OLAP - 22 Pivot atabase and data mining group, Pivot atabase and data mining group, Riorganizzazione dell orientamento della struttura multidimensionale senza variare il livello di dettaglio permette una visualizzazione più chiara delle stesse informazioni la rappresentazione dei dati multidimensionali rimane sotto forma di griglia due dimensioni sono gli assi principali della griglia varia la posizione delle dimensioni nella griglia ATA WAREHOUSE: OLAP - 20 Tratto da Golfarelli, Rizzi, ata warehouse, teoria e pratica della progettazione, McGraw Hill 2006 ATA WAREHOUSE: OLAP - 23 Pivot atabase and data mining group, atabase and data mining group, M B G Estensioni del linguaggio SQL Tratto da Golfarelli, Rizzi, ata warehouse, teoria e pratica della progettazione, McGraw Hill 2006 ATA WAREHOUSE: OLAP - 21 ATA WAREHOUSE: OLAP - 24 Pag. 4

atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati atabase and data mining group, Estensioni del linguaggio SQL Gli strumenti di interfaccia richiedono nuove funzioni aggregate funzioni aggregate utilizzate per le analisi economiche (media mobile, mediana,...) posizione nell ordinamento funzioni i per la generazione di rapporti definizione di totali parziali e cumulativi Lo standard ANSI ha accettato la proposta di nuove funzioni OLAP incorporate nei prodotti a partire da B2 UB 7.1, Oracle 8i v2 Funzioni OLAP in SQL atabase and data mining group, Nuova classe di funzioni aggregate (funzioni OLAP) caratterizzate da: finestra di calcolo, all interno di cui è possibile specificare il calcolo di funzioni aggregate possibilità di calcolare totali cumulativi e media mobile nuove funzioni aggregate per ricavare la posizione nell ordinamento (ranking) ATA WAREHOUSE: OLAP - 25 ATA WAREHOUSE: OLAP - 28 atabase and data mining group, Estensioni del linguaggio SQL Gli strumenti di interfaccia richiedono operatori per il calcolo di più raggruppamenti (group by) diversi nello stesso momento Lo standard SQL-99 (SQL3) ha esteso la clausola group by di SQL Finestra di calcolo atabase and data mining group, Nuova clausola window caratterizzata da: partizionamento: divide le righe in gruppi, senza collassarle (diverso da group by) assenza di partizionamento: un solo gruppo ordinamento delle righe separatamente all interno di ogni partizione (simile a order by) finestra di aggregazione: definisce il gruppo di righe su cui l aggregato è calcolato, per ciascuna riga della partizione ATA WAREHOUSE: OLAP - 26 ATA WAREHOUSE: OLAP - 29 Base di dati di esempio Vendite(Città,Mese,Importo) Città Mese Importo Milano 7 110 Milano 8 10 Milano 9 70 Milano 10 90 Milano 11 35 Milano 12 135 Torino 7 70 Torino 8 35 Torino 9 80 Torino 10 95 Torino 11 50 Torino 12 120 ATA WAREHOUSE: OLAP - 27 atabase and data mining group, Visualizzare, per ogni città e mese l importo delle vendite la media rispetto al mese corrente e ai due mesi precedenti, separatamente per ogni città ATA WAREHOUSE: OLAP - 30 atabase and data mining group, Pag. 5

atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati atabase and data mining group, Partizionamento in base alla città il calcolo della media è azzerato ogni volta che cambia la città Ordinamento in base al mese per calcolare la media mobile sul mese corrente insieme ai due mesi precedenti senza ordinamento, il calcolo sarebbe privo di significato imensione della finestra di calcolo: riga corrente e le due righe precedenti Risultato Città Mese Importo MediaMobile Milano 7 110 110 Milano 8 10 60 Milano 9 90 70 Milano 10 80 60 Milano 11 40 60 Milano 12 140 90 Torino 7 70 70 Torino 8 30 50 Torino 9 80 60 Torino 10 100 70 Torino 11 50 60 Torino 12 150 100 atabase and data mining group, Partizione 1 Partizione 2 ATA WAREHOUSE: OLAP - 31 ATA WAREHOUSE: OLAP - 34 atabase and data mining group, SELECT Città, Mese, Importo, AVG(Importo) OVER Wavg AS MediaMobile WINOW Wavg AS (PARTITION BY Città ORER BY Mese ROWS 2 PRECEING) Osservazioni atabase and data mining group, E` necessario specificare l ordinamento, perché l aggregazione richiesta utilizza le righe in modo ordinato l ordinamento indicato non corrisponde ad un ordine predefinito delle righe in output Quando la finestra è incompleta, il calcolo l è effettuato sulla parte presente è possibile specificare che, se la finestra è incompleta, il risultato deve essere NULL E` possibile specificare più finestre di calcolo diverse ATA WAREHOUSE: OLAP - 32 ATA WAREHOUSE: OLAP - 35 atabase and data mining group, Finestra di aggregazione atabase and data mining group, SELECT Città, Mese, Importo, AVG(Importo) OVER (PARTITION BY Città ORER BY Mese ROWS 2 PRECEING) AS MediaMobile La finestra mobile su cui è effettuato il calcolo dell aggregato può essere definita a livello fisico, formando il gruppo mediante conteggio delle righe esempio: la riga corrente e le due righe precedenti a livello logico, formando il gruppo in base alla definizione di un intervallo intorno alla chiave di ordinamento esempio: il mese corrente e i due mesi precedenti ATA WAREHOUSE: OLAP - 33 ATA WAREHOUSE: OLAP - 36 Pag. 6

atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati atabase and data mining group, efinizione intervallo fisico Tra un estremo inferiore e la riga corrente ROWS 2 PRECEING Tra un estremo inferiore e uno superiore ROWS BETWEEN 1 PRECEING AN 1 FOLLOWING ROWS BETWEEN 3 PRECEING AN 1 PRECEING Tra l inizio (o la fine) della partizione e la riga corrente ROWS UNBOUNE PRECEING (o FOLLOWING) Raggruppamento logico atabase and data mining group, Adatto per dati sparsi, che hanno interruzioni nella sequenza esempio: manca un mese nella sequenza non è possibile specificare più di una chiave di ordinamento è possibile utilizzare solo tipi di dato numerici o data come chiave di ordinamento (consentono di scrivere espressioni aritmetiche) ATA WAREHOUSE: OLAP - 37 ATA WAREHOUSE: OLAP - 40 Raggruppamento fisico atabase and data mining group, Adatto per dati che non hanno interruzioni nella sequenza esempio: non manca nessun mese nella sequenza è possibile specificare più di una chiave di ordinamento il raggruppamento ignora le separazioni esempio: ordinamento per mese e anno non occorrono formule per specificare come calcolare la finestra Applicazioni atabase and data mining group, Calcolo di aggregati mobili l aggregato è calcolato su una finestra che scorre sui dati esempi: media mobile, somma mobile Calcolo di totali cumulativi il totale (cumulativo) è incrementato aggiungendo una riga alla volta ATA WAREHOUSE: OLAP - 38 ATA WAREHOUSE: OLAP - 41 atabase and data mining group, efinizione intervallo logico Si utilizza il costrutto range, con la stessa sintassi dell intervallo fisico E` necessario definire la distanza tra gli estremi dell intervallo e il valore corrente sulla chiave di ordinamento RANGE 2 MONTH PRECEING atabase and data mining group, Calcolo di totali cumulativi Visualizzare, per ogni città e mese l importo delle vendite l importo cumulativo delle vendite al trascorrere dei mesi, separatamente per ogni città ATA WAREHOUSE: OLAP - 39 ATA WAREHOUSE: OLAP - 42 Pag. 7

atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati atabase and data mining group, Calcolo di totali cumulativi Partizionamento in base alla città il calcolo della somma cumulativa è azzerato ogni volta che cambia la città Ordinamento (crescente) in base al mese per calcolare la somma al passare dei mesi senza ordinamento, il calcolo sarebbe privo di significato imensione della finestra di calcolo: dalla riga iniziale della partizione alla riga corrente atabase and data mining group, Visualizzare, per ogni città e mese l importo delle vendite l importo totale delle vendite sul periodo completo per la città corrente ATA WAREHOUSE: OLAP - 43 ATA WAREHOUSE: OLAP - 46 atabase and data mining group, Calcolo di totali cumulativi SELECT Città, Mese, Importo, SUM(Importo) OVER (PARTITION BY Città ORER BY Mese ROWS UNBOUNE PRECEING) AS SommaCumul atabase and data mining group, Partizionamento in base alla città il calcolo del totale complessivo è azzerato ogni volta che cambia la città Non è necessario l ordinamento il totale complessivo è calcolato indipendentemente dall ordinamento Non è necessaria la finestra di calcolo è l intera partizione ATA WAREHOUSE: OLAP - 44 ATA WAREHOUSE: OLAP - 47 atabase and data mining group, Calcolo di totali cumulativi: risultato Città Mese Importo SommaCumul Milano 7 110 110 Milano 8 10 120 Milano 9 90 210 Milano 10 80 290 Milano 11 40 330 Milano 12 140 470 Torino 7 70 70 Torino 8 30 100 Torino 9 80 180 Torino 10 100 280 Torino 11 50 330 Torino 12 150 480 Partizione 1 Partizione 2 atabase and data mining group, SELECT Città, Mese, Importo, SUM(Importo) OVER (PARTITION BY Città) AS ImpTotale ATA WAREHOUSE: OLAP - 45 ATA WAREHOUSE: OLAP - 48 Pag. 8

atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati atabase and data mining group, Città Mese Importo ImpTotale Milano 7 110 470 Milano 8 10 470 Milano 9 90 470 Milano 10 80 470 Milano 11 40 470 Milano 12 140 470 Torino 7 70 480 Torino 8 30 480 Torino 9 80 480 Torino 10 100 480 Torino 11 50 480 Torino 12 150 480 Partizione 1 Partizione 2 atabase and data mining group, SELECT Città, Mese, Importo Importo/SUM(Importo) OVER () AS PercTotale Importo/SUM(Importo) p OVER (PARTITION BY Città) AS PercCittà Importo/SUM(Importo) OVER (PARTITION BY Mese) AS PercMese ATA WAREHOUSE: OLAP - 49 ATA WAREHOUSE: OLAP - 52 atabase and data mining group, Visualizzare, per ogni città e mese l importo il rapporto tra l importo della riga corrente per le vendite e il totale complessivo o il rapporto tra l importo della riga corrente per le vendite e il totale complessivo per città il rapporto tra l importo della riga corrente per le vendite e il totale complessivo per mese ATA WAREHOUSE: OLAP - 50 atabase and data mining group, Città Mese Importo PercTotale PercCittà PercMese Milano 7 110 110/950 110/470 110/180 Milano 8 10 10/950 10/470 10/40 Milano 9 90 90/950 90/470 90/170 Milano 10 80 80/950 80/470 80/180 Milano 11 40 40/950 40/470 40/90 Milano 12 140 140/950 140/470 140/290 Torino 7 70 70/950 70/480 70/180 Torino 8 30 30/950 30/480 30/40 Torino 9 80 80/950 80/480 80/170 Torino 10 100 100/950 100/480 100/180 Torino 11 50 50/950 50/480 50/90 Torino 12 150 150/950 150/480 150/290 ATA WAREHOUSE: OLAP - 53 atabase and data mining group, Tre finestre di calcolo diverse totale complessivo: nessun partizionamento totale per città: partizionamento per città totale per mese: partizionamento i per mese Non è necessario l ordinamento per nessuna finestra il totale complessivo è calcolato indipendentemente dall ordinamento La finestra di calcolo è sempre l intera partizione Group by e finestre atabase and data mining group, E` possibile abbinare l uso di finestre con il raggruppamento eseguito dalla clausola group by La tabella temporanea generata dall esecuzione della clausola group by (con eventuale calcolo di funzioni aggregate abbinate al group by) diviene l operando a cui applicare le operazioni definite per la window ATA WAREHOUSE: OLAP - 51 ATA WAREHOUSE: OLAP - 54 Pag. 9

atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati atabase and data mining group, Funzioni di ranking atabase and data mining group, Si supponga che la tabella Vendite contenga informazioni sulle vendite con granularità giornaliera Visualizzare, per ogni città e mese l importo delle vendite la media rispetto al mese corrente e ai due mesi precedenti, separatamente per ogni città Funzioni per calcolare la posizione di un valore all interno di una partizione funzione rank(): calcola la posizione, lasciando intervalli vuoti successivi alla presenza di pari merito esempio: 2 primi, subito dopo vi è il terzo nella graduatoria funzione denserank(): calcola la posizione, senza lasciare intervalli vuoti successivi alla presenza di pari merito esempio: 2 primi, subito dopo vi è il secondo nella graduatoria ATA WAREHOUSE: OLAP - 55 ATA WAREHOUSE: OLAP - 58 atabase and data mining group, atabase and data mining group, E` necessario raggruppare i dati per mese e calcolare l importo totale per mese prima di effettuare il calcolo della media mobile si usa la clausola group by per calcolare il totale mensile La tabella temporanea generata dalla prima aggregazione diviene l operando su cui definire la finestra di calcolo Visualizzare, per ogni città nel mese di dicembre l importo delle vendite la posizione nella graduatoria ATA WAREHOUSE: OLAP - 56 ATA WAREHOUSE: OLAP - 59 atabase and data mining group, atabase and data mining group, SELECT Città, Mese, SUM(Importo) AS TotMese, AVG(SUM(Importo)) OVER (PARTITION BY Città ORER BY Mese ROWS 2 PRECEING) AS MediaMobile,... WHERE <cond. join> GROUP BY Città, Mese Non occorre partizionamento una sola partizione che include tutte le città Ordinamento in base all importo per stilare la graduatoria senza ordinamento, il calcolo l sarebbe privo di significato ifi La finestra di calcolo è l intera partizione ATA WAREHOUSE: OLAP - 57 ATA WAREHOUSE: OLAP - 60 Pag. 10

atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati atabase and data mining group, atabase and data mining group, SELECT Città, Importo, RANK() OVER (ORER BY Importo ESC) AS Graduatoria WHERE Mese = 12 SELECT Città, Importo, RANK() OVER (ORER BY Importo ESC) AS Graduatoria WHERE Mese = 12 ORER BY Città Città Importo Graduatoria Milano 140 2 Torino 150 1 ATA WAREHOUSE: OLAP - 61 ATA WAREHOUSE: OLAP - 64 Risultato atabase and data mining group, atabase and data mining group, Estensioni della clausola group by Città Importo Graduatoria Torino 150 1 Milano 140 2 Gli spreadsheet multidimensionali richiedono più totali parziali in un colpo solo somma delle vendite per mese e città somma delle vendite per mese somma delle vendite per città Per motivi di efficienza è opportuno evitare letture multiple dei dati ordinamenti ridondanti dei dati ATA WAREHOUSE: OLAP - 62 ATA WAREHOUSE: OLAP - 65 atabase and data mining group, Ordinamento del risultato L ordinamento del risultato è ottenuto mediante la clausola order by può essere diverso dall ordinamento delle finestre di calcolo : ordinare il risultato dell esempio esempio precedente in ordine alfabetico di città atabase and data mining group, Estensioni della clausola group by Lo standard SQL-99 ha esteso la sintassi della clausola group by rollup per calcolare le aggregazioni su tutti i gruppi ottenuti togliendo in ordine una colonna per volta dall insieme specificato di colonne cube per calcolare l le aggregazioni i su tutte tt le possibili combinazioni delle colonne specificate grouping sets per specificare un elenco di raggruppamenti richiesti (diversi da quelli ottenibili con le due clausole precedenti) () per richiedere totali generali (nessun raggruppamento) ATA WAREHOUSE: OLAP - 63 ATA WAREHOUSE: OLAP - 66 Pag. 11

atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati Rollup: esempio atabase and data mining group, Si considerino le seguenti tabelle Tempo(Tkey,Giorno,Mese,Anno, ) Supermercato(Skey,Città,Regione, ) Prodotto(Pkey,NomeP,Marca, ) Vendite(Skey,Tkey,Pkey,Importo) Calcolare il totale delle vendite nel 2000 per le seguenti diverse combinazioni di attributi prodotto, mese e città mese, città città Cube: esempio atabase and data mining group, Calcolare il totale delle vendite nel 2000 per tutte le combinazioni dei seguenti attributi prodotto, mese, città Si devono calcolare le seguenti aggregazioni: prodotto, mese, città prodotto, mese mese, città prodotto, città prodotto mese città nessun raggruppamento ATA WAREHOUSE: OLAP - 67 ATA WAREHOUSE: OLAP - 70 Rollup: esempio atabase and data mining group, Cube: esempio atabase and data mining group, SELECT Città, Mese, Pkey, SUM(Importo) AS TotVendite FROM Tempo T, Supermercato S, Vendite V WHERE T.Tkey = V.Tkey AN S.Skey = V.Skey AN Anno = 2000 GROUP BY ROLLUP (Città,Mese,Pkey) L ordinamento delle colonne in rollup determina quali aggregati sono calcolati SELECT Città, Mese, Pkey, SUM(Importo) AS TotVendite FROM Tempo T, Supermercato S, Vendite V WHERE T.Tkey = V.Tkey AN S.Skey = V.Skey AN Anno = 2000 GROUP BY CUBE (Città,Mese,Pkey) L ordinamento delle colonne in cube è ininfluente ATA WAREHOUSE: OLAP - 68 ATA WAREHOUSE: OLAP - 71 Rollup: risultato Città Mese Pkey TotVendite Milano 7 145 110 Milano 7 150 10 Milano Milano 7 NULL 8500 Milano 8 Milano NULL NULL 150000 Torino 150 Torino NULL 2500 Torino NULL NULL 135000 NULL NULL NULL 25005000 atabase and data mining group, I superaggregati sono rappresentati con NULL Calcolo del cubo atabase and data mining group, Si considerano le proprietà distributive e algebriche delle funzioni aggregate le funzioni aggregate distributive (min, max, sum, count) possono essere calcolate a partire da aggregazioni su un numero maggiore di attributi (con granularità maggiore) : dall importo totale su prodotto e mese, si calcola l importo totale per mese per le funzioni aggregate algebriche (avg, ) è possibile il calcolo a partire da aggregazioni su un numero maggiore di atttributi (con granularità maggiore), pur di memorizzare opportuni risultati intermedi : per la media serve conoscere il valore della media nel gruppo il numero di elementi per gruppo ATA WAREHOUSE: OLAP - 69 ATA WAREHOUSE: OLAP - 72 Pag. 12

atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati Calcolo del cubo atabase and data mining group, Per rendere più efficiente il calcolo del cubo, si usano le proprietà distributive/algebriche delle funzioni aggregate si usano i risultati di group by già calcolati l operazione di rollup richiede una sola operazione di ordinamento il cubo può essere visto come una combinazione di più operazioni di rollup (in ordine opportuno) si sfruttano operazioni di sort già eseguite (anche parzialmente) è possibile utilizzare l ordinamento delle colonne (A,B) per ordinare (A,C) ATA WAREHOUSE: OLAP - 73 Grouping Set: esempio atabase and data mining group, Calcolare il totale delle vendite nel 2000 per le seguenti combinazioni di attributi mese mese, città, prodotto Eseguire un rollup richiederebbe il calcolo di aggregati aggiuntivi ATA WAREHOUSE: OLAP - 74 Grouping Set: esempio atabase and data mining group, SELECT Città, Mese, Pkey, SUM(Importo) AS TotVendite FROM Tempo T, Supermercato S, Vendite V WHERE T.Tkey = V.Tkey AN S.Skey = V.Skey AN Anno = 2000 GROUP BY GROUPING SETS (Mese, (Città,Mese,Pkey)) ATA WAREHOUSE: OLAP - 75 Pag. 13