OPERAZIONI BANKOMAT Esempio 7 e 11 Maggio 2012

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "OPERAZIONI BANKOMAT Esempio 7 e 11 Maggio 2012"

Transcript

1 OPERAZIONI BANKOMAT Esempio 7 e 11 Maggio 2012 Rispetto allo schema con Arco Multiplo considerato nel precedente esercizio Si aggiunge la CITTA della FILIALE Si considerano le dimensioni { TIPO,BA, BF, CLIENTE } dove BA= BANCAASSEGNO e BF=BANCAFILIALE FACT_TABLE_PD(TIPO,BA:dtBANCA,CLIENTE:dtCLIENTE,FILIALE:dtFILIALE,BF:dtBANCA, NBANKOMAT_P, NBANKOMAT_NP, NVERSAMENTI_P, NVERSAMENTI_NP, NUMEROTOT_P, NUMEROTOT_NP, IMPORTOTOT_P) Star Schema dtdata(data,mese,anno) dtcliente(cliente,citta,regione,stato) dtfiliale(filiale,citta,regione,stato BANCA,BANCA_CITTA,BANCA_REGIONE,BANCA_STATO) dtbanca(banca,citta,regione,stato) SnowFlake Schema dtdata(data,mese:mese) dtmese(mese,anno) dtcliente(cliente,citta:dtcitta) dtfiliale(filiale,banca:dtbanca, CITTA:dtCITTA) dtbanca(banca,citta:dtcitta) dtcitta(citta,regione:dtregione) dtregione(regione,stato) 1

2 ALIMENTAZIONE CREATE VIEW FACT_TABLE AS SELECT BANCA AS BF, TIPO,BANCA_ASSEGNO AS BA,CLIENTE, SUM(IMPORTO)AS IMPORTOTOT, SUM(CASE WHEN TIPO='V' THEN 1 ELSE 0 END) AS NVERSAMENTI, COUNT(*)AS NUMEROTOT, COUNT(DISTINCT BANKOMAT.BANKOMAT)AS NBANKOMAT FROM OPERAZIONE_TIPO JOIN FILIALE ON FILIALE.FILIALE = OPERAZIONE_TIPO.FILIALE JOIN BANKOMAT ON BANKOMAT.BANKOMAT = OPERAZIONE_TIPO.BANKOMAT GROUP BY TIPO, CLIENTE,BANCA_ASSEGNO,BANCA CREATE VIEW FACT_TABLE_PD AS SELECT BF,TIPO, F.CLIENTE, BA, FILIALE AS FILIALECLIENTE, NBANKOMAT_P = NBANKOMAT * PESO, NBANKOMAT_NP = NBANKOMAT, NVERSAMENTI_P = NVERSAMENTI * PESO, NVERSAMENTI_NP = NVERSAMENTI, NUMEROTOT_P = NUMEROTOT * PESO, NUMEROTOT_NP = NUMEROTOT, IMPORTOTOT_P = IMPORTOTOT * PESO FROM FACT_TABLE F JOIN PESO P ON (F.CLIENTE=P.CLIENTE) ALIMENTAZIONE SNOWFLAKE CREATE VIEW dtdata AS SELECT DATA,MESE FROM DATA CREATE VIEW dtmese AS SELECT DISTINCT MESE,ANNO FROM DATA CREATE VIEW dtcliente AS SELECT CLIENTE,CITTA FROM CLIENTE CREATE VIEW dtcitta AS SELECT CITTA,REGIONE FROM CITTA UNION SELECT '9999','9999' CREATE VIEW dtregione AS SELECT DISTINCT REGIONE,STATO FROM CITTA UNION SELECT '9999','9999' CREATE VIEW dtbanca AS SELECT BANCA,CITTA FROM BANCA UNION SELECT 9999,'9999' CREATE VIEW dtfiliale AS SELECT * FROM FILIALE 2

3 SQL-OLAP Pattern {BF,BA, FILIALECLIENTE } e subpattern Per una misura di impatto si deve usare lo schema: IF <PATTERN SENZA ATTRIBUTI GERARCHIA AM> THEN <VALORE PESATO> ELSE <VALORE NON PESATO> In SQL-OLAP la condizione <PATTERN SENZA ATTRIBUTI GERARCHIA AM> è riferita ad uno specifico pattern {BF,BA, FILIALECLIENTE} e quindi si scrive con riferimento agli specifici attributi del pattern; quindi nel nostro caso, siccome l unico attributo della gerarchia AM in {BF,BA, FILIALECLIENTE} è FILIALECLIENTE la condizione si scrive semplicemente come GROUPING(FILIALECLIENTE) =1 Per una misura di impatto si può anche usare lo schema (equivalente al precedente): IF <PATTERN CON ATTRIBUTI GERARCHIA AM> THEN <VALORE NON PESATO> ELSE <VALORE PESATO> e quindi in SQL-OLAP la condizione <PATTERN CON ATTRIBUTI GERARCHIA AM> corrisponde ovviamente a GROUPING(FILIALECLIENTE) =0 Nei nostri esempi useremo entrambi gli schemi. Ricordiamo che NBANKOMAT, oltre ad essere di impatto, non è aggregabile per tutte le dimensioni, quindi verrà usato uno schema come il seguente NBANKOMAT = IF <calcolabile> THEN <calcola valore> ELSE 9999 Siccome NBANKOMAT è calcolabile solo per i pattern che contengono { BA, BF} allora la condizione corrisponde a GROUPING(BA) =0 AND GROUPING(BF) =0 3

4 SELECT BF,BA, FILIALECLIENTE IMPORTOTOT=SUM(IMPORTOTOT_P), NUMEROTOT = CASE WHEN GROUPING(FILIALECLIENTE) =1 THEN SUM(NUMEROTOT_P) ELSE SUM(NUMEROTOT_NP) END, NBANKOMAT = CASE WHEN GROUPING(BA) =0 AND GROUPING(BF) =0 THEN CASE WHEN GROUPING(FILIALECLIENTE) =1 THEN SUM(NBANKOMAT_P) ELSE SUM(NBANKOMAT_NP) END ELSE 9999 END FROM FACT_TABLE_PD GROUP BY BF,BA, FILIALECLIENTE WITH CUBE (SI RIPORTANO IN FIGURA SOLO ALCUNI PATTERN ) 4

