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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

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

2 Estensioni OLAP in SQL SQL99 è stato il primo standard SQL ad offrire soluzioni per l analisi dei dati: questa parte dello standard viene chiamata SQL/OLAP I principali operatori di SQL/OLAP sono: CUBE e ROLLUP SQL SERVER offre varie estensione alla clausola SELECT per l analisi dei dati: alcune di queste estensioni sono definite secondo lo standard SQL/ OLAP, altre sono proprie di SQL SERVER Nel seguito vengono introdotti gli operatori CUBE e ROLLUP di SQL/OLAP (considerando la loro implementazione in SQL SERVER). 2

3 Perché operatori OLAP in SQL? L obiettivo è duplice: 1. Effettuare alcune analisi direttamente in SQL, cioè senza usare uno specifico sistema OLAP 2. Avere uno strumento per verificare i risultati del sistema OLAP 1. Individuazione di errori dovuti all alimentazione del cubo del sistema OLAP 2. Verifica del risultato ottenuto con particolari operatori del sistema OLAP L OLAP in SQL è normalmente utilizzato nello schema logico, ovvero nel Data Mart 3

4 Reticolo di roll-up in SQL-OLAP Dato uno Schema di Fatto si considera il suo reticolo di roll-up: in questo modo si conoscono tutti i pattern significativi (quindi si sono già considerate dipendenze funzionali, convergenze, attributi cross-dimensionali, ) il suo schema logico (star o snowflake schema) L obiettivo è utilizzare l SQL-OLAP per realizzare alcuni pattern P, cioè visualizzare i raggruppamenti relativi al pattern P e ai suoi sub-pattern, e calcolare le misure Per indicare il pattern P e tutti i suoi sub-pattern useremo (a volte) il termine reticolo di roll-up di P 4

5 Esempio Fatto VENDITA RAPPRESENTANTE MESE FORNITORE CITTA NEGOZIO SETTIMANA VENDITA QUANTITA GUADAGNO CATEGORIA PRODOTTO Star schema 5

6 Misura QUANTITA additiva: Calcolo delle misure Per eseguire : select P, SUM(QUANTITA) " " " "from VENDITA " " " "group by P!! per semplicità si introduce la vista VENDITA ottenuta come join della Fact Table e delle Dimension Table: in questo modo contiene tutti gli attributi dimensionali del fatto VENDITA e la tutte le misure. 6

7 Estensioni OLAP in SQL Realizzazione del pattern { CITTA,SETTIMANA } e del pattern vuoto {} Una query di raggruppamento (GROUP BY) realizza un singolo pattern Le estensioni OLAP di SQL consentono di realizzare in una singola query di raggruppamento più pattern; in particolare consentono di realizzare un pattern e i suoi (tutti o in parte) sub-pattern Due operatori: CUBE e ROLLUP 7

8 Gli operatori CUBE e ROLLUP GROUP BY A1, A2,, An Realizzazione del pattern di aggregazione {A1, A2,, An } L ordine degli attributi nella GROUP BY è irrilevante. GROUP BY A1, A2,, An WITH CUBE Realizzazione del pattern {A1, A2,, An} e di tutti i suoi sub-pattern (2 n elementi dell insieme potenza di {A1, A2,, An }). L ordine degli attributi nella GROUP BY è irrilevante. GROUP BY A1, A2,, An WITH ROLLUP Realizzazione del pattern {A1, A2,, An} e dei seguenti n sub-pattern {A1, A2,, An-1 } {A1} {} L ordine degli attributi nella GROUP BY è rilevante.

9 Il nuovo operatore CUBE Nei sub-pattern si usa un nuovo valore polimorfo ALL (All Values ): in {CITTA}: ALL nella colonna SETTIMANA indica tutte le settimane; in {SETTIMANA }: ALL nella colonna CITTA indica tutte le citta. Il pattern vuoto {} corrisponde ad una singola riga con tutti ALL L ordine delle righe è irrilevante ed è stabilito dal metodo di esecuzione del DBMS: per ottenere vicine le righe di un pattern occorre ordinare quindi ORDER BY (grouping è introdotta di seguito) {CITTA,SETTIMANA} SELECT CITTA,SETTIMANA, QUANTITA= SUM(QUANTITA) FROM VENDITA GROUP BY CITTA, SETTIMANA WITH CUBE {CITTA} {SETTIMANA} ORDER BY GROUPING(CITTA), GROUPING(SETTIMANA) {} 9

