Misure. Definizione delle misure

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Misure. Definizione delle misure"

Transcript

1 Sistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano Misure In parte dal Capitolo 5 del libro Data Warehouse - teoria e pratica della Progettazione Autori: Matteo Golfarelli, Stefano Rizzi; Editore: McGraw-Hill Definizione delle misure! Definire una misura significa specificarne il suo Calcolo sul DBO e la sua Aggregazione nel Data Mart! Calcolo: definire il suo valore per gli eventi primari Normalmente questo valore viene calcolato sul DBO, in fase di alimentazione del Data Mart. Per le misure derivate invece tale valore è derivato a livello di eventi primari - dal valore di altre misure e/o dimensioni! Aggregazione: definire il suo valore per eventi secondari Normalmente questo valore si ottiene tramite un operatore di aggregazione rispetto alle dimensioni del fatto. Per le misure calcolate invece tale valore è calcolato - a livello di eventi secondari e quindi dopo aver aggregato i dati - dal valore di altre misure: " non c è un operatore di aggregazione! 2

2 Esempio! Esempio delle vendite con scontrino (nella tabella, per semplicità, il tipo è sottinteso dal nome del prodotto) VENDITA - DB OPERAZIONALE TIPO PREZZO DATA PRODOTTO (1,N) VENDITA (1,N) SCONTRINO! Misure 1. NUMERO_VENDITE = COUNT(*) 2. PREZZO_MEDIO = AVG (PREZZO) 3. NUMERO_CLIENTI = COUNT(DISTINCT SCONTRINO) il numero clienti è valutato contando gli scontrini 4. NUMERO_PRODOTTI = COUNT(DISTINCT PRODOTTO) per valutare quanti differenti prodotti vengono venduti 3 Esempio: Analisi dei dati - aggregazione! Le dimensioni di analisi sono MESE e TIPO VENDITA - DB OPERAZIONALE! Il report completo da ottenere è il seguente: REPORT : MESE-TIPO, tutte le misure, con i totali Legenda 4