5 ESERCIZIO 11 MAGGIO ESEMPIO DI PROVA PRATICA (PARTE RELATIVA ALLA CREAZIONE DEL CUBO) DATO LO SCHEMA DI FATTO ED IL CORRISPONDENTE DATAMART (SNOW-FLAKE CON PUSH DOWN) VIENE RICHIESTO DI REALIZZARE IL CUBO IN ANALYSIS SERVICES 5

6 SCHEMA EQUIVALENTE CON PUSH-DOWN DIMENSIONI IN AS 6

7 Nel seguito sono riportati alcuni screeshot relativi alla creazione delle dimensioni, con alcuni warning ce possono essere generati dal sistema DIMENSIONE BA 7

8 DIMENSIONE FILIALECLIENTE_BANCA 8

9 DIMENSIONE FILIALECLIENTE VERIFICARE SEMPRE: 9

10 DIMENSIONE CLIENTE E BF IN CASO DI PROBLEMI: 1) RICONTARE I MEMBRI 2) RIELABORARE IL CUBO 3) INSERIRE A MANO I VALORI OPPURE DEFINIRE LA DIMENSIONE COMINCIANDO DAL LIVELLO PIU BASSO 10

11 DEFINIZIONE DELLE MISURE Una misura pesata additiva corrisponde in AS ad una misura normale: IMPORTOTOT=SUM(IMPORTOTOT_P) Per una misura di impatto si deve invece definire una nuova misura (un membro calcolato) in grado di differenziare tra pattern con e senza attributi della gerarchia dell AM, seguendo lo schema PATTERN MISURA M IMPATTO Valore Pesato M_P Valore non Pesato M_NP SENZA ATTRIBUTI gerarchia AM X CON ATTRIBUTI gerarchia AM PESATA Valore Pesato M_P X X X Come già discusso per l SQL-OLAP, possiamo usare lo schema IF <PATTERN CON ATTRIBUTI GERARCHIA AM> THEN <VALORE NON PESATO> ELSE <VALORE PESATO> Però in questo caso non si deve considerare solo uno specifico pattern (come nelle query SQL- OLAP) ma tutti i possibili pattern, in quanto la misura deve essere corretta per ogni possibile pattern del CUBO. Quindi La condizione <PATTERN CON ATTRIBUTI GERARCHIA AM> deve essere tradotta considerando che la radice della GERARCHIA dell arco multiplo, ovvero la dimensione che è stata inserita nella fact table con push down (nel nostro caso la dimensione FILIALECLIENTE ) 1) può corrispondere nel cubo a una o più dimensioni: nel nostro esempio a due dimensioni [FilialeclienteBANCA] e [Filialecliente] 2) ognuna di queste dimensioni può avere più livelli Quindi la condizione <PATTERN CON ATTRIBUTI GERARCHIA AM> si scrive [FilialeclienteBANCA].CURRENTMEMBER.LEVEL.ORDINAL >=1 OR [Filialecliente].CURRENTMEMBER.LEVEL.ORDINAL >=1 Questa è la condizione generale; D ALTRA PARTE se una dimensione ha un solo livello (cioè è una dimensione degenere) allora dire livello >=1 corrisponde a dire livello foglia quindi si può anche scrivere ISLEAF([FilialeclienteBANCA].CURRENTMEMBER) OR ISLEAF([Filialecliente].CURRENTMEMBER) 11

12 Come già discusso per l SQL-OLAP, per una misura d impatto possiamo anche usare lo schema IF <PATTERN SENZA ATTRIBUTI GERARCHIA AM> THEN <VALORE PESATO> ELSE <VALORE NON PESATO> La condizione <PATTERN SENZA ATTRIBUTI GERARCHIA AM> corrisponde a dire che il CURRENTMEMBER è il membro ALL, cioè è il membro del livello (ALL) che ha come posizione (ORDINAL) il valore 0, quindi [FilialeclienteBANCA].CURRENTMEMBER.LEVEL.ORDINAL =0 AND [Filialecliente].CURRENTMEMBER.LEVEL.ORDINAL =0 (ovvero è la negazione della precedente, con le leggi di De Morgan ) Per controllare che CURRENTMEMBER sia il membro ALL, cioè è il membro del livello (ALL), invece della posizione (ORDINAL) [Filialecliente].CURRENTMEMBER.LEVEL.ORDINAL =0 si può anche scrivere usare il nome (NAME) del livello e scrivere [Filialecliente].CURRENTMEMBER.LEVEL.NAME = "(All)" NOTA: al membro ALL si può cambiare nome, ma non nome al livello (ALL), il cui nome è sempre (All)! In definitiva per la misura di impatto NUMEROTOT si definisce una nuova misura (un membro calcolato) come segue 1) Si definiscono due misure normali NUMEROTOT_NP e NUMEROTOT_P corrispondenti alle misure nella FACT_TABLE_PD 2) Si definisce NUMEROTOT come membro calcolato usando uno dei due schemi discussi in precedenza, ad esempio il primo tramite la seguente espressione Iif ([FilialeclienteBANCA].CURRENTMEMBER.LEVEL.ORDINAL >=1 OR [Filialecliente].CURRENTMEMBER.LEVEL.ORDINAL >=1, [NUMEROTOT_NP], [NUMEROTOT_N]) Le due misure normali NUMEROTOT_NP e NUMEROTOT_P si possono ora rendere invisibili. 12