10 L operatore CUBE in SQL-SERVER GROUP BY A1, A2,, An WITH CUBE nel risultato il valore ALL è rappresentato da NULL funzione booleana GROUPING GROUPING(Ai) = 1 se Ai=ALL, 0 altrimenti GROUPING(CITTA)=1 nei pattern che non contengono CITTA, cioè nei pattern che raggruppano su CITTA La funzione GROUPING si può usare solo con gli operatori CUBE e ROLLUP 10

11 L operatore CUBE in SQL-SERVER Con GROUPING nel CASE si può visualizzare ALL, oppure differenziare con un valore differente: 'TutteLeCitta, TutteLesettimane La logica della query non cambia: nel seguito si visualizzerà NULL! 11

12 L operatore CUBE in SQL-SERVER: esempi Pattern {CITTA} e {} Pattern {CITTA,FORNITORE,MESE} e tutti i suoi 2 n -1 sub-pattern 12

13 SQL-OLAP: Reticolo di roll-up di un pattern Dato un pattern P = {A1,., An}, per reticolo di roll-up di P si intende l insieme P e tutti i suoi sub-pattern. Per ottenerlo tramite una singola query SQL-OLAP: 1. si raggruppa rispetto a tutti gli attributi dimensionali 2. si ottengono tutti i sub-pattern tramite WITH-CUBE 3. si eliminano quelli non significativi con HAVING: per eliminare il sub-pattern P1={A1,, Ak}, con k <= n P1 è individuato dalla condizione C_P1: G(A1)=0 AND G(Ak)=0 AND G(Ak+1)=1 AND G(An)=1 quindi HAVING NOT C_P1 Per eliminare più sub-pattern HAVING NOT (C_P1 AND C_P2 ) 13

14 Reticolo di roll-up di un pattern : Esempio P = {MESE, SETTIMANA}, con SETTIMANA MESE Reticolo di roll-up: {SETTIMANA}, {MESE} e {} si deve quindi eliminare {MESE, SETTIMANA} GROUP BY MESE,SETTIMANA WITH CUBE HAVING NOT( G(MESE)=0 AND G(SETTIMANA)=0 ) In una query che visualizza anche MESE il pattern {SETTIMANA} può essere meglio visualizzato, riportando per ogni settimana anche il relativo mese: invece di riportare {SETTIMANA} si riporta {MESE,SETTIMANA} GROUP BY MESE,SETTIMANA WITH CUBE HAVING NOT(G(MESE)=1 AND G(SETTIMANA)=0) 14

15 Reticolo di roll-up di un pattern : Esempio P = {MESE, SETTIMANA}, con SETTIMANA MESE vengono visualizzati {MESE, SETTIMANA}, {MESE} e {} GROUP BY MESE,SETTIMANA WITH CUBE HAVING NOT( G(MESE)=1 AND G(SETTIMANA)=0 ) Realizzare il pattern di una gerarchia, quale {MESE, SETTIMANA}, è una operazione frequente: c è un apposito operatore ROLLUP GROUP BY MESE,SETTIMANA WITH ROLLUP GROUP BY A1,A2,..., An-1, An WITH ROLLUP è una specializzazione di CUBE: per Ai non si riportano le righe ottenute raggruppando i valori delle colonne sulla sinistra, ovvero delle colonne Aj, con j < i 15

16 ROLLUP in SQL-SERVER: ESEMPI roll-up lungo la dimensione NEGOZIO: L operatore ROLLUP può essere applicato ad una sequenza generica, non necessariamente ad una sequenza di attributi dimensionali di una gerarchia: il risultato è comunque poco significativo 16

17 Pattern generici Realizzare il reticolo di roll-up di {CITTA,SETTIMANA,MESE} Si può realizzare con ROLLUP? NO GROUP BY CITTA,MESE,SETTIMANA WITH ROLLUP 17