3 Esempio: il report in SQL-OLAP! Il report si può ottenere con i vari strumenti OLAP (cubo multidimensionale, tabelle pivot, SQL-OLAP!) DB OPERAZIONALE! In SQL-OLAP: 5 Esempio : Misure nel Data Mart! Schema di fatto VENDITA! Schema logico con Fact-Table(TIPO,MESE,! TIPO VENDITA NUMERO_VENDITE PREZZO_MEDIO NUMERO_CLIENTI NUMERO_PRODOTTI MESE! Per ogni misura occorre stabilire 1. ALIMENTAZIONE: cosa riportare nella Fact-Table e come calcolarlo a partire dalla sorgente operazionale 2. AGGREGAZIONE: se è possibile (aggregabilità) e come ottenere i valori aggregati a partire da quelli presenti nel Data Mart 6

4 Esempio: Operatore COUNT(*) ALIMENTAZIONE DATA MART NUMERO_VENDITE = COUNT(*) (DATA MART) ANALISI DEI DATI (AGGREGAZIONE) NUMERO_VENDITE = SUM(NUMERO_VENDITE) # Per l operatore COUNT(*) è corretto calcolare il valore aggregato a partire dai valori presenti nel Data Mart! 7 Esempio: Prezzo Medio tramite AVG ALIMENTAZIONE DATA MART PREZZO_MEDIO= AVG(PREZZO) (DATA MART) ANALISI DEI DATI (AGGREGAZIONE) PREZZO_MEDIO= AVG(PREZZO_MEDIO) NO! ( )/2 = NO! ( )/3 = # Per l operatore AVG non è corretto calcolare il valore aggregato a partire dai valori presenti nel Data Mart! 8

5 Esempio: Prezzo Medio calcolato ALIMENTAZIONE DATA MART NUMERO_VENDITE = COUNT(*) PREZZO_SOMMA = SUM(PREZZO) (DATA MART) ANALISI DEI DATI (AGGREGAZIONE) PREZZO_SOMMA PREZZO_MEDIO = NUMERO_VENDITE OK! (25+35)/(1+2) = 20.0 OK! ( )/(2+1+2) = 16.0 # PREZZO_MEDIO deve essere una misura calcolata da altre misure componenti 9 Esempio: Operatore COUNT(DISTINCT ) ALIMENTAZIONE DATA MART NUM_CLIENTI= COUNT(DISTINCT SCONTRINO) (DATA MART) ANALISI DEI DATI (AGGREGAZIONE) NUMERO_CLIENTI= SUM(NUMERO_CLIENTI) NO! 1+1=2 OK! 1+2 = 3 NO! 1+1+2=4 # Per l operatore COUNT(DISTINCT ) non è sempre corretto calcolare il valore aggregato dai valori nel Data Mart : NUMERO_CLIENTI è non aggregabile rispetto a TIPO! 10

6 Esempio: Operatore COUNT(DISTINCT ) ALIMENTAZIONE DATA MART NUMERO_PRODOTTI= COUNT(DISTINCT PRODOTTO) (DATA MART) ANALISI DEI DATI (AGGREGAZIONE) NUMERO_PRODOTTI= SUM(NUMERO_PRODOTTI) OK! 2+1=3 NO! 1+2 = 3 NO! 2+1+2=5 # NUMERO_PRODOTTI è non aggregabile rispetto a MESE: non è possibile calcolare i valori per TOTALE_MESE 11 Per riassumere: DB (SORGENTE OPERAZIONALE) ALIMENTAZIONE DATA MART Pattern Primario {MESE,TIPO} ANALISI DEI DATI (AGGREGAZIONE) Pattern {MESE} Pattern {TIPO} Pattern {} 12

7 Esempio: Conclusioni e Decisioni! La scelta di un Data Mart con dimensioni TIPO e MESE comporta che alcune delle misure non siano sempre calcolabili!! Se questo non è accettabile a livello di analisi si deve aumentare la granularità del Data Mart!! Per poter sempre calcolare il numero clienti: dimensione SCONTRINO (con TIPO come livello) in modo da poter valutare anche nel Data Mart il numero clienti come NUM_CLIENTI=COUNT(DISTINCT SCONTRINO)! Per poter sempre calcolare anche il numero prodotti: Massima granularità (schema transazionale): dimensioni SCONTRINO e DATA che coincidono con l identificatore del fatto VENDITA TIPO PRODOTTO VENDITA NUMERO_VENDITE PREZZO_MEDIO NUMERO_CLIENTI NUMERO_PRODOTTI MESE SCONTRINO 13 Esempio: Schema Transazionale! La Fact Table corrisponde alla tabella VENDITE. ALIMENTAZIONE DATA MART! La Fact Table non ha più l attributo NUM_CLIENTI (NUM_PRODOTTI) in quanto ora viene aggregato e calcolato come NUM_CLIENTI= COUNT(DISTINCT SCONTRINO)! Per aggregare e calcolare il prezzo medio, due possibili soluzioni 1. PREZZO_MEDIO = AVG(PREZZO) 2. PREZZO_MEDIO = SUM(PREZZO)/NUMERO_VENDITE = SUM(PREZZO)/COUNT(*)! Queste due soluzioni verranno confrontate nel seguito. 14

8 Esempio: Operatore SUM! Si considera ora anche la quantità venduta QTY (aggregata tramite SUM) e quindi l incasso definito come QTY*PREZZO! Il report completo da ottenere viene ricavato in SQL-OLAP (per semplicità non si riportano alcune delle misure già discusse) DB OPERAZIONALE QTY= SUM(QTY) INCASSO= SUM(QTY*PREZZO) NUMERO_VENDITE = COUNT(*) PREZZO_MEDIO= AVG(PREZZO) 15 Esempio : Misure Derivate! Schema di fatto VENDITA (schema temporale) TIPO VENDITA NUMERO_VENDITE PREZZO_MEDIO QTY INCASSO MESE! INCASSO non è derivabile da altre misure della Fact Table:?! Occorre riportare INCASSO nella Fact Table ed alimentarla: ALIMENTAZIONE DATA MART INCASSO= SUM(QTY*PREZZO) 16

9 Esempio : Misure Derivate! Schema di fatto VENDITA (schema transazionale) TIPO PRODOTTO VENDITA NUMERO_VENDITE PREZZO_MEDIO QTY INCASSO MESE SCONTRINO! INCASSO è ora derivabile dalle altre misure e quindi non è riportata nella Fact Table: INCASSO=QTY*PREZZO! INCASSO è aggregata tramite SUM ANALISI DEI DATI (AGGREGAZIONE) Pattern {MESE,TIPO} 17 Misure normali e misure derivate! Misure Normali : il valore si ottiene $ per gli eventi primari : dal DBO (alimentazione) $ per gli eventi secondari: tramite operatore di aggregazione $ Una misura normale deve essere inclusa nella Fact Table e deve essere inclusa nel Cubo OLAP! Misure Derivate : il valore si ottiene $ per gli eventi primari: dal valore di altre misure e/o dimensioni $ per gli eventi secondari: tramite operatore di aggregazione $ Una misura derivata non viene normalmente inclusa nella Fact Table (a volte si include per poter fare calcoli particolari o per semplificare) ma deve essere inclusa nel Cubo OLAP 18

10 Misure calcolate! Misure Calcolate: il valore si ottiene $ per gli eventi primari: dal valore di altre misure $ per gli eventi secondari: dal valore di altre misure $ Per una misura calcolata la Fact Table deve contenere tutte le altre misure usate per il suo calcolo (misure componenti) $ Una misura calcolata non è inclusa direttamente nel Cubo OLAP ma viene definita come membro calcolato $ Generalmente le misure componenti sono delle misure normali, a volte delle misure derivate, raramente altre misure calcolate! Un eccezione a questa classificazione (Normali, Derivate e Calcolate ) è la misura CONTEGGIO (schemi di fatto vuoti) il cui valore $ per gli eventi primari: è 1 $ per gli eventi secondari: operatore di aggregazione COUNT(*) 19 Aggregabilità ed Additività! Una misura è aggregabile su una dimensione se i suoi valori possono essere aggregati lungo la corrispondente gerarchia, altrimenti è non-aggregabile! Una misura è additiva su una dimensione se i suoi valori possono essere aggregati lungo la gerarchia tramite l operatore di somma, altrimenti è non-additiva.! Classificazione delle misure dell esempio: 1. NUMERO_VENDITE: additiva (su tutte le dimensioni) 2. PREZZO_MEDIO: aggregabile ma non-additiva 3. NUMERO_CLIENTI: additiva su MESE, non-aggregabile su TIPO 4. NUMERO_PRODOTTI: additiva su TIPO, non-aggregabile su MESE 5. QTY e INCASSO: additive (su tutte le dimensioni) 20

11 Aggregabilità ed Additività! Rappresentazione grafica TIPO VENDITA NUMERO_VENDITE (C) PREZZO_MEDIO (AVG) QTY INCASSO NUMERO_CLIENTI NUMERO_PRODOTTI MESE! (AVG) : tra parentesi l operatore di aggregazione! (C) : misura è calcolata! Additività : è il default, cioè è sottointeso (SUM)! Linea tratteggiata: non aggregabilità rispetto alla dimensione 21 Differenti operatori per dimensione! Ipotesi: per ogni misura, è definito un unico operatore di aggregazione valido per ogni dimensione $ Le misure con differenti operatori verranno solo introdotte nel seguito, rimandando il loro trattamento allo specifico sistema OLAP! Esempio di misura con differenti operatori di aggregazione anno mese data peso confezione prodotto tipo INVENTARIO reparto categoria marca unità per pallet indirizzo La misura livello è additiva rispetto alle dimensioni prodotto e magazzino mentre è non-additiva ma aggregabile rispetto a data con operatori quali AVG e MIN AVG, MIN livello quantità ingresso magazzino città stato 22

12 Schemi di fatto vuoti! In uno schema di fatto vuoto non ci sono misure memorizzate nello schema di fatto (e quindi riportate nello schema logico, cioè nella Fact Table): l unica misura, implicitamente definita, è il conteggio degli eventi primari, nel nostro esempio il numero di presenze dello studente! Un altro modo di rappresentare il verificarsi di un evento è attraverso una misura normale di tipo booleana, additiva: normalmente questa misura assume il solo valore 1 (evento che si è verificato) e non il valore 0 (nello schema di fatto non si rappresentano gli eventi che non si verificano).! Una misura vuota per il conteggio degli eventi primari può essere presente anche con altre misure. Ad esempio, nello schema di fatto FREQUENZA (non più vuoto) si riportano le seguenti misure 1. (COUNT) conteggio degli eventi primari 2. VOTO (AVG) : voto medio riportato 3. NUMERO_ORE: misura additiva, numero complessivo delle ore 23 Schemi di fatto vuoti (CONTEGGIO)! Uno schema di fatto si dice vuoto se non ha misure $ In questo caso, il fatto registra solo il verificarsi di un evento $ Un evento primario rappresenta che si è verificato l evento (uno studente ha frequentato un corso durante un semestre) $ Un evento secondario rappresenta normalmente il numero di eventi primari ad esso corrispondenti, ovvero si usa come operatore di aggregazione il COUNT semestre anno professore indirizzo nome studente nazionalità età sesso FREQUENZA (COUNT) corso area facoltà 24

13 Operatori di aggregazione! Classificazione degli operatori di aggregazione : 1) Distributivi: permettono di calcolare dati aggregati direttamente da dati parzialmente aggregati (es. somma, massimo, minimo, conteggio) 2) Algebrici: richiedono un numero finito di informazioni aggiuntive (misure di supporto) per calcolare dati aggregati da dati parzialmente aggregati Es. media richiede il numero dei dati elementari che hanno contribuito a formare un singolo dato parzialmente aggregato " una misura da aggregare tramite l operatore media è una misura calcolata come somma/conteggio 3) Olistici: non permettono di calcolare dati aggregati a partire da dati parzialmente aggregati utilizzando un numero finito di informazioni aggiuntive (es. mediana, moda) 25 Operatori Distributivi ed Algebrici! Misure definite con operatori Distributivi ed Algebrici permettono di calcolare dati aggregati a partire da dati parzialmente aggregati. Esempi: 1. operatore SUM - misura additiva QTY; 2. operatore AVG - misura calcolata PREZZO_MEDIO=PREZZO_SUM/PREZZO_COUNT Pattern Primario {MESE,TIPO} Pattern {MESE} Pattern {TIPO} Pattern {} 26