13 Consideriamo infine NBANKOMAT, che oltre ad essere di impatto, è anche non aggregabile per le dimensioni BA e BF, quindi verrà calcolata in base allo schema NBANKOMAT = IF <calcolabile> THEN <calcola valore> ELSE 9999 Dove <calcola valore> essendo NBANKOMAT di impatto si scrive come discusso in precedenza Iif ([FilialeclienteBANCA].CURRENTMEMBER.LEVEL.ORDINAL >=1 OR [Filialecliente].CURRENTMEMBER.LEVEL.ORDINAL >=1, [NBANKOMAT_NP], [NBANKOMAT_NP]) mentre <calcolabile> si scrive considerando che NBANKOMAT non è aggregabile rispetto a BA e BF e quindi, come discusso in corrisponde alla condizione ISLEAF(BA.CURRENTMEMBER) AND ISLEAF(BA.CURRENTMEMBER) Quindi NBANKOMAT si definisce come: Iif (ISLEAF(BA.CURRENTMEMBER) AND ISLEAF(BA.CURRENTMEMBER), Iif ([FilialeclienteBANCA].CURRENTMEMBER.LEVEL.ORDINAL >=1 OR [Filialecliente].CURRENTMEMBER.LEVEL.ORDINAL >=1, [NBANKOMAT_NP], [NBANKOMAT_NP]), 9999) 13

14 14

15 Sono dati ESEMPIO 2 DI PROVA PRATICA (PRIMA PARTE RELATIVA ALLA COSTRUZIONE DEL CUBO) Schema di Fatto ESAME SOST: numero esami sostenuti, additiva SOST_I: misura di impatto SOST_P: misura pesata VOTO_I: voto medio, misura di impatto calcolata come VOTO_SUM/ SOST, dove VOTO_SUM: somma dei voti, additiva. Nota : SOST sia di impatto che pesata DM con push-down Per la misura di impatto SOST_I occorre avere nella FACT_TABLE_PD il suo valore pesato (che corrisponde a SOST_P e quindi viene riportato solo una volta) ed il suo valore non pesato (che in questo esempio è stato indicato con SOST_I) Per la misura calcolata di impatto VOTO_I occorre avere nella FACT_TABLE_PD il valore pesato e non pesato delle sue componenti; per il conteggio si usa SOST e per SOST abbiamo già sia il valore pesato che non pesato; per la somma si usa VOTO_P_SUM per indicare il valore pesato e semplicemente VOTO_SUM per indicare il valore non pesato. Backup del DM: 15

16 Viene richiesto di: 1) Realizzare il cubo con tutte le dimensioni e misure corrispondenti allo schema di Fatto ESAME 2) Ottenere la seguente visualizzazione dei dati: 3) Verificare i risultati ottenuti al punto 2) in SQL-OLAP calcolando il seguente pattern con rollup: 16

17 SOLUZIONE Nella realizzazione del cubo, l unico punto caratteristico è il fatto che la dimension table DT_CITTA deve essere usata due volte, una volta come città del docente ed un altra come città dello studente Ricordiamo che le dimensioni/livelli del cubo sono univocamente definite dalle dimensioni/gerarchie dello schema di fatto: Data una gerarchia, per ogni cammino dalla dimensione (radice) alle foglie si deve definire un dimensione nel cubo con un numero di livelli pari alla lunghezza del cammino. Consideriamo lo schema di fatto ESAME Dimensione STUDENTE : unico cammino, quindi una sola dimensione STUDENTE con livelli STUDENTE CITTA STATO Ai livelli può essere dato un nome significativo, ad esempio, siccome CITTA è condivisa con DOCENTE,per differenziare si può usare STUDENTE CITTA_STUDENTE STATO_STUDENTE Dimensione CORSO Cammino CORSO FACOLTA : dimensione FACOLTA con livelli CORSO FACOLTA Dimensione CORSO : ARCO MULTIPLO su DOCENTE Nella realizzazione del cubo in presenza di archi multipli occorre considerare la tipologia di progettazione logica scelta, ovvero se push-down oppure bridge-table; nel caso di push-down l arco multiplo è stato eliminato in quanto codificato nella fact table : si devono considerare solo i percorsi dal figlio dell arco multiplo (DOCENTE) alle foglie, nel nostro esempio quindi Cammino DOCENTE CITTA STATO 17

18 Quindi dimensione DOCENTE con livelli DOCENTE CITTA_DOCENTE STATO_DOCENTE In altre parole, con la soluzione push-down per un arco multiplo è come se si considerasse uno schema di fatto equivalente a quello dato in cui il figlio dell arco multiplo (DOCENTE) diventa una nuova dimensione dello schema di fatto 18

19 Per quanto riguarda la definizione delle misure, ricordiamo che per la soluzione con Push-down PATTERN SENZA ATTRIBUTI gerarchia AM CON ATTRIBUTI gerarchia AM MISURA M IMPATTO Valore Pesato M_P Valore non Pesato X X PESATA Valore Pesato M_P X X Quindi, per una misura pesata, quale SOST_P, si definisce semplicemente la misura con il relativo operatore di aggregazione: in questo caso SOST_P è additiva. Per una misura di impatto si deve invece definire una nuova misura (un membro calcolato) in grado di differenziare in modo da differenziare tra pattern con e senza attributi della gerarchia dell AM. Useremo lo schema: IF <PATTERN SENZA ATTRIBUTI GERARCHIA AM> THEN <VALORE PESATO> ELSE <VALORE NON PESATO> Consideriamo per semplicità solo una parte del cubo, quella con dimensioni STUDENTE, DOCENTE e con misure SOST_P e SOST_I Ogni cella del cubo è individuata da un valore (membro secondo la terminologia AS) per ogni dimensione (sia le dimensioni classiche che la dimensione particolare Measures) : Ad esempio l ultima cella in basso a destra (con visualizzato il valore 2) è individuata come segue: Dimensione STUDENTE: membro ITALIA (del livello STUDENTE.STATO_ STUDENTE) Dimensione DOCENTE : membro DA (del livello DOCENTE.DOCENTE) Dimensione Measures: membro SOST_I (del livello Measures. MeasuresLevel) mentre la prima cella in alto a destra (con visualizzato il valore 2,00) è individuata come segue: Dimensione STUDENTE: membro TUTTI STUDENTI (del livello (ALL) di STUDENTE) 19