18 Pattern generici Come realizzare {CITTA,SETTIMANA,MESE}? 1. GROUP BY CITTA,MESE,SETTIMANA WITH CUBE 2. Si considera SETTIMANA MESE : si devono togliere a) {SETTIMANA} che corrisponde a G(CITTA)=1 and G(MESE)=1 and G(SETTIMANA)=0 b) {SETTIMANA,CITTA} che corrisponde a G(CITTA)=0 and G(MESE)=1 and G(SETTIMANA)=0 3. è facile verificare che questo si ottiene con HAVING not (G(MESE)=1 and G(SETTIMANA)=0) 4. In definitiva per considera SETTIMANA MESE anche nei pattern che contengono - altri attributi oltre ai due interessati dalla dipendenza funzionale - si deve sempre usare HAVING not (G(MESE)=1 and G(SETTIMANA)=0) 18

19 L operatore ROLLUP tramite CUBE Una verifica della precedente regola sul pattern {Fornitore,Categoria,Prodotto } con P C e C F GROUP BY F, C, P WITH ROLLUP equivale a GROUP BY F,C,P WITH CUBE HAVING not ( G(C)=1 and G(P)=0 or G(F)=1 and G(C)=0) 19

20 Reticolo di roll-up in SQL-OLAP - Esempio Fatto Esame con condivisione su CITTA ESAME FACOLTA STUDENTE CITTA Pattern: 1. {STUDENTE, FACOLTA } 2. {STUDENTE, FACOLTA_CITTA} 3. {FACOLTA, STUDENTE_CITTA } 4. {STUDENTE_CITTA, FACOLTA_CITTA} 5. {FACOLTA_CITTA} 6. {STUDENTE_CITTA} 7. {STUDENTE} 8. {FACOLTA } 9. {} Star Schema (coincide con SnowFlake Schema) FACT_TABLE(STUDENTE:dtSTUDENTE, FACOLTA:dtFACOLTA) dtfacolta(facolta,citta) dtstudente(studente,citta) 20

21 Reticolo di roll-up in SQL-OLAP - Esempio Per ottenere il reticolo di roll-up complessivo {FACOLTA, FACOLTA_CITTA, STUDENTE, STUDENTE_CITTA } Si utilizza WITH CUBE e si tiene conto delle due FD 1. STUDENTE STUDENTE_CITTA 2. FACOLTA FACOLTA_CITTA quindi avremo la condizione not ( G(STUDENTE_CITTA)=1 and G(STUDENTE)=0 or G(FACOLTA_CITTA)=1 and G(FACOLTA)=0 ) Individuata la logica, la query SQL-OLAP corrispondente è semplice ma un po lunga da scrivere occorre mappare gli attributi dimensionali dello schema di fatto in quelli dello schema logico: ad esempio STUDENTE_CITTA CITTA in dtstudente 21

22 Reticolo di roll-up in SQL-OLAP - Esempio select from S.STUDENTE, S.CITTA AS STUDENTE_CITTA, F.FACOLTA, F.CITTA AS FACOLTA_CITTA FACT_TABLE FT JOIN dtstudente S JOIN dtfacolta F group by S.STUDENTE,S.CITTA,F.FACOLTA,F.CITTA with cube having not (G(S.CITTA)=1 and G(S.STUDENTE)=0 or G(F.CITTA)=1 and G(F.FACOLTA)=0 ) Si noti che non sono riportate le condizioni di join, si intende cioè il natural join (join effettuato sugli attributi comuni) Il discorso è indipendente dalle misure presenti; nella query non è riportata nessuna misura 22

23 Reticolo di roll-up in SQL-OLAP - Esempio Fatto Esame con condivisione su CITTA ESAME STUDENTE CITTA FACOLTA Pattern: 1. {STUDENTE, FACOLTA } 2. {STUDENTE} si visualizza l equivalente {STUDENTE, CITTA} 3. {FACOLTA } si visualizza l equivalente {FACOLTA, CITTA} 4. {CITTA} 5. {} STUDENTE, FACOTA STUDENTE FACOLTA CITTA { } Star Schema (coincide con SnowFlake Schema) FACT_TABLE(STUDENTE:dtSTUDENTE, FACOLTA:dtFACOLTA) dtfacolta(facolta,citta) dtstudente(studente,citta) 23