14 Calcolo delle misure: Viste materializzate! La proprietà di calcolare dati aggregati a partire da dati parzialmente aggregati è fondamentale nei sistemi OLAP:! Nei sistemi OLAP, un aumento delle prestazioni può essere ottenuto pre-calcolando i dati aggregati di uso più comune, cioè pre-calcolando alcuni pattern! L ottimizzazione usa il concetto di vista materializzata: $ Vista : le sue tuple sono determinate da una query $ Materializzata : le sue tuple sono memorizzate in una tabella # Argomento Viste materializzate 27 Schema Transazionale - Operatore AVG! In uno schema transazionale (vedi pag. 14) per aggregare e calcolare il prezzo medio, due possibili soluzioni 1. Si riporta PREZZO nella Fact Table e si utilizza AVG PREZZO_MEDIO = AVG(PREZZO) 2. Come nel caso temporale, si riportano nella Fact Table due misure normali additive PREZZO_SUM e PREZZO_COUNT e si usa la misura calcolata PREZZO_MEDIO=PREZZO_SUM/PREZZO_COUNT! E facile verificare che solo con la seconda soluzione è possibile calcolare dati aggregati a partire da dati parzialmente aggregati!! In alcuni sistemi OLAP (es. Analysis Services) AVG non viene reso disponibile! 28

15 Nota sul Prezzo Medio calcolato! Nel calcolo del prezzo medio i valori NULL di PREZZO (se consentiti nel DBO) devono essere trascurati!! In SQL, gli operatori AVG() e SUM() e COUNT() trascurano i NULL, che invece vengono contati con COUNT(*).! Per gestire i valori NULL nella misura calcolata: PREZZO_MEDIO=PREZZO_SUM/PREZZO_COUNT Quindi PREZZO_COUNT deve essere calcolata dal DBO come 1. Schema Transazionale: PREZZO_COUNT=WHEN PREZZO IS NULL THEN 0 ELSE 1 2. Schema Temporale: PREZZO_COUNT=COUNT(PREZZO) dove COUNT(PREZZO) coincide con COUNT(*) solo se PREZZO non ammette valori NULL: 29 Operatori distributivi! Distributivi: permettono di calcolare dati aggregati a partire direttamente da dati parzialmente aggregati.! Sia S un insieme di dati ed S1,..., Sn una sua partizione. Una funzione di aggregazione F è distributiva se esiste una funzione G tale che: F(S1,..., Sn) = G(F(S1),!, F(Sn))! Operatore somma: F= sum(); in questo caso G=F sum(s1,..., Sn)=sum(sum(S1),... sum(sn))! Operatore conteggio: F= count(); in questo caso G=sum() (cioè <>F) count(s1,..., Sn)=sum(count(S1),..., count(sn)) 30

16 Operatori di aggregazione distributivi! Per approfondire: articolo sull operatore WITH CUBE Nel seguito una verifica informale sul nostro esempio Tabella VENDITA nel DBO S = {A,B,C,D,E} A B C D E ALIMENTAZIONE DATA MART Pattern Primario {MESE,TIPO} S1 = { A, B } S2 = { C } S3 = { D, E }! S = {A,B,C,D,E } : tuple di VENDITA nel DBO! La prima tupla della Fact Table raggruppa le tuple A, B quindi S1 = {A,B} e cosi via: S2 = { C} e S3 = {D, E} La Fact Table è quindi una partizione del DBO. 31 Operatori di aggregazione distributivi! Consideriamo le due misure con operatori distributivi: $ PREZZO_SOM con operatore sum: sum(s1,s2,s3) = 80 = sum(sum(s1), sum(s2),sum(s3)) = sum(20,25,35) = 80 $ NUM_VENDITE con operatore count: count(s1,s2,s3) = 5 = sum(count(s1), count(s2), count(s3)) = sum(2,1,2) = 5! Consideriamo la misura NUM_CLIENTE con operatore non distributivo count distinct: $ NUM_CLIENTI con operatore count distinct SCONTRINO: dcount(s1,s2,s3) = 3 " sum(dcount(s1),dcount(s2),dcount(s3)) = sum(1,1,2) = 4 32

17 Operatori di aggregazione distributivi! Per le misure calcolate con operatori distributivi è possibile stabilire la loro aggregabilità 1. L operatore SUM() è distributivo quindi la misura QTY = SUM (QTY) è additiva rispetto a tutte le dimensioni 2. L operatore COUNT (*) è distributivo quindi la misura NUMERO_VENDITE = COUNT(*) è additiva rispetto a tutte le dimensioni 3. L operatore COUNT (DISTINCT ) non è distributivo quindi NUMERO_CLIENTI = COUNT(DISTINCT SCONTRINO) non è necessariamente additiva rispetto a tutte le dimensioni 33 Operatore COUNT (DISTINCT )! Per una misura calcolata sul DBO tramite l operatore COUNT (DISTINCT) vale la seguente proprietà: Dato uno Schema di Fatto F con dimensioni D ed una Misura M=COUNT(DISTINCT A), con A attributo del DBO, per una dimensione D! D, M è additiva rispetto a D se esiste un insieme X" D tale che X # { A } % D non banale altrimenti è non aggregabile rispetto a D! Esempio Schema VENDITA con D = { TIPO,MESE} 1. NUMERO_CLIENTI = COUNT(DISTINCT SCONTRINO) SCONTRINO % MESE: additiva rispetto a MESE SCONTRINO % TIPO: non aggregabile rispetto a TIPO Intuizione della regola : lo SCONTRINO è associato ad un unico MESE ma non ad un unico TIPO 34