20 Dimensione DOCENTE : membro TUTTI DOCENTI (del livello (ALL) di DOCENTE) Dimensione Measures: membro SOST_I (del livello Measures. MeasuresLevel) Ogni membro ha una Key (per individuare il membro) e un Name (valore che viene visualizzato): nei nostri esempi non usando chiavi surrogate - Key e Name coincidono. Per ogni cella del cubo la funzione DIMENSION.CURRENTMEMBER restituisce il membro di DIMENSION corrispondente alla cella. Ad esempio per l ultima cella in basso a destra (con visualizzato il valore 2) abbiamo STUDENTE.CURRENTMEMBER = membro ITALIA DOCENTE.CURRENTMEMBER = membro DA Measures.CURRENTMEMBER = membro SOST_I Consideriamo la dimensione DOCENTE : Se DOCENTE.CURRENTMEMBER è il membro DA (del livello DOCENTE.DOCENTE) Allora [DOCENTE].CurrentMember.name : è il nome del membro, ovvero cosa viene visualizzato [DOCENTE].CurrentMember.level: è il livello ; per un livello si può ottenere il nome e la posizione: [DOCENTE].CurrentMember.level.name = DOCENTE [DOCENTE].CurrentMember.level.ordinal =3 Quindi una cella del cubo corrispondente ad un <PATTERN SENZA ATTRIBUTI GERARCHIA AM> È una cella corrispondente al membro TUTTI DOCENTI della dimensione relativa all arco multiplo, ovvero della dimensione di cui è stato fatto il push-down nella fact table, nel nostro caso la dimensione DOCENTE. In definitiva la condizione <PATTERN SENZA ATTRIBUTI GERARCHIA AM> corrisponde a controllare se il membro corrente di DOCENTE sia il membro TUTTI DOCENTI, condizione che si può scrivere come segue [DOCENTE].CurrentMember.level.ordinal=0 oppure in modo equivalente 20

21 [DOCENTE].CurrentMember.level.name= (All) IMPORTANTE: al membro ALL si può cambiare il nome (nell esempio TUTTI DOCENTI ) ma non al livello (ALL), il cui nome è usato nella condizione [DOCENTE].CurrentMember.level.name= (All)! In definitiva per la misura di impatto SOST_I si definisce una nuova misura (un membro calcolato) come segue 1) Con SOST_I si definisce una misura additiva (non visibile) SOST_I1 (perché il nome SOST_I è questa volta riservato al membro calcolato) 2) Si definisce SOST_I come membro calcolato tramite la seguente espressione Iif([DOCENTE].CurrentMember.level.name= (All), [Measures].[Sost_P], [Measures].[Sost_I1]) Analogo discorso per la misura di impatto VOTO_I (si mostra la relativa espressione nell editor del membro calcolato) Per riepilogare, con [DOCENTE].CurrentMember.level.name= (All) Si ottiene un pattern senza attributi della gerarchia dell arco multiplo (cioè senza DOCENTE, CITTA_DOCENTE, e STATO_DOCENTE), condizione che viene usata per calcolare il valore di impatto secondo lo schema 3) Verificare i risultati ottenuti al punto 2) in SQL-OLAP calcolando il seguente pattern con rollup: 21

22 Ricordiamo che anche in SQL-OLAP per una misura di impatto si può usare la struttura WHEN <PATTERN SENZA ATTRIBUTI GERARCHIA AM> THEN <VALORE PESATO> ELSE <VALORE NON PESATO> END Se si vuole realizzare un pattern con più attributi della gerarchia dell arco multiplo, quale quello in questione, allora si deve effettuare l AND delle condizioni grouping(attributo_arco_multiplo)=1 : (GROUPING(D.DOCENTE)=1 AND GROUPING(CD.CITTA )=1 AND GROUPING(CD.STATO)=1) Dove CD.STATO AS STATO_DOCENTE, CD.CITTA AS CITTA_DOCENTE, D.DOCENTE AS DOCENTE, SELECT CD.STATO AS STATO_DOCENTE, CD.CITTA AS CITTA_DOCENTE, D.DOCENTE AS DOCENTE, CS.STATO AS STATO_STUDENTE, FACOLTA, SOST_P= SUM(SOST_P), SOST_I = CASE WHEN (GROUPING(D.DOCENTE)=1 AND GROUPING(CD.CITTA )=1 AND GROUPING(CD.STATO)=1) THEN SUM(SOST_P) ELSE SUM(SOST_I) END, VOTO_I = CASE WHEN (GROUPING(D.DOCENTE)=1 AND GROUPING(CD.CITTA )=1 AND GROUPING(CD.STATO)=1) THEN SUM(VOTO_P_SUM)/SUM(SOST_P) ELSE SUM(VOTO_SUM)/SUM(VOTO_NUM) END FROM FACT_TABLE_PD E JOIN DT_STUDENTE S ON (E.STUDENTE=S.STUDENTE) JOIN DT_DOCENTE D ON (E.DOCENTE=D.DOCENTE) JOIN DT_CITTA CD ON (CD.CITTA=D.CITTA) JOIN DT_CITTA CS ON (CS.CITTA=S.CITTA) JOIN DT_CORSO C ON (C.CORSO=E.CORSO) GROUP BY CD.STATO, CD.CITTA, D.DOCENTE, CS.STATO, FACOLTA WITH ROLLUP ORDER BY GROUPING(CD.STATO) DESC, GROUPING(CD.CITTA) DESC, GROUPING(FACOLTA) DESC, GROUPING(CS.STATO) DESC 22

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

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano SQL-OLAP. Estensioni OLAP in SQL

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano SQL-OLAP. Estensioni OLAP in SQL Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano SQL-OLAP Estensioni OLAP in SQL Estensioni OLAP in SQL SQL99 è stato il primo standard SQL ad offrire soluzioni per l analisi

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

ESAME CFU (C) VOTO (AVG) SOST REG

ESAME CFU (C) VOTO (AVG) SOST REG Schema di Fatto CITTA ESERCIZIO DEL 20 MAGGIO 2011 STATO STUDENTE DOCENTE CORSO FACOLTA ESAME CFU (C) VOTO (AVG) SOST REG Schema Logico del DM con Push- Down Backup DM e DB OLAP sono disponibili in : http://www.dbgroup.unimo.it/sia/20110520

Dettagli

Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano. Archi multipli

Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano. Archi multipli Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano Archi multipli Capitoli 5.2.5 e 9.1.4 del libro Data Warehouse - teoria e pratica della Progettazione Autori: Matteo Golfarelli,