24 Reticolo di roll-up in SQL-OLAP - Esempio Rispetto al caso di condivisione è più semplice: la CITTA si può prendere da una delle due dimension table, ad esempio dtstudente, quindi non serve più il join con l altra select from S.STUDENTE, CITTA, FACOLTA FACT_TABLE FT JOIN dtstudente S group by S.STUDENTE, CITTA, FACOLTA with cube having not (G(CITTA)=1 AND G(S.STUDENTE)=0 OR G(CITTA)=1 AND G(F.FACOLTA)=0 ) 24

25 SQL-OLAP: aggregabilità delle misure Fatto ESAME con misura NUMESAMI non aggregabile rispetto alla dimensione FACOLTA, non è possibile calcolare il valore di NUMESAMI per i pattern che aggregano rispetto alla dimensione FACOLTA, ovvero che non contengono FACOLTA: {MATR} e {} ESAME VOTO (AVG) NUMESAMI FACOLTA MATR Eventi Primari Fact table FT_ESAME(FACOLTA,MATR,VOTO,NUMESAMI) 25

26 SQL-OLAP: aggregabilità delle misure Fatto ESAME con misura NUMESAMI non aggregabile rispetto alla dimensione FACOLTA, non è possibile calcolare il valore di NUMESAMI per i pattern che aggregano rispetto alla dimensione FACOLTA, ovvero che non contengono FACOLTA: {MATR} e {} ESAME VOTO (AVG) NUMESAMI FACOLTA MATR Eventi Primari Fact table FACT_TABLE(FACOLTA,MATR,VOTO_SUM, VOTO_COUNT,NUM_ESAMI) 26

27 SQL-OLAP: aggregabilità delle misure Con WITH CUBE visualizziamo tutti i pattern SELECT FACOLTA,MATR, VOTO=SUM(VOTO_SUM)/SUM(VOTO_COUNT), NUM_ESAMI=SUM(NUM_ESAMI) FROM FACT_TABLE GROUP BY FACOLTA,MATR WITH CUBE {FACOLTA,MATR} {FACOLTA} {MATR} {} 27

28 SQL-OLAP: aggregabilità delle misure Per i pattern che aggregano rispetto a FACOLTA, caratterizzati cioè da GROUPING(FACOLTA)=1 si può: 1. eliminare tali pattern (se non ci sono altre misure) 2. visualizzazione particolare della misura non aggregabile 3. non visualizzare la misura non aggregabile SELECT FACOLTA,MATR, VOTO=SUM(VOTO_SUM)/SUM(VOTO_COUNT), NUMESAMI=SUM(NUMESAMI) FROM FACT_TABLE GROUP BY FACOLTA,MATR WITH CUBE HAVING NOT GROUPING(FACOLTA) = 1 {FACOLTA,MATR} {FACOLTA} 28

29 SQL-OLAP: aggregabilità delle misure Come visualizzazione particolare si può aggiungere un * (oppure riportarli con il segno -, così non devo convertirlo) SELECT FACOLTA,MATR, VOTO=SUM(VOTO_SUM)/SUM(VOTO_COUNT), NUM_ESAMI = CASE WHEN GROUPING(FACOLTA) = 1 THEN CAST(SUM(NUM_ESAMI) AS CHAR(5)) + '*' ELSE CAST(SUM(NUM_ESAMI) AS CHAR(5)) END FROM FACT_TABLE GROUP BY FACOLTA,MATR WITH CUBE per non visualizzare la misura basta riportare THEN ' ' {FACOLTA,MATR} {FACOLTA} {MATR} {} 29

30 SQL-OLAP:esempio Schema di Fatto Operazione REGIONE CITTA BANCA condivisione su CITTA STATO CLIENTE OPERAZIONE NUMEROTOTALE (C) IMPORTOMEDIO (AVG) DATA MESE TIPO ANNO Eventi primari Pattern {}, {TIPO}, {BANCA} 30