18 Insieme delle Non-Aggregabilità (NA)! Dato uno Schema di Fatto F con dimensioni D Per una misura M si considera la sua aggregabilità rispetto a ciascuna dimensione D! D e si definisce quindi l insieme delle nonaggregabilità NA " D di M! Dato un generico pattern P, il valore aggregato di M è calcolabile per P se P contiene NA : NA " P! Per questi pattern P il valore aggregato di M viene calcolato usando l operatore di aggregazione specificato per le Di! A! Esempio schema VENDITA con D = { TIPO,MESE} M=NUMERO_CLIENTI = COUNT(DISTINCT SCONTRINO) M additiva rispetto a MESE, in quanto SCONTRINO% MESE Non aggregabilità NA = {TIPO} " M è calcolabile (con SUM) per ogni pattern che contiene {TIPO}. 35 Aggregabilità delle misure: esempio PRODOTTO PRODOTTO (1,N) IN (1,1) DATA VENDITA NS VENDITA QUANTITA DATA TIPO QUANTITA NUM_CLIENTI PRODOTTO TIPO! Misura NUM_CLIENTI = COUNT(DISTINCT NS)! {Data, NS } % PRODOTTO: additiva rispetto a PRODOTTO! NS % DATA: non aggregabile rispetto a DATA! Intuizione della regola di aggregabilità! {Data, NS } % PRODOTTO : per una certa data, c è un associazione tra NS e PRODOTTO di tipo uno-a-molti # Per la misura NUM_CLIENTI l insieme delle non-aggregabilità è NA = { DATA}, quindi il suo valore aggregato è calcolabile (tramite SUM) solo per i pattern che contengono NA, cioè per {DATA} e {DATA, TIPO} 36

19 Aggregabilità delle misure derivate CATEGORIA PREZZO DATA TIPO (1,N) HA (1,1) PRODOTTO (1,N) VENDITA (1,N) SCONTRINO! Definizione delle Misure: 1. NUMERO_CLIENTI = COUNT(DISTINCT SCONTRINO) 2. NUMERO_PRODOTTI = COUNT(DISTINCT PRODOTTO) CATEGORIA TIPO VENDITA NUMERO_PRODOTTI NUMERO_CLIENTI (COUNT DISTINCT) MESE SCONTRINO! NUMERO_CLIENTI è una misura derivata, aggregabile rispetto a tutte le dimensioni tramite COUNT DISTINCT! NUMERO_PRODOTTI è additiva su TIPO (in quanto PRODOTTO % TIPO) e non aggregabile rispetto alle altre dimensioni (SCONTRINO) $ è calcolabile solo per i pattern che contengono SCONTRINO, quindi non è calcolabile neanche per il pattern {MESE}! 37 Aggregabilità e FD tra le dimensioni! Nel caso particolare di dipendenze funzionali tra dimensioni occorre fare delle precisazioni sull aggregabilità delle misure! La considerazione è semplice: se ho D={D1,!, Dn} con {D1,!, Dn-1} % Dn allora tutte le misure restano invariate in {D1,!, Dn-1}!! Quindi Dn non può appartenere a nessun insieme NA "il calcolo di NA viene fatto rispetto allo schema equivalente senza FD tra le dimensioni! Esempio: allo schema precedente si aggiunge la dimensione IVA con la FD: {PRODOTTO,DATA} % IVA! Le non-aggregabilità si valutano rispetto allo schema equivalente in cui IVA è cross-dimensionale IVA PRODOTTO VENDITA QUANTITA NUM_CLIENTI DATA TIPO 38