Dettagli

! Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)

! Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore) Arco Multiplo! Schema di fatto contenente un arco multiplo: genere autore libro VENDITA numero incasso data mese anno arco multiplo (AM) " Per illustrare il concetto di arco multiplo si parte da uno schema

Dettagli

Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)

Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore) Arco Multiplo Schema di fatto contenente un arco multiplo: genere autore libro VENDITA numero incasso data mese anno arco multiplo (AM) Per illustrare il concetto di arco multiplo si parte da uno schema

Dettagli

Sistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano. Archi multipli

Sistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano. Archi multipli Sistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano Archi multipli Capitoli 5.2.5 e 9.1.4 del libro Data Warehouse - teoria e pratica della Progettazione Autori: Matteo Golfarelli,

Dettagli

ESEMPIO DI PROVA PRATICA

ESEMPIO DI PROVA PRATICA ESEMPIO DI PROVA PRATICA Sono dati Schema di Fatto VENDITA QTY: misura normale ADDITIVA PU: misura calcolata come PU_TOTALE/NVENDITE dove a) PU_TOTALE misura normale additiva b) NVENDITE misura normale

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

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano ESERCITAZIONI DEL 20 e 27 APRILE 2012 Sommario 1.1 VENDITA Dimensioni = { PROD, DATA,CASSA,COM }... 2 1.2 Esercizio A (20

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

ESEMPIO DI COPERTURA DI ARCHI OPZIONALI

ESEMPIO DI COPERTURA DI ARCHI OPZIONALI ESEMPIO DI COPERTURA DI ARCHI OPZIONALI Di seguito è riportato un esempio per illustrare la Copertura di un arco opzionale (PAG. 22 dei lucidi MODELLAZIONE CONCETTUALE). A tale scopo si considera un DBO

Dettagli

Schema Del DB Operazionale TELEFONATE

Schema Del DB Operazionale TELEFONATE Schema Del DB Operazionale TELEFONATE Costruire lo Schema di Fatto per analizzare le chiamate considerando come dimensioni TelefonoDA e TelefonoA, Data e Fascia, intesa come FasciaOraria della chiamata

Dettagli

Fatto Esame : Sintesi per la prima consegna

Fatto Esame : Sintesi per la prima consegna Fatto Esame : Sintesi per la prima consegna Diagramma Relazionale http://dbgroup.unimo.it/sia/esercitazioninovembre2015/db_esempiofattoesamenovembre2015.bak SCHEMA RELAZIONALE (con incluse AK e FD derivanti

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

ESERCIZI Data Warehousing Archi Multipli

ESERCIZI Data Warehousing Archi Multipli ESERCIZI Data Warehousing Archi Multipli 1 ARCHI MULTIPLI... 2 1.1 Arco multiplo su LIBRO-AUTORE (temporale)... 2 1.1.1 Soluzione... 4 1.2 Arco multiplo su LIBRO-AUTORE (transazionale)... 9 1.2.1 Soluzione...

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

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano. OLAP - Analysis Services

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano. OLAP - Analysis Services Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano OLAP - Analysis Services OLAP: cubi multidimensionali OLAP : insieme di tecniche software per l'analisi interattiva e veloce

Dettagli

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Domanda 1 Si consideri una base di dati sulle relazioni R 1 (A, B, C) R 2 (D, E, F ) Scrivere interrogazioni in SQL equivalenti alle seguenti

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Sesta parte Interrogazione di una

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

Fatto Esame : PROGETTO LOGICO + ALIMENTAZIONE

Fatto Esame : PROGETTO LOGICO + ALIMENTAZIONE Fatto Esame : PROGETTO LOGICO + ALIMENTAZIONE Allo schema relazionale considerato in fase di Progettazione Concettuale (http://dbgroup.unimo.it/sia/dueesempipertesina_v2) si apportano le seguenti modifiche

Dettagli

Esempio di progettazione di un DW

Esempio di progettazione di un DW Esempio di progettazione di un DW! La sorgente dati è costituita da un unico DataBase SQL-Server con informazioni sui Manifesti degli Studi e gli orari delle lezioni. Viene considerato il progetto di un

Dettagli

Lezioni di Laboratorio sui Data Base

Lezioni di Laboratorio sui Data Base Lezioni di Laboratorio sui Data Base Informatica per l'impresa Docente Tutor: Dott. Gianluigi Roveda OBIETTIVO: Rivedere come attività di laboratorio le query di tipo select scritte in SQL ma con le variazioni

Dettagli

ESEMPIO TELEFONATE. Esempio di progettazione con indicazioni per lo svolgimento della Tesina. DIAGRAMMA RELAZIONALE

ESEMPIO TELEFONATE. Esempio di progettazione con indicazioni per lo svolgimento della Tesina. DIAGRAMMA RELAZIONALE ESEMPIO TELEFONATE Esempio di progettazione con indicazioni per lo svolgimento della Tesina. DIAGRAMMA RELAZIONALE NOTA: Molte tabelle hanno come chiave un identificatore ID che è stato rinominato (è possibile

Dettagli

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

QL (Query Language) Alice Pavarani

QL (Query Language) Alice Pavarani QL (Query Language) Alice Pavarani QL Query Language Linguaggio di interrogazione dei dati, permette di: Interrogare la base di dati per estrarre informazioni Elaborare i dati Il risultato di un interrogazione

Dettagli

Ricorsione in SQL-99

Ricorsione in SQL-99 Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione

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

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query Microsoft Access (parte 5) Anno accademico: 2008-2009 Per estrarre informazioni da un database si utilizzano delle query : procedure di interrogazione Si può creare più query per ogni tabella Occorre avere

Dettagli

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

Basi di dati I 8 settembre 2011 Tempo a disposizione: un ora e trenta minuti. Libri chiusi.

Basi di dati I 8 settembre 2011 Tempo a disposizione: un ora e trenta minuti. Libri chiusi. Basi di dati I 8 settembre 2011 Tempo a disposizione: un ora e trenta minuti. Libri chiusi. Cognome: Nome: Matricola: Corso di studi: Domanda 1 (25%) Mostrare uno schema concettuale che rappresenti una

Dettagli

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste Corso di Basi di Dati 9. Esercitazioni in SQL: Check, asserzioni, viste A.A. 2016 2017 Check Come abbiamo visto, SQL permette di specificare vincoli sugli attributi e le tabelle attraverso il comando check

Dettagli

#$%&'($!)*+,-(.&$/$!0/.*1.&$ 0**,!022.3'($2,!45""645"4 7-,+8!9,('*$2,!:'*'/'*&.*,!

#$%&'($!)*+,-(.&$/$!0/.*1.&$ 0**,!022.3'($2,!456454 7-,+8!9,('*$2,!:'*'/'*&.*,! #$%&'($!)*+,-(.&$/$!0/.*1.&$ 0**,!022.3'($2,!45""645"4 7-,+8!9,('*$2,!:'*'/'*&.*,! ESERCIZI PROGETTAZIONE CONCETTUALE, PROGETTAZIONE LOGICA, DEFINIZIONE DELLE MISURE e SQL-OLAP ESERCIZI... 2! 1.1! Spedizione...

Dettagli

ESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLASSE IL 25 MAGGIO 2011)

ESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLASSE IL 25 MAGGIO 2011) ESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLSE IL 25 MAGGIO 2011) Dato il seguente schema E/R consideriamo solo le due gerarchie relative a MANAGER/SEGRETARIA/IMPIEGATO