31 SQL-OLAP:esempio Progetto logico: SnowFlake schema Si suppone IMPORTOMEDIO calcolata come IMPORTOTOTALE/NUMEROTOTALE FACT_TABLE(CLIENTE:dtCLIENTE,BANCA:dtBANCA,DATA:dtDATA,TIPO,!!NUMEROTOTALE,IMPORTOTOTALE)!!! dtdata(data,mese:dtmese)!!dtmese(mese,anno)!! dtcliente(cliente,citta:dtcitta)!! dtbanca(banca,citta:dtcitta)!! dtcitta(citta,regione:dtregione)!!dtregione(regione,stato)!! 31

32 SQL-OLAP:esempio Per realizzare con una singola query i pattern {}. {TIPO} e {BANCA}, si considera il GROUP BY WITH CUBE rispetto all unione di tutti gli attributi richiesti (ovvero TIPO e BANCA) e poi si selezionano i singoli pattern richiesti tramite HAVING, in cui si scrivono in OR le espressioni dei singoli pattern richiesti SELECT TIPO,BANCA, SUM(IMPORTOTOTALE)/SUM(NUMEROTOTALE) AS IMPORTOMEDIO, SUM(NUMEROTOTALE) AS NUMEROTOTALE FROM FACT_TABLE GROUP BY TIPO,BANCA WITH CUBE HAVING (GROUPING(TIPO)=0 AND GROUPING(BANCA)=1 ) or (GROUPING(TIPO)=1 AND GROUPING(BANCA)=0 ) or (GROUPING(TIPO)=1 AND GROUPING(BANCA)=1 ) Si può semplificare: HAVING NOT (GROUPING(TIPO)=0 AND GROUPING(BANCA)=0 ) 32

33 SQL-OLAP:esempio {CLIENTE_CITTA,BANCA_CITTA}, per la misura IMPORTOMEDIO SELECT C.CITTA AS CLIENTE_CITTA, B.CITTA AS BANCA_CITTA, SUM(IMPORTOTOTALE)/SUM(NUMEROTOTALE) AS IMPORTOMEDIO FROM FACT_TABLE F JOIN dtcliente C JOIN dtbanca B GROUP BY C.CITTA, B.CITTA WITH CUBE Pattern {CLIENTE_CITTA,BANCA_CITTA} limitato ai casi di convergenza su CITTA. Si può aggiungere la condizione nell HAVING GROUP BY C.CITTA, B.CITTA WITH CUBE HAVING C.CITTA = B.CITTA oppure: SELECT CITTA AS CLIENTE_CITTA, CITTA AS BANCA_CITTA, SUM(IMPORTOTOTALE)/SUM(NUMEROTOTALE) AS IMPORTOMEDIO FROM FACT_TABLE F JOIN dtcliente GROUP BY CITTA WITH CUBE 33

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

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

SQL/OLAP. Estensioni OLAP in SQL

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

Dettagli

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

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

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

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 2013/2014 Prof. Domenico Beneventano Estensioni del linguaggio SQL per interrogazioni OLAP Outline! Esempio introduttivo e motivazioni! Introduzione al modello

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

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

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

Operatori aggregati. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni con raggruppamento

Operatori aggregati. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni con raggruppamento Operatori aggregati In algebra relazionale le espressioni vengono valutate sulle singole tuple in successione. Talvolta però possono essere necessarie informazioni derivabili dall esame di tutte le tuple

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

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

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

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

Data warehouse: analisi dei dati

Data warehouse: analisi dei dati atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of atabase and

Dettagli

Data warehouse Analisi dei dati

Data warehouse Analisi dei dati atabase and ata Mining Group of atabase and ata Mining Group of atabase and ata Mining Group of B MG ata warehouse: analisi dei dati atabase and data mining group, M B G ata warehouse Analisi dei dati

Dettagli

Misure. Definizione delle misure

Misure. Definizione delle misure 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,

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

Interrogazioni complesse. SQL avanzato 1

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

Dettagli

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

<Nome Tabella>.<attributo>

<Nome Tabella>.<attributo> Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto

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

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

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

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

Queries su più tabelle

Queries su più tabelle Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,

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

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

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

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

Tipi di sottoquery SQL

Tipi di sottoquery SQL Tipi di sottoquery SQL È possibile specificare subquery in numerose posizioni: Con le parole chiave IN e NOT IN. Con operatori di confronto. Con le parole chiave ANY, SOME e ALL. Con le parole chiave EXISTS

