Misure. Definizione delle misure
|
|
- Adriano Grilli
- 8 anni fa
- Visualizzazioni
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
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!
DettagliData 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
DettagliSQL/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,
DettagliIl 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 è
DettagliEstensioni 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
DettagliData 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
DettagliSISTEMI 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
DettagliData 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
DettagliMisure. 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,
DettagliESEMPI 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
DettagliBiglietti 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
DettagliData 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
DettagliESEMPIO: 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
DettagliData 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
DettagliEsercitazione 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
DettagliIl 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
DettagliJoin 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
DettagliSQL 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
DettagliSQL 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
DettagliSQL - 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
DettagliSQL 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
DettagliAnalisi 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
DettagliEsercizio 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
DettagliCONCETTO 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
DettagliIl 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)
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
DettagliIl 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
DettagliGli 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
DettagliCapitolo 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
DettagliDispensa 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
DettagliBasi 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,
DettagliBasi 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,
DettagliIntroduzione 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
DettagliSQL 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.
DettagliGERARCHIE 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
DettagliUtilizzando 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
DettagliStrutture. 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
DettagliInformatica (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.
DettagliSoluzione 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
Dettaglirisulta (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
DettagliBasi 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
DettagliPer 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
DettagliAbilità 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.
DettagliBasi 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,
Dettagli4 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
DettagliPer 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
DettagliBasi 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
Dettaglimarca (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
DettagliProgettazione 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
DettagliProva 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
DettagliData 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,
DettagliData 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
DettagliData 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
DettagliIl 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
DettagliBasi 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
DettagliOrganizzazione 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
DettagliOperazioni 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
DettagliMODELLO 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)
DettagliModello 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
DettagliEXCEL 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")
DettagliVolumi 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
DettagliEstensioni 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
DettagliCapitolo 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
DettagliIl 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
DettagliAlcune 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
DettagliLe 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
Dettagli1.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
Dettaglicliente... 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
DettagliAlgebra 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
DettagliIntroduzione 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
DettagliDefinizione 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
DettagliIl 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
Dettagli1. 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,
DettagliRassegna 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
DettagliRiccardo 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
DettagliProcedure 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
DettagliProgettazione 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
Dettagli2. 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
DettagliIstruzioni DML di SQL
Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,
DettagliESEMPIO 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)
DettagliUso 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
DettagliDatabase. 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
Dettaglia.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
DettagliControlloCosti. 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,
DettagliCorso 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
DettagliIniziamo 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
DettagliLe 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
DettagliDB - 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
Dettagli1. 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
DettagliEsercizio 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
DettagliProgettazione 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
DettagliCalcolatori: 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
DettagliUTILIZZATORI 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
Dettagliper 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
DettagliIl 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
DettagliI 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
DettagliIL 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
DettagliLezione 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)
DettagliCalcolatori 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
DettagliBIT? 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