Dettagli

Interrogazioni semplici

Interrogazioni semplici Interrogazioni semplici Lorenzo Sarti 2009 Basi di Dati 1 select Campi considerati Matricola Cognome Nome Data di nascita A80198760 Bianchi Anna 22/03/1967 A80293450 Rossi Andrea 13/04/1968 A80198330 Neri

Dettagli

SQL: le funzioni di aggregazione

SQL: le funzioni di aggregazione SQL: le funzioni di aggregazione funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della tabella: Conteggi Somme Medie Massimi, minimi Funzione Count La funzione COUNT conta il

Dettagli

Introduzione. Ricorsione in SQL-99. Esempio. Idea di base. Esempio (continua) SQL-99 - comando WITH

Introduzione. Ricorsione in SQL-99. Esempio. Idea di base. Esempio (continua) SQL-99 - comando WITH icorsione in SQL99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione che ritrova

Dettagli

ESERCIZI - Progettazione di un DW

ESERCIZI - Progettazione di un DW Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano ESERCIZI - Progettazione di un DW ESERCIZI VERSIONE DRAFT APRILE 2013... 3 1.1 Esercizio: Spedizione... 4 1.1.1 Soluzione...

Dettagli

ESERCITAZIONI ACCESS

ESERCITAZIONI ACCESS ESERCITAZIONI ACCESS MS Access 2000 Struttura di riferimento: Studente (Matricola, Cognome, Nome) Esame (Matricola, Materia, Voto, Data) CREARE LE TABELLE IN SQL: Create table STUDENTE ( matricola char(6)

Dettagli

Filtri. Microsoft Access. Filtri. Filtri

Filtri. Microsoft Access. Filtri. Filtri Filtri Microsoft Access Filtri, query Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo requisito Per applicare un filtro a una tabella è

Dettagli

PRODOTTO CARTESIANO Caso Generale

PRODOTTO CARTESIANO Caso Generale PRODOTTO CARTESIANO Caso Generale Vincoli di integrità dei dati Un database non deve solamente memorizzare i dati, ma garantire che i dati memorizzati siano corretti; se i dati sono imprecisi o incoerenti,

Dettagli

Consideriamo lo schema relazionale

Consideriamo lo schema relazionale Andrea Gasparetto Consideriamo lo schema relazionale Sulle stringhe WHERE Expr LIKE pattern Il pattern può contenere caratteri e i simboli speciali % sequenza di 0 o più caratteri qualsiasi _ un carattere

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

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è

Dettagli

Architetture per l analisi dei dati

Architetture per l analisi dei dati Architetture per l analisi dei dati Esercizio 8.1 Progettare un cubo multidimensionale relativo all analisi dei sinistri per una compagnia assicurativa, basandosi sulle specifiche accennate nel paragrafo

Dettagli

Basi di dati I Prova di autovalutazione 30 ottobre 2014

Basi di dati I Prova di autovalutazione 30 ottobre 2014 Basi di dati I Prova di autovalutazione 3 ottobre 214 La prova verrà discussa in aula, prevedibilmente giovedì 6 novembre. Si consiglia di svolgerlo simulando l esame, sulla carta e senza ausilio di libri

Dettagli

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

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

Dettagli

Versione draft: l esempio verrà completato la prossima settimana

Versione draft: l esempio verrà completato la prossima settimana ESERCIZIO DEL 24 OTTOBRE 2013 Versione draft: l esempio verrà completato la prossima settimana SCHEMA RELAZIONALE E lo schema parziale del DB AdventureWorks 2008 Le interrogazioni fatte in classe per l

Dettagli

Manuale SQL. Manuale SQL - 1 -

Manuale SQL. Manuale SQL - 1 - Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,

Dettagli

Basi di dati I 11 luglio 2019 Tempo a disposizione: un ora e 45 minuti. Cognome: Nome: Matricola:

Basi di dati I 11 luglio 2019 Tempo a disposizione: un ora e 45 minuti. Cognome: Nome: Matricola: Tempo a disposizione: un ora e 45 minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Definire uno schema Entity-Relationship che descriva i dati di interesse per un insieme di orchestre, secondo le seguenti

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Query in SQL Anno accademico 2016-2017 Paolo Perlasca Parte di questi lucidi è tratta da una versione precedente di Marco Mesiti, Stefano Valtolina, Daniele Riboni e Sergio

Dettagli

IL LINGUAGGIO SQL LE BASI

IL LINGUAGGIO SQL LE BASI IL LINGUAGGIO SQL LE BASI DB DI RIFERIMENTO PER GLI ESEMPI 2 ESPRESSIONI NELLA CLAUSOLA SELECT La SELECT list può contenere non solo attributi, ma anche espressioni: Le espressioni possono comprendere

Dettagli

Il linguaggio SQL: raggruppamenti

Il linguaggio SQL: raggruppamenti Il linguaggio SQL: raggruppamenti Sistemi Informativi T Versione elettronica: 04.3.SQL.gruppi.pdf Informazioni di sintesi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 27 Giugno 2007 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

Basi di dati attive. Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger).