Dettagli

Sistemi Informativi Avanzati

Sistemi Informativi Avanzati Anno Accademico 2012/2013 Sistemi Informativi Avanzati Corso di Laurea Magistrale in Ingegneria Gestionale Domenico Beneventano Andrea Scavolini Introduzione 1 Obiettivi Il corso si propone di fornire

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

Structured Query Language

Structured Query Language IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un

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

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

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

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto SQL Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Select La forma di select cui siamo arrivati

Dettagli

IPOTESI con riferimento al testo proposto come simulazione in preparazione all Esame di Stato 2015

IPOTESI con riferimento al testo proposto come simulazione in preparazione all Esame di Stato 2015 IPOTESI con riferimento al testo proposto come simulazione in preparazione all Esame di Stato 2015 Possono essere prodotte forme (invendute) non acquistate da un cliente per giorni di chiusura del caseificio,

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

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato Settore Traccia 1 Traccia 200 Settore non polarizzato '! " # $ % & ( ) * + + ' ' ' !"#"$%, & &'(("% '&)'' ''"* - -. / / / 0/!- "-, (0 #- / / / 0/ --- + 1 ' # $ + 2 13 ,, - 4 '. & 56 2 '/!!! "7&% 8, 9 /'"'0'1'&'

Dettagli

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL Manuale Comandi SQL Sito per esercitarsi (on line)... 1 SQL... 1 Convenzioni e simboli usati... 2 Query Language... 2 Comando Select... 2 Order By:... 3 Sintassi generale:... 3 Ordinamanto su PIU campi...

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Trovare nome, cognome e matricola degli studenti che non hanno fatto esami select Matricola,Nome,Cognome from studenti where matricola all (select studente group by studente)

Dettagli

E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione.

E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione. Ordinamento E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione. order by AttrdiOrdinamento [asc desc] {, AttrdiOrdinamento

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

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

4.SQL QUERY. Fare una query significa fare delle ricerche sul nostro database.

4.SQL QUERY. Fare una query significa fare delle ricerche sul nostro database. 4.SQL QUERY >definizione A cura di: Celora Luca Fare una query significa fare delle ricerche sul nostro database. >strumenti da usare SELECT //sceglie le colonne da visualizzare FROM //indica da quali

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

Business Intelligence

Business Intelligence Business Intelligence Esercitazione di Laboratorio N. 1 L esercitazione ha come obiettivo l interrogazione di una base di dati relazionale mediante query SQL su un DBMS Oracle XE. Schema logico della basi

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

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 46 Sommario 1 Join di Tabelle Join Naturale Theta Join Join Esterno 2 3 Funzioni d aggregazione La Clausola GROUP BY La Clausola HAVING

Dettagli

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione

Dettagli

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione

Dettagli

VISTE. 19/11/2015 Concetti Avanzati - SQL 71

VISTE. 19/11/2015 Concetti Avanzati - SQL 71 VISTE 19/11/2015 Concetti Avanzati - SQL 71 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni dei dati contenuti nelle tabelle fisiche

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

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

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

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

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

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

Lezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna Pag.1

Lezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna  Pag.1 Lezione 7 SQL (II) Pag.1 Ancora sugli operatori di confronto tra insiemi Abbiamo già visto IN, EXISTS e UNIQUE. Possiamo anche usare NOT IN, NOT EXISTS e NOT UNIQUE Disponibili anche: op ANY, op ALL Trovare

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

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

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Raggruppamento. Raggruppamento INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : SQL (4) GROUPING Atzeni, cap. 4.3.4 DBMS: SQL (4) GROUPING 26 nov 2010 Dia 2 Gli operatori

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

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

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

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

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

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

Alessandra Raffaetà. Esercizio: Cinema

Alessandra Raffaetà. Esercizio: Cinema Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema

Dettagli

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema

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

SQL terza 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 2010/11

SQL terza 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 2010/11 SQL terza 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 2010/11 Operatori aggregati Costituiscono una estensione delle normali interrogazioni SQL (non hanno corrispondenza in

Dettagli

MODULO 2. Query normali e parametriche Query di:

MODULO 2. Query normali e parametriche Query di: MODULO 2 TITOLO DBMS e SQL In questo Modulo si affronta lo studio dei DBMS Access e MySQL. In particolare per Access, si descrive come progettare, impostare e modificare gli strumenti di lavoro (tabelle,

Dettagli

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

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno 2.3b: SQL (2) Interrogazioni semplici INFORMATICA GENERALE Prof. Alberto Postiglione Scienze

Dettagli

Laboratorio di. Docenti: Alberto Belussi e Carlo Combi

Laboratorio di. Docenti: Alberto Belussi e Carlo Combi Laboratorio di Basi di dati/basi i di dati per Bioinformatica Docenti: Alberto Belussi e Carlo Combi Lezione 3 Interrogazioni i SQL Le interrogazioni i i SQL hanno la seguente struttura: SELECT

Dettagli

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Luca Martini Università di Pisa 16 aprile 2010 Riepilogo sugli operatori aggregati Sintassi SELECT A t t r i b u t o 1, MAX( A t t r i b u t o 2 ),... FROM Tabella1, Tabella2,...

Dettagli

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati Microsoft Access Programma applicativo del pacchetto Microsoft Office per la gestione delle basi di dati. Microsoft Access 2 Creazione base di dati Apertura di una base dati Una nuova base dati si crea

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

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione BASE DI DAI Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione Informatica Umanistica Università di Pisa Esercizio: Agenzia immobiliare Si considerino

Dettagli

Informatica Grafica. Basi di dati parte 2

Informatica Grafica. Basi di dati parte 2 Informatica Grafica Corso di Laurea in Ingegneria Edile Architettura Basi di dati parte 2 Michele Lombardi su materiale originario di Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica

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

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi Corso di Basi di Dati 10. Esercitazioni in SQL: Complementi A.A. 2016 2017 Funzioni condizionali Vediamo qualche altro comando utile di SQL. Il comando coalesce ammette come argomento una sequenza di espressioni

Dettagli

Interrogazioni complesse. SQL avanzato 1

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

Dettagli

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

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno : SQL (3) Tabelle multiple, variabili, operatori di aggregazione QUERIES SU PIU TABELLE Queries su più tabelle 17 mar 010 Dia 3 17 mar 010 Dia 4 Per formulare un interrogazione su più tabelle, la clausola

Dettagli

Progettazione di Sistemi Informatici

Progettazione di Sistemi Informatici Progettazione di Sistemi Informatici Raggruppamenti Domenico Diacono Corso ADM Gennaio 2008 A che punto siamo Finora abbiamo estratto dal DB informazioni relative a singole ennuple, eventualmente ottenute

Dettagli

LE RELAZIONI IN SQL. SELECT ordini.id_ordine, clienti.cognome, clienti.nome, ordini.articolo, ordini.quantità

LE RELAZIONI IN SQL. SELECT ordini.id_ordine, clienti.cognome, clienti.nome, ordini.articolo, ordini.quantità LE RELAZIONI IN SQL INNER JOIN La inner join si effettua andando a cercare righe corrispondenti nelle due tabelle, basandosi sul valore di determinate colonne. In Access è il caso del campo di tipo Ricerca

Dettagli

SQL /10/2016 Basi di dati - SQL 1

SQL /10/2016 Basi di dati - SQL 1 SQL 24-27/10/2016 Basi di dati - SQL 1 Esercitazioni pratiche Per SQL è possibile (e fondamentale) svolgere esercitazioni pratiche Verranno anche richieste copme condizione per svolgere le prove parziali

Dettagli

Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive

Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive Note introduttive Il metodo di lavoro proposto ripercorre il ciclo di vita di un sistema informativo automatizzato attraverso l analisi, il progetto, la realizzazione e il testing. Il sistema informativo

Dettagli

Esercitazione 3 SQL 2

Esercitazione 3 SQL 2 Esercitazione 3 SQL 2 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E3-1 Schema della base di dati Persone (Nome, Sesso, Anno, Città) Discendenza (Genitore, Figlio) Stato (Città, Inizio, Fine, Stato)

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

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML

Dettagli