Misure. Definizione delle misure

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

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

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

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

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

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

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

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

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

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 (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

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

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

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

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

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

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

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

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

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

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

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

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

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome. Prof. Francesco Accarino Raccolta di esercizi modello ER Esercizio 1 Un università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti in relazione ai corsi che essi frequentano

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

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

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

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

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

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

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

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

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Basi di dati 9 febbraio 2010 Compito A

Basi di dati 9 febbraio 2010 Compito A Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli

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

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

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

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

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. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

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

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

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

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

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

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

Il linguaggio SQL: query innestate

Il linguaggio SQL: query innestate Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER Basi di Dati Progettazione del Modello ER Dai requisiti allo schema ER Entità, relazioni e attributi non sono fatti assoluti dipendono dal contesto applicativo Nella pratica si fa spesso uso di una strategia

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture

Dettagli

EXCEL FUNZIONI PRINCIPALI

EXCEL FUNZIONI PRINCIPALI EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

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

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I

Dettagli

Alcune nozioni di base di Logica Matematica

Alcune nozioni di base di Logica Matematica Alcune nozioni di base di Logica Matematica Ad uso del corsi di Programmazione I e II Nicola Galesi Dipartimento di Informatica Sapienza Universitá Roma November 1, 2007 Questa é una breve raccolta di

Dettagli

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1 Le funzioni continue A. Pisani Liceo Classico Dante Alighieri A.S. -3 A. Pisani, appunti di Matematica 1 Nota bene Questi appunti sono da intendere come guida allo studio e come riassunto di quanto illustrato

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

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

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Andrea Bobbio Anno Accademico 2000-2001 Algebra Booleana 2 Calcolatore come rete logica Il calcolatore può essere visto come una rete logica

Dettagli

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

Introduzione data warehose. Gian Luigi Ferrari Dipartimento di Informatica Università di Pisa. Data Warehouse Introduzione data warehose Gian Luigi Ferrari Dipartimento di Informatica Università di Pisa Data Warehouse Che cosa e un data warehouse? Quali sono i modelli dei dati per data warehouse Come si progetta

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

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad 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

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

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Dettagli

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

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

2. Leggi finanziarie di capitalizzazione

2. Leggi finanziarie di capitalizzazione 2. Leggi finanziarie di capitalizzazione Si chiama legge finanziaria di capitalizzazione una funzione atta a definire il montante M(t accumulato al tempo generico t da un capitale C: M(t = F(C, t C t M

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

ESEMPIO A: Arco multiplo su LIBRO- AUTORE

ESEMPIO A: Arco multiplo su LIBRO- AUTORE ESEMPIO A: Arco multiplo su LIBRO- AUTORE Consideriamo un DBO con il seguente schema E/R ed il corrispondente schema relazionale: AUTORE(AUTORE,CITTA) LIBRO(LIBRO,GENERE) PESO(AUTORE:AUTORE, LIBRO:LIBRO,PESO)

Dettagli

Uso delle tabelle e dei grafici Pivot

Uso delle tabelle e dei grafici Pivot Uso delle tabelle e dei grafici Pivot 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella riassuntiva basata su condizioni multiple che hanno punti di

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati: Gestione dei dati e della conoscenza, a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati: Si vuole modellare

Dettagli

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,

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

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: G.C.D.( a d, b d ) = 1 Sono state introdotte a lezione due definizioni importanti che ricordiamo: Definizione

Dettagli

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli

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

DB - Modello relazionale dei dati. DB - Modello Relazionale 1 DB - Modello relazionale dei dati DB - Modello Relazionale 1 Definizione Un modello dei dati è un insieme di meccanismi di astrazione per definire una base di dati, con associato un insieme predefinito

Dettagli

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo. Esame di Stato Istituto Tecnico Industriale Proposta di soluzione della seconda prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2003-2004 1. Schema concettuale della base di dati Lo schema

Dettagli

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che: Teoria dei Giochi, Trento, 2004/05 c Fioravante Patrone 1 Teoria dei Giochi Corso di laurea specialistica: Decisioni economiche, impresa e responsabilità sociale, A.A. 2004/05 Soluzioni degli esercizi

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

Calcolatori: Algebra Booleana e Reti Logiche

Calcolatori: Algebra Booleana e Reti Logiche Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato

Dettagli

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all

Dettagli

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

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

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

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario?

BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario? BIT? Cosa c è dietro a questo nome? Che cos è il bit? Perché si usa? Come si converte un numero binario? Cosa c è dietro a questo nome? BIT è un acronimo e deriva da BInary digit, cioè cifra binaria Che

Dettagli