Basi di dati attive. Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger). Basi di dati attive Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger). Tali regole vengono attivate in modo automatico al verificarsi

Dettagli

Data Warehousing. Esercitazione 2

Data Warehousing. Esercitazione 2 Esercitazione 2 Reminder In laboratorio è presente un installazione Enterprise di DB2. Per accedere richiedere un account come specificato sul sito del corso 1 Riepilogo Esercitazione 1: Descrizione dello

Dettagli

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Considerare la base di dati relazionale contenente le seguenti relazioni:

Dettagli

Basi di Dati. S Q L Lezione 4

Basi di Dati. S Q L Lezione 4 Basi di Dati S Q L Lezione 4 Antonio Virdis a.virdis@iet.unipi.it Sommario Espressioni condizionali Query nella SELECT Raggruppamento di tuple Condizioni sui gruppi 2 Esercizio 6 (lezione 3) Indicare nome

Dettagli

SQL Esercizi DML Blocco 1

SQL Esercizi DML Blocco 1 SQL Esercizi DML Blocco 1 Si consideri il seguente schema di base di dati che vuole tenere traccia di alcune informazioni riguardanti gli studenti di un'università. Studenti(Matricola, NomeS, CognomeS,

Dettagli

Basi di dati I 28 gennaio 2014 Compito A Tempo a disposizione: un ora e quarantacinque minuti.

Basi di dati I 28 gennaio 2014 Compito A Tempo a disposizione: un ora e quarantacinque minuti. Basi di dati I 28 gennaio 2014 Compito A Tempo a disposizione: un ora e quarantacinque minuti. Cognome: : Matricola: Domanda 1 (10%) Considerare i due schemi seguenti a) Professore Afferenza Dipartimento

Dettagli

Esempio di progettazione di un DW

Esempio di progettazione di un DW Esempio di progettazione di un DW La sorgente dati è costituita da un unico DataBase SQL-Server con informazioni sui Manifesti degli Studi e gli orari delle lezioni. Viene considerato il progetto di un

Dettagli

Select From Where...

Select From Where... Select From Where... SELECT Le colonne che saranno mostrate e in che ordine. Calcoli su colonne FROM La tabella o le tabelle usate dall interrogazione WHERE Condizione che deve essere soddisfatta dalle

Dettagli

Basi di Dati. Concetti Avanzati

Basi di Dati. Concetti Avanzati Basi di Dati Concetti Avanzati Concetti Avanzati Raggruppamenti Clausole GROUP BY e HAVING Forma Generale della SELECT Nidificazione Uso nel DML e DDL Nidificazione, Viste e Potere Espressivo Esecuzione

Dettagli

Esercizio 2 (punti 3) Dire a quale numero decimale corrisponde il seguente numero assegnato in formato IEEE P754:

Esercizio 2 (punti 3) Dire a quale numero decimale corrisponde il seguente numero assegnato in formato IEEE P754: COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici Giovedì 07 Settembre 2006 (09.30 12.30) Esercizio 1 (punti 15) È assegnato un file contenente dati relativi ai prodotti presenti in un magazzino

Dettagli

Basi di dati - Laboratorio

Basi di dati - Laboratorio Basi di dati - Laboratorio Corso di Laurea in Bioinformatica Docente: Barbara Oliboni Lezione 4 Contenuto della lezione Interrogazioni SQL Join interni ed esterni Uso di variabili tupla o ALIAS Interrogazioni

Dettagli

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente

Dettagli

Gestione dei valori nulli

Gestione dei valori nulli Gestione dei valori nulli La gestione dei valori nulli, a seconda dell implementazione, avviene attraverso una logica a due valori come in SQL-89, o a tre valori (vero, falso, unknown) come in SQL-2. In

Dettagli

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la base di dati relazionale contenente le seguenti relazioni:

Dettagli

Operazioni sui dati. Interrogazioni con operatori aggregati. Capitolo 4

Operazioni sui dati. Interrogazioni con operatori aggregati. Capitolo 4 Operazioni sui dati Interrogazioni con operatori aggregati Ordinamento del risultato Nome e reddito delle persone con meno di trenta anni in ordine alfabetico select nome, reddito from persone where eta

Dettagli

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati Sommario - Progettazione di un database - Join - Valore NULL - Operatori aggregati Progettazione di un database - In un database c'è una marcata distinzione tra i valori in esso contenuti e le operazioni

Dettagli

Monday, January 24, 2011 SQL

Monday, January 24, 2011 SQL SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 26 LUGLIO 2014 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

Data warehouse in Oracle

Data warehouse in Oracle Data warehouse in Oracle Estensioni al linguaggio SQL per l analisi dei dati Viste materializzate Tania Cerquitelli Estensioni al linguaggio SQL per l analisi dei dati Funzioni OLAP disponibili Finestre

Dettagli

Linguaggio SQL seconda parte

Linguaggio SQL seconda parte Linguaggio SQL seconda parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Le condizioni di ricerca 2 Le condizioni di ricerca Usate nelle

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

2.4. Creare ed operare con le query

2.4. Creare ed operare con le query 2.4. Creare ed operare con le query 2.4.1. I comandi per le query I comandi già presentati in precedenza per gli oggetti in generale (vedi RICHIAMO) valgono in particolare per le query; in figura sono

Dettagli

Data warehouse in Oracle

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

Dettagli

Data warehouse Analisi dei dati

Data warehouse Analisi dei dati DataBase and Data Mining Group of DataBase and Data Mining Group of DataBase and Data Mining Group of Database and data mining group, D MG B Data warehouse Analisi dei dati DATA WAREHOUSE: OLAP - 1 Database

Dettagli

SQL Server BI Development Studio. SQL Server Business Intelligence Development Studio. Analysis Services