20 Non aggregabilità nei sistemi OLAP! In un sistema OLAP il calcolo delle misure deve essere definito per ogni possibile aggregazione, ovvero per ogni possibile pattern P del reticolo roll-up.! Per le non aggregabilità si deve implementare la regola: M è calcolabile per P se P contiene NA : NA " P! IF (NA " P) THEN <calcolo> ELSE non calcolabile! In SQL-OLAP : NA " P si formula con GROUPING (G): sia NA= {D1,!, Dk}, allora (NA " P) equivale a G(D1)=0 AND! AND G(Dk)=0! Nei sistemi OLAP che usano MDX, intuitivamente si usa il fatto che il livello dimensione corrisponde ad una foglia: (NA " P) equivale a leaf(d1) AND! AND leaf(dk) 39 ESEMPIO! DBO Schema: istanza (relazione universale): STUDENTE(STUDENTE,CITTA) CORSO(CORSO,CFU,FACOLTA) APPELLO(APPELLO,CORSO:CORSO) ESAME(DATA,STUDENTE:STUDENTE,APPELLO:APPELLO,VOTO)! Dimensioni = { DATA, CITTA, CORSO}; schema temporale! Misure 1. NUM_APPELLI=count(DISTINCT APPELLO) Additiva a CORSO in quanto APPELLO % CORSO 2. NUM_STUDENTI=count(DISTINCT STUDENTE) Additiva rispetto a CITTA in quanto STUDENTE % CITTA Additiva rispetto a CORSO in quanto STUDENTE,DATA % CORSO Infatti STUDENTE,DATA # APPELLO e APPELLO % CORSO 3. NUM_ESAMI=count(*), addittiva 4. CFU=SUM(CFU), addittiva 40

21 ESEMPIO: Schema di fatto e Fact Table! Schema di Fatto FACOLTA CITTA ESAME CORSO NUM_APPELLI NUM_ESAMI CFU NUM_STUDENTI DATA! FACT TABLE c è inoltre la dimension table DT_CORSO(CORSO,FACOLTA)! ALIMENTAZIONE: la è alimentata attraverso la seguente view CREATE VIEW AS SELECT CORSO,CITTA,DATA, CFU=SUM(CFU), NUM_ESAMI=COUNT(*), NUM_APPELLI=COUNT(DISTINCT APPELLO), NUM_STUDENTI=COUNT(DISTINCT STUDENTE) FROM RU GROUP BY CORSO,CITTA,DATA 41 ESEMPIO: pattern {CITTA,DATA}! Misure 1. NUM_APPELLI è additiva rispetto a CORSO, quindi NA={CITTA,DATA} è calcolabile solo per i pattern che contengono CITTA e DATA, quindi i pattern con GROUPING(CITTA)=0 AND GRUPING(DATA)=0; 2. NUM_STUDENTI è addittiva rispetto a CITTA e CORSO, quindi NA={DATA} è calcolabile solo per i pattern che contengono DATA, quindi i pattern con GROUPING(DATA)=0.! Effettuiamo la verifica calcolando il data cube di {CITTA,DATA} sia nel DBO (query sulla relazione RU) che nel Data Mart (query sulla Fact Table) 42

22 ESEMPIO: query in SQL-OLAP 1. Nel DataBase operazionale, la query risulta la seguente: SELECT CITTA=CASE WHEN GROUPING(CITTA)=1 THEN 'ALL_CITTA' ELSE CITTA END, DATA=CASE WHEN GROUPING(DATA)=1 THEN 'ALL_DATA' ELSE DATA END, CFU=SUM(CFU), NUM_STUDENTI=COUNT(DISTINCT STUDENTE), NUM_ESAMI=COUNT(*), NUM_APPELLI=COUNT(DISTINCT APPELLO) FROM RU GROUP BY CITTA,DATA WITH CUBE 2. Nel DataMart, la query sulla risulta la seguente: SELECT CITTA=CASE WHEN GROUPING(CITTA)=1 THEN 'ALL_CITTA' ELSE CITTA END, DATA=CASE WHEN GROUPING(DATA)=1 THEN 'ALL_DATA' ELSE DATA END, CFU=SUM(CFU), NUM_ESAMI=SUM(NUM_ESAMI), NUM_STUDENTI=SUM(NUM_STUDENTI),NUM_APPELLI=SUM(NUM_APPELLI) FROM GROUP BY CITTA, DATA WITH CUBE 43 ESEMPIO: misure NonCalcolabili! Nel DataMart la query può esplicitare quando una misura è NonCalcolabile (il CONVERT è necessario per uniformare i tipi del CASE): SELECT CITTA=CASE WHEN GROUPING(CITTA)=1 THEN 'ALL_CITTA' ELSE CITTA END, DATA=CASE WHEN GROUPING(DATA)=1 THEN 'ALL_DATA' ELSE DATA END, CFU=SUM(CFU), NUM_APPELLI=SUM(NUM_APPELLI), NUM_STUDENTI=CASE WHEN GROUPING(DATA)=0 THEN CONVERT(CHAR(12),SUM(NUM_STUDENTI)) ELSE 'NonCalcolabile END, NUM_APPELLI=CASE WHEN GROUPING(DATA)=0 AND GROUPING(CITTA)=0 THEN CONVERT(CHAR(12),SUM(NUM_APPELLI)) ELSE 'NonCalcolabile' END FROM GROUP BY CITTA, DATA WITH CUBE 44

23 Misura aggregabile con differenti operatori! Per una misura si possono definire differenti operatori di aggregazione per le differenti dimensioni anno mese data peso confezione AVG, MIN prodotto tipo INVENTARIO livello quantità ingresso reparto categoria marca unità per pallet indirizzo magazzino città stato! La misura Livello è addittiva sulle dimensioni Prodotto e Magazzino, mentre rispetto alla dimensione Data si possono usare gli operatori AVG e MIN! Se per Data si usa MIN, nel calcolo di Livello per il pattern {Città, Mese} si deve scegliere se applicare prima MIN e poi SUM (somma dei minimi) o viceversa (minimo della somma) 45 Misura aggregabile con differenti operatori! Livello aggregato tramite SUM su Magazzino e tramite MIN su Data! {Magazzino, Data} 3 Citt Magazzino 1 / 3 2 /3 RE M M Mese Data {Magazzino, Mese} Citt Magazzino 3 RE M1 10 M2 30 Mese {Città, Data} 3 Citt 1 / 3 2 /3 RE Mese Data! Per il Pattern {Città, Mese} si hanno due possibilità: 1. Minimo della Somma = Somma dei Minimi = 40! Nel sistema OLAP di SQL-SERVER (Analysis Services, linguaggio MDX) è possibile definire: # formule personalizzate di rollup per i vari livelli di una dimensione # l ordine di priorità per dire a quale aggregazione dare precedenza 46

Misure (parte II) Gerarchie Incomplete

Misure (parte II) Gerarchie Incomplete Sistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano Misure (parte II) Gerarchie Incomplete Esempio Schema di Fatto STUDENTE(STUDENTE,,REGIONE,), DF:! REGIONE (,,) REGIONE!

Dettagli

Estensioni del linguaggio SQL per interrogazioni OLAP

Estensioni del linguaggio SQL per interrogazioni OLAP Sistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano Estensioni del linguaggio SQL per interrogazioni OLAP Outline! Esempio introduttivo e motivazioni! Introduzione al modello

Dettagli

Data warehousing con SQL Server

Data warehousing con SQL Server 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

Dettagli

Il BACKUP è disponibile in http://www.dbgroup.unimo.it/sia/esercizio_21_novembre_2013/esercizio_21_novembre_2013.bak

Il BACKUP è disponibile in http://www.dbgroup.unimo.it/sia/esercizio_21_novembre_2013/esercizio_21_novembre_2013.bak ESEMPIO DELLE VENDITE: MISURE ED AGGREGABILITA E l esempio discusso nelle dispense è Dispense : http://www.dbgroup.unimo.it/sia/sia_2014_progettazionediundw_misure.pdf esteso e dettagliato. Il BACKUP è

Dettagli

SQL/OLAP. Estensioni OLAP in SQL

SQL/OLAP. Estensioni OLAP in SQL SQL/OLAP Estensioni OLAP in SQL 1 Definizione e calcolo delle misure Definire una misura significa specificare gli operatori di aggregazione rispetto a tutte le dimensioni del fatto Ipotesi: per ogni misura,

Dettagli

Misure. Definizione delle misure. Sistemi Informativi Avanzati Anno Accademico 2015/2016 Prof. Domenico Beneventano. Glossario delle Misure

Misure. Definizione delle misure. Sistemi Informativi Avanzati Anno Accademico 2015/2016 Prof. Domenico Beneventano. Glossario delle Misure Sistemi Informativi Avanzati Anno Accademico 2015/2016 Prof. Domenico Beneventano Misure In parte dal Capitolo 5 del libro Data Warehouse - teoria e pratica della Progettazione Autori: Matteo Golfarelli,

Dettagli

Data warehousing con SQL Server

Data warehousing con SQL Server 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

Dettagli

Biglietti e Ritardi: schema E/R

Biglietti e Ritardi: schema E/R Biglietti e Ritardi: schema E/R Ritardi: Progettazione dello schema di Fatto! Definire uno schema di fatto per analizzare i ritardi; in particolare l analisi deve considerare l aeroporto di partenza, mentre

Dettagli

Data warehousing con SQL Server

Data warehousing con SQL Server 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

Dettagli

ESEMPIO: RITARDI & BIGLIETTI

ESEMPIO: RITARDI & BIGLIETTI ESEMPIO: RITARDI & BIGLIETTI Fatto Ritardi: l analisi a livello volo giornaliero, considerando l aeroporto di partenza, la città e lo stato di arrivo e la compagnia Fatto Biglietti: l analisi deve considerare

Dettagli

Data warehousing con SQL Server

Data warehousing con SQL Server 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

Dettagli

Esercizio con attributo cross-dimensionale - transazionale

Esercizio con attributo cross-dimensionale - transazionale Esercizio con attributo cross-dimensionale - transazionale TIPO (,CITTA) DI QTY CITTA (,ANNO) SCONTRINO(NSC, :) (,TIPO) VENDITA IN VENDITA(NSC:SCONTRINO,:, :,QTY,PU) IN PU NSC ANNO SCONTRINO DEL Viene

Dettagli

Progettazione Logica. Sviluppo di un Database/DataWarehouse

Progettazione Logica. Sviluppo di un Database/DataWarehouse Sistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano Progettazione Logica Dal Capitolo 8 e 9 del libro Data Warehouse - teoria e pratica della Progettazione Autori: Matteo

Dettagli

Definizione e calcolo delle misure

Definizione e calcolo delle misure Definizione e calcolo delle misure! Misure Derivate! Misure Calcolate! Misure Derivate e Progetto Logico! Calcolo delle Misure! Aggregabilità Misure Derivate " Sono misure definite a partire da altre misure

Dettagli

Estensioni del linguaggio SQL per interrogazioni OLAP

Estensioni del linguaggio SQL per interrogazioni OLAP Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano Estensioni del linguaggio SQL per interrogazioni OLAP Esempio! Esempio delle vendite con scontrino (nella tabella, per

Dettagli

Progettazione di un Data Warehouse

Progettazione di un Data Warehouse Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano Progettazione di un Data Warehouse Dai Capitoli 2,3 e 4 del libro Data Warehouse - teoria e pratica della Progettazione

Dettagli

Il linguaggio SQL: viste e tabelle derivate

Il linguaggio SQL: viste e tabelle derivate Il linguaggio SQL: viste e tabelle derivate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLd-viste.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

SQL Server BI Development Studio

SQL Server BI Development Studio Il Data warehouse SQL Server Business Intelligence Development Studio Analysis Service Sorgenti dati operazionali DB relazionali Fogli excel Data warehouse Staging Area e dati riconciliati Cubi Report

Dettagli

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

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf Il linguaggio SQL: viste e tabelle derivate Versione elettronica: SQLd-viste.pdf DB di riferimento per gli esempi Imp Sedi CodImp Nome Sede Ruolo Stipendio Sede Responsabile Citta E001 Rossi S01 Analista

Dettagli

Analisi dei Dati. Lezione 10 Introduzione al Datwarehouse

Analisi dei Dati. Lezione 10 Introduzione al Datwarehouse Analisi dei Dati Lezione 10 Introduzione al Datwarehouse Il Datawarehouse Il Data Warehousing si può definire come il processo di integrazione di basi di dati indipendenti in un singolo repository (il

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

SQL - Funzioni di gruppo

SQL - Funzioni di gruppo una funzione di gruppo permette di estrarre informazioni da gruppi di tuple di una relazione le funzioni di gruppo si basano su due concetti: partizionamento delle tuple di una relazione in base al valore

Dettagli

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

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

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

SQL Server 2005. Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005. SQL Server 2005 Introduzione all uso di SQL Server e utilizzo delle opzioni Olap SQL Server 2005 SQL Server Management Studio Gestione dei server OLAP e OLTP Gestione Utenti Creazione e gestione DB SQL

Dettagli

SQL Server. Applicazioni principali

SQL Server. Applicazioni principali SQL Server Introduzione all uso di SQL Server e utilizzo delle opzioni OLAP Applicazioni principali SQL Server Enterprise Manager Gestione generale di SQL Server Gestione utenti Creazione e gestione dei

Dettagli

Data Warehousing (DW)

Data Warehousing (DW) Data Warehousing (DW) Il Data Warehousing è un processo per estrarre e integrare dati storici da sistemi transazionali (OLTP) diversi e disomogenei, e da usare come supporto al sistema di decisione aziendale

Dettagli

Corso di Laboratorio di Basi di Dati

Corso di Laboratorio di Basi di Dati Corso di Laboratorio di Basi di Dati F1I072 - INF/01 a.a 2009/2010 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs

Dettagli

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

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a Join in SQL (primo modo) Informatica Lezione 7 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 09- Per formulare interrogazioni che coinvolgono

Dettagli

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

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

Pianificazione del data warehouse

Pianificazione del data warehouse Pianificazione del data warehouse Dalla pianificazione emergono due principali aree d interesse: area commerciale focalizzata sulle agenzie di vendita e area marketing concentrata sulle vendite dei prodotti.

Dettagli

Data warehouse in Oracle

Data warehouse in Oracle Data warehouse in Oracle Viste materializzate ed estensioni al linguaggio i SQL per l analisi li i dei dati presenti nei data warehouse Estensioni al linguaggio SQL per l analisi dei dati presenti nei

Dettagli

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

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7 ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni

Dettagli

marca (1,n) (1,1) nome prezzou prodotto nome responsabile quantità nome datai dataf (0,n) vendite (0,n) (0,n) (0,n) tempo acquisti quantità (0,n)

marca (1,n) (1,1) nome prezzou prodotto nome responsabile quantità nome datai dataf (0,n) vendite (0,n) (0,n) (0,n) tempo acquisti quantità (0,n) marca (1,n) di descrizione (1,1) prodotto (1,1) in (1,n) categoria città (1,n) (1,n) nella indirizzo responsabile quantità (1,1) supermercato vendite ricavo promozione datai dataf %sconto costo acquisti

Dettagli

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

Data warehousing Mario Guarracino Laboratorio di Sistemi Informativi Aziendali a.a. 2006/2007 Data warehousing Introduzione A partire dalla metà degli anni novanta è risultato chiaro che i database per i DSS e le analisi di business intelligence vanno separati da quelli operazionali. In questa

Dettagli

MODELLI DEI DATI PER DW DAI DATI ALLE DECISIONI. Per definire la struttura di un DW si usano i seguenti formalismi, detti modelli dei dati:

MODELLI DEI DATI PER DW DAI DATI ALLE DECISIONI. Per definire la struttura di un DW si usano i seguenti formalismi, detti modelli dei dati: DAI DATI ALLE DECISIONI MODELLI DEI DATI PER DW Le aziende per competere devono usare metodi di analisi, con tecniche di Business Intelligence, dei dati interni, accumulati nel tempo, e di dati esterni,

Dettagli

Basi Di Dati, 09/12/2003

Basi Di Dati, 09/12/2003 Basi Di Dati, 09/12/2003 Una concessionaria di auto nuove ed usate vuole automatizzare alcune delle sue attività. L attività che la concessionaria vuole automatizzare riguarda la gestione delle auto nuove,

Dettagli

SQL IL LINGUAGGIO DI INTERROGAZIONE

SQL IL LINGUAGGIO DI INTERROGAZIONE SQL IL LINGUAGGIO DI INTERROGAZIONE SQL! Originato da SEQUEL-XRM e System-R (1974-1977) dell IBM! Significato originario Structured Query Language! Standard de facto! Attuale standard ANSI/ISO è SQL:1999

Dettagli

Basi di Dati Complementi Esercitazione su Data Warehouse

Basi di Dati Complementi Esercitazione su Data Warehouse Sommario Basi di Dati Complementi Esercitazione su Data Warehouse 1. Riassunto concetti principali dalle slide della lezione di teoria 2.Studio di caso : progettazione di un Data Warehouse di una catena

Dettagli

IL DAT A B A S E DI ALGE B R A N D O

IL DAT A B A S E DI ALGE B R A N D O IL DAT A B A S E DI ALGE B R A N D O Un progetto di: Davide Valeriani Matricola 190883 davide.valeriani@studenti.unipr.it Corso di laurea in Ingegneria Informatica Esame di Basi di Dati A Prof. Stefano

Dettagli

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

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL Informatica Basi di dati parte 4 SQL Lezione 13 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2012 2013 1 Interrogazioni in

Dettagli

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12 SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.

Dettagli

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

Sistemi Informativi La Modellazione Dimensionale dei Fatti. Obiettivi Concetti Base Operazioni OLAP DFM Casi Modellazione Logica Esercizi Sistemi Informativi La Modellazione Dimensionale dei Fatti Obiettivi Concetti Base Operazioni OLAP DFM Casi Modellazione Logica Esercizi Obiettivi Nelle lezioni precedenti abbiamo modellato i processi

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (STRUCTURED QUERY LANGUAGE) SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

GERARCHIE RICORSIVE - SQL SERVER 2008 GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER

Dettagli

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1 Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1 Si consideri il seguente schema di base di dati che vuole tenere traccia delle attività di un autofficina. MECCANICO (CodiceFiscale,

Dettagli

cliente... nuovo cliente trasloco

cliente... nuovo cliente trasloco Analisi di Basi di dati Studio di un caso: Azienda Telefonica Progettazione concettuale anno trimestre mese regione provincia città cliente Attività cliente TempoUtilizzoAdsl SpesaAdsl TempoUtilizzoIsdn

Dettagli

CONCETTO DI ANNIDAMENTO

CONCETTO DI ANNIDAMENTO LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di

Dettagli

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Vincoli di Integrità Approccio dichiarativo alla loro implementazione Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico

Dettagli

MAX, SUM, AVG, COUNT)

MAX, SUM, AVG, COUNT) INTRODUZIONE A SQL Definizione di tabelle e domini Alcuni vincoli di integrità Struttura base SELECT FROM WHERE Funzioni di aggregazione (MIN, MAX, SUM, AVG, COUNT) Query da più tabelle (FROM R1, Rk) Join

Dettagli

Structured Query Language parte 1

Structured Query Language parte 1 Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Structured Query Language parte 1 Come interrogare una base di dati relazionale ed avere la risposta esatta Docente: Gennaro Pepe

Dettagli

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

Data warehousing Mario Guarracino Data Mining a.a. 2010/2011 Data warehousing Introduzione A partire dagli anni novanta è risultato chiaro che i database per i DSS e le analisi di business intelligence vanno separati da quelli operazionali. In questa lezione vedremo

Dettagli

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) SQL PER LA DEFINIZIONE DI BASI DI DATI 1 SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

Dettagli

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative a pubblicazioni su riviste

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali

Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Base Di Dati II Anno accademico 2011/2012 Progettazione di un Data mart per l'analisi dei servizi bibliotecari universitari

Dettagli

Esame Basi di Dati. 21 Gennaio 2013

Esame Basi di Dati. 21 Gennaio 2013 Esame Basi di Dati 21 Gennaio 2013 Matricola Prog. (Sì/No) Cognome Nome Istruzioni I voti verranno resi disponibili su AlmaEsami. Chi vorrà rifiutare il voto dovrà comunicarlo tassativamente 5 giorni dalla

Dettagli

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

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica Basi di Dati Corso di Laura in Informatica Umanistica Appello del 10/09/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

Introduzione ad OLAP (On-Line Analytical Processing)

Introduzione ad OLAP (On-Line Analytical Processing) Introduzione ad OLAP (On-Line Analytical Processing) Metodi e Modelli per il Supporto alle Decisioni 2002 Dipartimento di Informatica Sistemistica e Telematica (Dist) Il termine OLAP e l acronimo di On-Line

Dettagli

Lorenzo Braidi. Database design. Libro_datadesign.indb 1 23-11-2004 10:06:17

Lorenzo Braidi. Database design. Libro_datadesign.indb 1 23-11-2004 10:06:17 Lorenzo Braidi Database design Libro_datadesign.indb 1 23-11-2004 10:06:17 Sommario Introduzione...XI Capitolo 1 Le basi di dati relazionali... 1 Le basi di dati... 1 Un po di storia... 2 I database gerarchici...

Dettagli

Istruzioni DML di SQL

Istruzioni DML di SQL Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,

Dettagli

Introduzione a data warehousing e OLAP

Introduzione a data warehousing e OLAP Corso di informatica Introduzione a data warehousing e OLAP La Value chain Information X vive in Z S ha Y anni X ed S hanno traslocato Data W ha del denaro in Z Stile di vita Punto di vendita Dati demografici

Dettagli

Interrogazioni complesse. SQL avanzato 1

Interrogazioni complesse. SQL avanzato 1 Interrogazioni complesse SQL avanzato Classificazione delle interrogazioni complesse Query con ordinamento Query con aggregazione Query con raggruppamento Query binarie Query annidate SQL avanzato 2 Esempio

Dettagli

Rassegna sui principi e sui sistemi di Data Warehousing

Rassegna sui principi e sui sistemi di Data Warehousing Università degli studi di Bologna FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Rassegna sui principi e sui sistemi di Data Warehousing Tesi di laurea di: Emanuela Scionti Relatore: Chiar.mo Prof.Montesi

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

Lezione 8. Metadati, Viste e Trigger

Lezione 8. Metadati, Viste e Trigger Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli

Dettagli

Esame di Informatica Generale 9 CFU 21 Giugno 2011 Professori: Carulli, Fiorino, Mazzei

Esame di Informatica Generale 9 CFU 21 Giugno 2011 Professori: Carulli, Fiorino, Mazzei 04-21-giugno-2011-DomandeConSoluzione.doc 1/12 22/06/2011 15:07:59 Esame di Informatica Generale 9 CFU 21 Giugno 2011 Professori: Carulli, Fiorino, Mazzei Docente Risultati Scritto Orali Carulli Venerdì

Dettagli

Data management a.a. 2009-2010. Il linguaggio SQL

Data management a.a. 2009-2010. Il linguaggio SQL Data management a.a. 2009-2010 Il linguaggio SQL 1 Modello di database E' un database generico con anagrafica e movimenti di uso molto frequente: per esempio, clienti e fatture, studenti ed esami sostenuti,

Dettagli

CAPITOLO 4 ESERCIZI SU SQL

CAPITOLO 4 ESERCIZI SU SQL CAPITOLO 4 ESERCIZI SU SQL (le soluzioni sono riportate da pag. 5 in poi (Nota: gli esercizi non sono sempre in ordine di difficoltà Esercizio 1 Si prendano tutti gli schemi relazionali considerati negli

Dettagli

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

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 25 Luglio 2006 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la

Dettagli

Informazioni generali sul corso

Informazioni generali sul corso abaroni@yahoo.com Informazioni generali sul corso Reporting direzionale Obiettivi del corso h Creare reports con DI 2 Pagina C.1 Argomenti h Cap. 13 Interruzione e Vista struttura h Cap. 14 Sincronizzazione

Dettagli

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

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 DB2 Data Management Software Il linguaggio SQL Raggruppamenti Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute in questa

Dettagli

Basi di dati Appello del 8-01-2015 Compito A

Basi di dati Appello del 8-01-2015 Compito A Basi di dati Appello del 8-01-2015 Compito A Anno Accademico 2014/15 Nella Civico Nome Problema 1 Schema ER Nome Regione Toponimo Indirizzo In Città Nome AnnoImm Targa Immatri colazione Auto HaModello

Dettagli

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

Dettagli

Normalizzazione. Relazionali

Normalizzazione. Relazionali Normalizzazione di Schemi Relazionali Normalizzazione Forme Normali Una forma normale è una proprietà di uno schema relazionale che ne garantisce la qualità, cioè l assenza di determinati difetti Una relazione

Dettagli

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

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB MODULO 5 DATA BASE MODULO 5 - DATA BASE 1 PROGRAMMA Introduzione: concetti generali di teoria Progettazione rapida introduzione alla progettazione di DB Utilizzo di Access pratica sulla creazione e l utilizzo

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

Il linguaggio SQL: DDL di base

Il linguaggio SQL: DDL di base Il linguaggio SQL: DDL di base Sistemi Informativi T Versione elettronica: 04.1.SQL.DDLbase.pdf SQL: caratteristiche generali SQL (Structured Query Language) èil linguaggio standard de facto per DBMS relazionali,

Dettagli

Data warehouse Introduzione

Data warehouse Introduzione Database and data mining group, Data warehouse Introduzione INTRODUZIONE - 1 Pag. 1 Database and data mining group, Supporto alle decisioni aziendali La maggior parte delle aziende dispone di enormi basi

Dettagli

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

Dettagli

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Roccatello Ing. Eduard L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Agenda Presentazione docente Definizione calendario Questionario pre corso

Dettagli

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

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

SQL PER LA DEFINIZIONE DI BASI DI DATI

SQL PER LA DEFINIZIONE DI BASI DI DATI SQL PER LA DEFINIZIONE DI BASI DI DATI SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

Dettagli

Vincoli di Integrità

Vincoli di Integrità Vincoli di Integrità Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2010-2011 Questi lucidi sono stati prodotti

Dettagli

1.Tutte 2.Spesso P.IVAe le CF volte che si visualizza i dati un fornitore si mostranoanche. La mensa. La mensa

1.Tutte 2.Spesso P.IVAe le CF volte che si visualizza i dati un fornitore si mostranoanche. La mensa. La mensa Ristrutturare Osservazioni seguenti che possano indicazioni emergere lo schema sulle ER operazioni della slide frequenti successiva e indicando tenendo presenti i vincoli le 1.Tutte 2.Spesso P.IVAe le

Dettagli

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

LABORATORIO. 2 Lezioni su Basi di Dati Contatti: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni R.M. Capocelli Laboratorio

Dettagli

Sistemi di Elaborazione delle Informazioni (C.I. 15) Access

Sistemi di Elaborazione delle Informazioni (C.I. 15) Access Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Sistemi di Elaborazione delle Informazioni (C.I. 15) Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Access C.d.L. in Igiene

Dettagli

Impresa di raccolta e riciclaggio di materiali metallici e di rifiuti.

Impresa di raccolta e riciclaggio di materiali metallici e di rifiuti. Impresa di raccolta e riciclaggio di materiali metallici e di rifiuti. Indice Cognome Nome Matr.xxxxxx email Cognome Nome Mat. Yyyyyy email Argomento Pagina 1. Analisi dei requisiti 1 a. Requisiti espressi

Dettagli

Progettazione del Data Warehouse

Progettazione del Data Warehouse Progettazione del Data Warehouse Queste dispense sono state estratte dalle dispense originali del Prof. Stefano Rizzi, disponibili in http://www-db.deis.unibo.it/~srizzi/) e sono state tratte dal libro

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio

Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio 1-La memoria dinamica La scrittura di un programma (indipendentemente dal linguaggio adottato) deve sempre tener conto

Dettagli

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

Dettagli

DATABASE. www.andreavai.it

DATABASE. www.andreavai.it Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni

Dettagli

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

02/mag/2012. Il Modello Multidimensionale. Il Modello Multidimensionale. Il Modello Multidimensionale. Il Modello Multidimensionale Modello semplice ed intuitivo Si presta bene a descrivere dei FATTI in modo grafico (CUBO o IPERCUBO) Es. di FATTI: Vendite Spedizioni Ricoveri Interventi chirurgici Andamento borsistico 62 Un cubo multidimensionale

Dettagli

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

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

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

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Il modello dimensionale

Il modello dimensionale aprile 2012 1 L organizzazione dei dati del data warehouse costituisce la pietra angolare dell intero sistema DW/BI le applicazioni BI, di supporto alle decisioni, accedono i dati direttamente dal DW l

Dettagli