SQL Server BI Development Studio. SQL Server Business Intelligence Development Studio. Analysis Services SQL Server Business Intelligence Development Studio Analysis Service Dutto Riccardo Analysis Services Operazioni OLAP Creazione di dimensioni Creazione e interrogazione di cubi Operazioni di Data Mining

Dettagli

Analysis Service. Dutto Riccardo IPSI - tel Dutto Riccardo - SQL Server 2008.

Analysis Service. Dutto Riccardo IPSI - tel Dutto Riccardo - SQL Server 2008. SQL Server Business Intelligence Development Studio Analysis Service Dutto Riccardo riccardo.dutto@polito.it IPSI - tel.7991 http://dbdmg.polito.it/ Il Data warehouse Sorgenti dati operazionali DB relazionali

Dettagli

σ data 15/12/2013 data 20/12/2014

σ data 15/12/2013 data 20/12/2014 Dato lo schema: Basi di Dati Prof. Alfredo Pulvirenti A.A. 2014-2015 Prova in itinere 18 dicembre 2014 (A) EVENTO(id, titolo, data, categoria, costo_partecipazione, idcatering) ORGANIZZATORE(id,idevento)

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

SQL Server Business Intelligence Development Studio. SQL Server BI Development Studio. SQL Server BI Development Studio *Analysis Services*

SQL Server Business Intelligence Development Studio. SQL Server BI Development Studio. SQL Server BI Development Studio *Analysis Services* SQL Server Business Intelligence Development Studio Analysis Service Dutto Riccardo http://dbdmg.polito.it/ SQL Server BI Development Studio Analysis Services Operazioni OLAP Creazione di dimensioni Creazione

Dettagli

Basi di dati I 14 febbraio 2019 Compito A Tempo a disposizione: un ora e quindici minuti per la prova breve, due ore per la prova lunga

Basi di dati I 14 febbraio 2019 Compito A Tempo a disposizione: un ora e quindici minuti per la prova breve, due ore per la prova lunga Tempo a disposizione: un ora e quindici minuti per la prova breve, due ore per la prova lunga Cognome: Nome: Matricola: Domanda 1 (35% per la prova breve e 20% per la prova completa) Considerare la relazione

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 10 GIUGNO 2015 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTECodFiscale, Cognome,

Dettagli

SQL Server Business Intelligence Development Studio

SQL Server Business Intelligence Development Studio SQL Server Business Intelligence Development Studio Analysis Service Dutto Riccardo http://dbdmg.polito.it/ SQL Server BI Development Studio Analysis Services Operazioni OLAP Creazione di dimensioni Creazione

Dettagli

SQL - Sottointerrogazioni correlate

SQL - Sottointerrogazioni correlate SQL - Sottointerrogazioni correlate negli esempi visti ogni subquery viene eseguita una volta per tutte ed il valore (o insieme di valori) è usato nella clausola WHERE della query esterna è possibile definire

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

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

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 48 Sommario 1 Join di Tabelle Join Naturale Theta Join Join Esterno 2 La Clausola HAVING 3 2 / 48 Join Naturale Theta Join Join Esterno

Dettagli

Basi di dati I 10 settembre 2019 Tempo a disposizione: un ora e 30 minuti. Possibili soluzioni. Cognome: Nome: Matricola:

Basi di dati I 10 settembre 2019 Tempo a disposizione: un ora e 30 minuti. Possibili soluzioni. Cognome: Nome: Matricola: Tempo a disposizione: un ora e 30 minuti. Possibili soluzioni Cognome: Nome: Matricola: Domanda 1 (20%) Considerare la seguente base di dati, che fa riferimento alle pratiche gestite da una assicurazione

Dettagli

Viste materializzate in Oracle e SQL esteso. Sistemi di gestione di basi di dati. Tania Cerquitelli e Paolo Garza 1

Viste materializzate in Oracle e SQL esteso. Sistemi di gestione di basi di dati. Tania Cerquitelli e Paolo Garza 1 Data warehouse in Oracle Estensioni al linguaggio SQL per l analisi dei dati presenti nei data warehouse Viste materializzate ed estensioni al linguaggio SQL per l analisi dei dati presenti nei data warehouse

Dettagli

Caratteristiche dei linguaggi per Database

Caratteristiche dei linguaggi per Database IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI ING. INFORMATICA PROVA PRATICA 10 LUGLIO 2013 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome, Nome,

Dettagli

Ordinare dati. Microsoft Access. Ordinare dati. Ordinare dati. Ordinare dati. Ordinare dati. Query (II), filtri. L ordinamento crescente:

Ordinare dati. Microsoft Access. Ordinare dati. Ordinare dati. Ordinare dati. Ordinare dati. Query (II), filtri. L ordinamento crescente: Microsoft Access Query (II), filtri L ordinamento crescente: Se il campo è di tipo testo, i record verranno visualizzati seguendo l ordine alfabetico Se il campo è di tipo numerico, i record verranno visualizzati

Dettagli

SELECT FROM ORDER BY SELECT FROM ORDER BY DESC DESC SELECT FROM ORDER BY DESC DESC SELECT FROM WHERE SELECT FROM WHERE AND SELECT FROM WHERE AND

SELECT FROM ORDER BY SELECT FROM ORDER BY DESC DESC SELECT FROM ORDER BY DESC DESC SELECT FROM WHERE SELECT FROM WHERE AND SELECT FROM WHERE AND Data la seguente Base di dati: STUDENTE(Matricola, Nome, Cognome, Indirizzo, Città, CAP,Sesso) DOCENTE(Matricola, Nome, Cognome, Città,Telefono, Stipendio) CORSO(Codice, Nome, Facoltà, NumeroCrediti) ESAME(CodiceCorso,

Dettagli

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/ Modelli di Base Dati 8 L aggregazione e il raggruppamento in SQL a.a. 2001/2002 8.1 SQL: le funzioni di aggregazione 8.2 funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della

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

Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018

Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018 Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018 REGOLE SULLO SVOLGIMENTO DELL ESAME E vietato usare dispositivi elettronici di qualsiasi tipo (smartphone, tablet, portatili) Non è

Dettagli