Estensioni del linguaggio SQL per interrogazioni OLAP

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Estensioni del linguaggio SQL per interrogazioni OLAP"

Transcript

1 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 multidimensionale! Pattern di aggregazione! Reticolo di roll-up! Realizzazione dei pattern nei DBMS relazionali: l operatore Data Cube! Estensioni dell SQL con operatori OLAP! Implementazione degli operatori OLAP in SQL SERVER 2

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

3 Esempio: Analisi dei dati - aggregazione! Il report si può ottenere con i vari strumenti OLAP (cubo multidimensionale, tabelle pivot, SQL-OLAP!)! SQL-OLAP estende l operatore di raggruppamento GROUP BY consentendo di ottenere più raggruppamenti (più pattern) in un unica query SQL DB OPERAZIONALE SQL-OLAP 5 Il modello multidimensionale! È il fondamento per la rappresentazione e l interrogazione dei dati nei data warehouse.! I fatti di interesse sono rappresentati in cubi in cui: ogni cella contiene misure numeriche che quantificano il fatto da diversi punti di vista; ogni asse rappresenta una dimensione di interesse per l analisi; ogni dimensione può essere la radice di una gerarchia di attributi usati per aggregare i dati memorizzati nel cubo. dimensione Tipo Categoria Prodotto gerarchia Mese VENDITA Data Quantità Negozio Città Regione misura 6

4 Gerarchie! Una gerarchia corrisponde ad associazioni uno-a-molti! Un associazione uno-a-molti corrisponde ad una Dipendenza Funzionale # prodotto! tipo tipo! categoria prodotto tipo categoria! prodotto (1,1) (0,n) tipo (1,1) (0,n) Brillo Sbianco detersivo Lucido Manipulite Scent sapone Latte Fresco Slurp Latte UHT Slurp latticino Yogurt Slurp Bevimi bibita Colissima pulizia casa alimentari tutti i prodotti categoria negozio città regione! DiTutto2 Nonsolopappa DiTutto DiTutto3 Bologna Milano Como Emilia Romagna Lombardia tutti i negozi 7 Dimensioni, Attributi Dimensionali e Gerarchie! Fatto (F): VENDITA:! Dimensioni : D = {Data, Negozio, Prodotto}! Attributi Dimensionali: AD = {Data, Mese, Negozio, Città, Regione, Prodotto, Tipo, Categoria} Prodotto VENDITA Quantità Mese Data Negozio Città Regione! Dimensioni degeneri: non hanno una gerarchia Categoria! Gerarchie semplici : ogni elemento (detto anche livello) ha massimo un figlio e massimo un padre! Relazione di Dipendenza Funzionale A # B tra i livelli della gerarchia Tipo Dimensione Negozio livelli 8

5 Pattern di aggregazione! In modo informale, un pattern di aggregazione è un insieme di attributi dimensionali Pattern secondario {mese, tipo_prodotto,citta_negozio} città! negozio! tipo! prodotto! mese! tipo! prodotto! mese! Pattern secondario {mese, tipo_prodotto} negozio! Pattern primario {data,negozio,prodotto} data! prodotto! 9 Reticolo di roll-up! Un raggruppamento viene specificato tramite un sottoinsieme S degli attributi dimensionali AD! Un sottoinsieme S di AD con due attributi A e B tali che A! B specifica un raggruppamento ridondante in quanto il raggruppamento su A,B equivale al raggruppamento su A! Un sottoinsieme S di AD tale che non esistano due attributi A e B con A! B è detto pattern (o cuboide)! In uno schema di fatto, l insieme dei pattern ordinato sulla base della relazione! di Dipendenza Funzionale è detto reticolo (o lattice) di roll-up 10

6 Reticolo di roll-up : esempio CITTA NEGOZIO VENDITA PRODOTTO Pattern: 1. {NEGOZIO,PRODOTTO} 2. {CITTA,PRODOTTO} 3. {NEGOZIO} 4. {PRODOTTO} 5. {CITTA} 6. {} Pattern primario = {NEGOZIO, PRODOTTO} Pattern vuoto = { } Reticolo di roll-up {NEGOZIO,PRODOTTO} {NEGOZIO} {CITTA,PRODOTTO} { CITTA } {PRODOTTO} {}! Nella rappresentazione grafica del reticolo di roll-up non vengono riportate le FD ottenibili tramite proprietà transitiva, quale ad esempio {NEGOZIO, PRODOTTO} # {CITTA} 11 Reticolo di roll-up : esempi! Con n dimensioni degeneri D1, D2,!, Dn, i pattern sono 2 n (elementi dell insieme potenza di {D1, D2,!, Dn}) Esempio: n=3! In presenza di n gerarchie semplici, i pattern sono dove Li è il numero di livelli della dimensione Di Esempio: n=2 e L1=L2=2 12

7 Proprietà del Reticolo! L insieme dei pattern ordinato in base alla relazione! è un reticolo in quanto soddisfa le seguenti proprietà; 1. Parziale tra P1 = {b,c} e P2 = {a,d} non c è relazione 2. Ha un elemento massimo (che determina tutti gli altri) è il pattern primario P0 3. Ha un elemento minimo (determinato da tutti gli altri) il pattern vuoto Pn = {} è il pattern vuoto Pn = {} 4. Inoltre ogni coppia di pattern ha un estremo superiore ed un estremo inferiore La coppia di pattern P1 e P2 ha come estremo superiore Psup = {a,c} : infatti Psup! P1 e Psup! P2 e come estremo inferiore Pinf = {b,d} : infatti P1! Pinf e P2! Pinf 13 L operatore Data Cube! Nei sistemi DW la computazione efficiente dei pattern di aggregazione gioca un ruolo fondamentale!! Normalmente un DW è implementato su un DBMS relazionale ed è organizzato secondo lo star schema: un singolo pattern di aggregazione corrisponde quindi ad una interrogazione di GROUP BY sullo star schema.! L operatore Data Cube è una generalizzazione dell operatore GROUP BY che calcola ogni possibile combinazione di attributi [Jim Gray et al. 1997, Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals paul.rutgers.edu/~aminabdu/cs541/cube_op.pdf] 14

8 Estensioni OLAP in SQL! SQL99 è stato il primo standard SQL ad offrire soluzioni per l analisi dei dati basate sull operatore Data Cube: tale parte dello standard viene normalmente detta SQL-OLAP (BNF SQL99: SQL-OLAP è disponibile nei principali DMBS (ORACLE, SQL SERVER, POSTGRES);! Nel seguito faremo riferimento a SQL SERVER 2008 R2, mettendo in evidenza le limitazioni presenti in SQL SERVER 2008 Express Edition (che in linea di massima sono le stesse limitazioni presenti in altri DBMS, quale ad esempio MySQL) 15 Esempio! Schema di Fatto RAPPRESENTANTE MESE FORNITORE SETTIMANA CITTA CATEGORIA NEGOZIO VENDITA QUANTITA GUADAGNO PRODOTTO! Star Schema Fact Table Dimension Table 16

9 Calcolo delle misure! Misura QUANTITA additiva (si aggrega tramite SUM): Per eseguire : select P, SUM(QUANTITA) from VENDITA group by P!! dove P è un generico pattern si usa per semplicità la vista VENDITA ottenuta come join della Fact Table e delle Dimension Table (relazione universale) 17 Interrogazioni semplici: un solo pattern! Schema di Fatto: Specifica concettuale dell interrogazione 1. Pattern di aggregazione Per ogni CITTA e SETTIMANA! 2. Misure! il totale della QUANTITA! 3. Condizione! solo per i prodotti alimentari!! Star Schema : implementazione dell interrogazione in SQL SELECT CITTA,SETTIMANA, QUANTITA=SUM(QUANTITA) WHERE CATEGORIA = 'ALIM' GROUP BY CITTA, SETTIMANA! La specifica della condizione è banale e verrà trascurata! Si considerano per ora solo misure additive (operatore SUM) 18

10 Per ottenere più pattern : UNION! Una query di GROUP BY realizza un singolo pattern : per ottenere in una singola query più pattern (cioè per ottenere nella stessa query anche i valori aggregati dei risultati ) si deve usare UNION { CITTA, SETTIMANA } { CITTA} {} SELECT CITTA,SETTIMANA, QUANTITA=SUM(QUANTITA) GROUP BY CITTA, SETTIMANA UNION SELECT CITTA, NULL AS SETTIMANA, QUANTITA=SUM(QUANTITA) GROUP BY CITTA UNION SELECT NULL AS CITTA, NULL AS SETTIMANA, QUANTITA=SUM(QUANTITA) 19 Estensioni OLAP : più pattern! Le estensioni OLAP forniscono operatori che consentono di realizzare più pattern in una singola query di GROUP BY { CITTA, SETTIMANA } { CITTA} SELECT CITTA,SETTIMANA, QUANTITA=SUM(QUANTITA) GROUP BY GROUPING SETS ( {CITTA, SETTIMANA}, {CITTA}, {} ) {} Questo è il risultato della query a meno dell ordinamento. Per ottenere l ordine visualizzato: ORDER BY GROUPING(CITTA) ASC, GROUPING(SETTIMANA)ASC, CITTA ASC 20

11 L operatore GROUPING SETS! Fatto con attributi dimensionali D = {A1, A2,!, An} $ insieme S = {A1, A2,!, Ak}! Raggruppamento semplice in SQL : GROUP BY A1, A2,!, Ak $ Realizzazione di S: visualizzazione dell aggregazione rispetto a S! L operatore GROUPING SETS consente di realizzare più insiemi Si in un unica query di raggruppamento GROUP BY GROUPING SETS ( S1, S2,!, Sp) $ Realizzazione degli insiemi Si: equivale alla union di GROUP BY Si $ L ordine degli insiemi S1, S2,!, Sp è irrilevante. $ Gli insiemi S1, S2,!, Sp possono essere uguali e/o sovrapposti $ In uscita dalla query si possono riportare gli attributi di S1 # S2 #! # Sp $ In SQL un insieme S è specificato con S = (A1, A2,!, Ak) 21 Gli operatori CUBE e ROLLUP! GROUP BY CUBE (A1, A2,!, Ak) % Operatore Data Cube $ Realizzazione dell insieme {A1, A2,!, Ak} e di tutti i suoi sottoinsiemi (2 n elementi dell insieme potenza di {A1, A2,!, Ak}). $ L ordine degli attributi nella GROUP BY è irrilevante. $ Sintassi alternativa: GROUP BY A1, A2,!, Ak WITH CUBE! GROUP BY ROLLUP (A1, A2,!, Ak) $ Realizzazione dell insieme {A1, A2,!, Ak} e dei seguenti k sottoinsiemi {A1, A2,!, Ak-1 }, {A1, A2,!, Ak-2 }! {A1} {} $ L ordine degli attributi nella GROUP BY è rilevante. $ Sintassi alternativa: GROUP BY A1, A2,!, Ak WITH ROLLUP! Nel citato articolo di Jim Gray viene proposta un algebra di questi operatori (alcuni esempi sono anche nei manuali dei DBMS, come nel caso di SQL SERVER: msdn.microsoft.com/it-it/library/bb510427)! In queste slide : casi significativi tramite esempi

12 Il valore ALL (All Values )! Per visualizzare nella stessa query più livelli di aggregazione si usa un valore polimorfo ALL : 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 SELECT CITTA,SETTIMANA, QUANTITA=SUM(QUANTITA) GROUP BY CUBE (CITTA, SETTIMANA) {CITTA,SETTIMANA} {CITTA} {SETTIMANA} {} 23 Il valore ALL in SQL-SERVER! In SQL-SERVER il valore ALL è visualizzato come NULL e c è una funzione booleana GROUPING in grado di individuarlo (e quindi distinguerlo dal normale valore NULL dei DBMS relazionali) Per una tupla t nel risulato della query GROUPING(Ai) = 1 se t[ai] = ALL, 0 altrimenti! Esempio: GROUPING(CITTA)=1 nei pattern che non contengono CITTA - cioè nei pattern che raggruppano su CITTA SELECT CITTA,SETTIMANA, QUANTITA=SUM(QUANTITA), GROUPING(CITTA) GROUP BY CUBE (CITTA, SETTIMANA) {CITTA, SETTIMANA} {CITTA} $ La funzione GROUPING si può usare solo con GROUPING SETS, CUBE e ROLLUP {SETTIMANA} {} 24

13 Il valore ALL in SQL-SERVER! Con GROUPING si può visualizzare ALL, oppure differenziare con un valore specifico: 'TutteLeCitta', 'TutteLeSettimane' SELECT CITTA=CASE WHEN GROUPING(CITTA)=1 THEN 'TutteLeCitta' ELSE CITTA END, SETTIMANA=CASE WHEN GROUPING(SETTIMANA)=1 THEN 'TutteLeSet ' ELSE SETTIMANA END, QUANTITA=SUM(QUANTITA), GROUP BY CUBE (CITTA, SETTIMANA) $ La logica della query non cambia: nel seguito si visualizzerà NULL! 25 GROUPING SETS: esempi più complessi!! Per realizzare solo alcuni pattern, ad esempio solo {CITTA,SETTIMANA} e {} GROUP BY GROUPING SETS ((CITTA,SETTIMANA), ())! Attenzione: senza le () esterne (CITTA,SETTIMANA), () viene interpretato come (CITTA,SETTIMANA) che equivale a ((CITTA),(SETTIMANA))! Gli insiemi del GROUPING SETS si possono ottenere con altri operatori GROUP BY GROUPING SETS (CUBE(CITTA),CUBE(SETTIMANA),()) E un multiset: si ottiene in uscita tre volte il pattern vuoto! 26

14 Operatore ROLLUP! roll-up lungo la dimensione NEGOZIO: Negozio Città Rappresentante SELECT CITTA, NEGOZIO, QUANTITA=SUM(QUANTITA) GROUP BY ROLLUP(CITTA, NEGOZIO) SELECT RAPPRESENTANTE,CITTA, NEGOZIO, QUANTITA=SUM(QUANTITA) GROUP BY ROLLUP(RAPPRESENTANTE,CITTA,NEGOZIO) SELECT RAPPRESENTANTE, NEGOZIO, QUANTITA=SUM(QUANTITA) GROUP BY ROLLUP(RAPPRESENTANTE, NEGOZIO) 27 ROLLUP vs RETICOLO di ROLLUP! Il reticolo di rollup della dimensione NEGOZIO è costituito dai seguenti 4 pattern: {RAPPR}, {CITTA},{NEGOZIO},{} Negozio Città Rappresentante! Tali pattern possono essere ottenuti con un GROUPING SETS GROUPING SETS ((RAPPR),(CITTA), (NEGOZIO),()) ROLLUP(RAPPR,CITTA,NEGOZIO) $ Il risultato è lo stesso (a parte l ordinamento) ma tramite l operatore di ROLLUP si ottiene una migliore visualizzazione 28

15 WHERE + GROUP BY: Opzione ALL! L opzione ALL (non applicabile in presenza di operatori OLAP ma solo nel caso di GROUP BY semplice): in presenza della condizione WHERE, il GROUP BY riporta solo le combinazioni presenti. Esempio: SELECT CITTA,MESE, QUANTITA=SUM(QUANTITA) WHERE PRODOTTO = P1 GROUP BY CITTA, MESE! L opzione ALL nel GROUP BY riporta tutte le possibili combinazioni SELECT CITTA,MESE, QUANTITA=SUM(QUANTITA) WHERE PRODOTTO = P1 GROUP BY ALL CITTA, MESE! Una funzione aggregata applicata ad un insieme vuoto restituisce NULL. Per avere 0 invece di NULL: QUANTITA=ISNULL(SUM(QUANTITA),0) 29 SQL SERVER 2008 Express Edition! Nella Express Edition (come in MySql e SQL SERVER 2000)l operatore GROUPING SETS non è supportato, mentre gli operatori CUBE e ROLLUP sono supportati solo con la sintassi alternativa WITH CUBE e WITH ROLLUP GROUP BY CUBE(CITTA,SETTIMANA) GROUP BY ROLLUP(CITTA,NEGOZIO) GROUP BY CITTA,SETTIMANA WITH CUBE GROUP BY CITTA,NEGOZIO WITH ROLLUP! Il GROUPING SETS può essere ottenuto come segue 1. Con WITH CUBE si ottengono tutte le possibili combinazioni 2. Quindi con HAVING si selezionano solo quelle richieste: la condizione di selezione usa la funzione GROUPING! Calcolarli tutti per poi escludere e (molto) più inefficiente!

16 GROUPING SETS tramite WITH CUBE GROUP BY GROUPING SETS ((CITTA,MESE), ()) GROUP BY CITTA,MESE WITH CUBE HAVING (GROUPING(CITTA)=0 AND GROUPING(MESE)=0 OR GROUPING(CITTA)=1 AND GROUPING(MESE)=1 ) (CITTA,MESE) () ROLLUP(CITTA,NEGOZIO) GROUP BY CITTA,MESE WITH CUBE HAVING (GROUPING(CITTA)=0 AND GROUPING(NEGOZIO)=0 OR GROUPING(CITTA)=0 AND GROUPING(NEGOZIO)=1 OR GROUPING(CITTA)=1 AND GROUPING(NEGOZIO)=1 ) (CITTA,NEGOZIO) (CITTA) () GROUP BY CITTA,MESE WITH CUBE HAVING NOT ((GROUPING(CITTA)=1 AND GROUPING(NEGOZIO)=0) 31 SQL-OLAP vs Strumenti OLAP! Gli operatori OLAP sono disponibili negli applicativi OLAP semplicità ed efficacia (strumenti grafici ed interattivi) efficienza (ottimizzazione basata sul pre-calcolo dei pattern) SQL SERVER ANALYSIS SERVICES 2000! Dove e quando usare SQL-OLAP? per report al volo, senza costruirsi il cubo multidimensionale per verificare i risultati del cubo dimensionale 32

17 Approfondimento! Caso generale di più dimensioni con gerarchie multiple complesse:! Per una computazione efficiente dei pattern di aggregazione si può ridurre notevolmente lo spazio delle soluzioni del problema considerando la semantica delle gerarchie: semantic query optimization 33 Dimensioni con Gerarchie Multiple! In una Gerarchia Multipla ogni livello può avere più di un figlio e più di un padre (per chiarezza, si usano archi orientati per esplicitare il verso delle dipendenze funzionali, cioè della relazione padre-figlio) B! Il reticolo di roll-up dipende (anche) dalla semantica della gerarchia A C D! Gerarchie Alternative/Parallele! La Gerarchia di DATE è Alternativa in quanto non è significativo il raggruppamento {WEEK,MONTH} DATE WEEK MONTH YEAR! La Gerarchia di PROFESSOR è Parallela in quanto è significativo il raggruppamento {DEPARTMENT,FACULTY} PROFESSOR DEPARTMENT CITY FACULTY 34

18 Dimensioni con Convergenza/Condivisione! La Gerarchia di DATE ha una Convergenza su YEAR in quanto, per una certa data, l anno del mese coincide con l anno della settimana DATE WEEK MONTH YEAR! La Gerarchia di PROFESSOR ha una Condivisione su CITY, in quanto, per un certo professore; la città del dipartimento non coincide necessariamente con quella del dipartimento PROFESSOR DEPARTMENT FACULTY CITY $ Anche se le due gerarchie hanno la stessa struttura si può verificare che nel caso della gerarchia di PROFESSOR (Parallela con Condivisione) sono 10 i pattern da considerare, mentre nel caso della gerarchia di DATE (Alternativa con Convergenza) sono solo 5 i pattern da considerare. 35

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

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

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

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

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

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

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

Data Warehousing (DW)

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

Dettagli

Data warehousing con SQL Server

Data warehousing con SQL Server Data warehousing con SQL Server! SQL Server è un RDBMS (Relational DataBase Management System)! Analysis Services è un componente di SQL Server che offre un insieme di funzionalità di supporto al data

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

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

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

Dettagli

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

Rassegna sui principi e sui sistemi di Data Warehousing

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

Dettagli

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

CONCETTO DI ANNIDAMENTO

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

Dettagli

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 - Funzioni di gruppo

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

Dettagli

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

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

Dettagli

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

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

Dettagli

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

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

Dettagli

Progettazione di Basi di Dati

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

Dettagli

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

Analisi dei Dati. Lezione 10 Introduzione al Datwarehouse

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

Dettagli

Dispensa di database Access

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

Dettagli

Volumi di riferimento

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

Dettagli

Sistemi per la gestione di database: MySQL ( )

Sistemi per la gestione di database: MySQL ( ) Sistemi per la gestione di database: MySQL ( ) Relational Database e Relational Database Management System Un database è una raccolta di dati organizzata in modo da consentire l accesso, il reperimento

Dettagli

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

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

Dettagli

MODELLO RELAZIONALE. Introduzione

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

Dettagli

Dati relazionali e XML

Dati relazionali e XML Dati relazionali e Introduzione (1) Memorizzazione dei dati Utilizzo dei dati Applicazione DBMS relazionale Applicazione Applicazione 2 Introduzione (2) Memorizzazione dei dati Utilizzo dei dati Applicazione

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale 1 Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981 Si basa sul concetto matematico di relazione,

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

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

Dettagli

Capitolo 13. Interrogare una base di dati

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

Dettagli

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26 Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione

Dettagli

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

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

Dettagli

SQL Server. Applicazioni principali

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

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

I database relazionali (Access)

I database relazionali (Access) I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale

Dettagli

Operazioni sui database

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

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

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

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

Dettagli

Il linguaggio SQL: viste e tabelle derivate

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

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Basi di dati. Le funzionalità del sistema non vanno però ignorate

Basi di dati. Le funzionalità del sistema non vanno però ignorate Basi di dati La progettazione di una base di dati richiede di focalizzare lo sforzo su analisi, progettazione e implementazione della struttura con cui sono organizzati i dati (modelli di dati) Le funzionalità

Dettagli

Il linguaggio SQL: query innestate

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

Dettagli

Ricorsione in SQL-99. Introduzione. Idea di base

Ricorsione in SQL-99. Introduzione. Idea di base 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

4 SQL : Interrogazioni nidificate

4 SQL : Interrogazioni nidificate Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2010/2011 Andrea Marrella Ultimo aggiornamento

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

Dettagli

DATABASE. www.andreavai.it

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

Dettagli

Istruzioni DML di SQL

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

Dettagli

GERARCHIE RICORSIVE - SQL SERVER 2008

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

Dettagli

Definizione di domini

Definizione di domini Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain

Dettagli

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

Dettagli

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

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

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

Basi Di Dati, 09/12/2003

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

Dettagli

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

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

Dettagli

Le Basi di Dati. Le Basi di Dati

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

Dettagli

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

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

Dettagli

Il Modello Relazionale

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

Dettagli

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base di dati di una facoltà e si definisca

Dettagli

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007 Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE

Dettagli

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

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

Dettagli

Organizzazione degli archivi

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

Dettagli

Interrogazioni nidificate, commenti

Interrogazioni nidificate, commenti Interrogazioni nidificate, commenti La forma nidificata è meno dichiarativa, ma talvolta più leggibile (richiede meno variabili) La forma piana e quella nidificata possono essere combinate Le sottointerrogazioni

Dettagli

Archivi e Basi di Dati

Archivi e Basi di Dati Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati

Dettagli

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

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

Dettagli

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

Corso di Laboratorio di Basi di Dati

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

Dettagli

(anno accademico 2008-09)

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

Dettagli

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi Query (Interrogazioni) Ultima modifica: 5/4/2012 SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il Turismo classe L-15! È necessario un modo per interrogare le basi di dati, cioè

Dettagli

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

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

Dettagli

Data warehouse in Oracle

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

Dettagli

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

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

Dettagli

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

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

Dettagli

Organizzazione delle informazioni: Database

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

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

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

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio

Dettagli

Progettazione Logica. Sviluppo di un Database/DataWarehouse

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

Dettagli

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

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

Dettagli

TEORIA sulle BASI DI DATI

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

Dettagli

Basi di Dati. Esercitazione SQL. Ing. Paolo Cappellari

Basi di Dati. Esercitazione SQL. Ing. Paolo Cappellari Basi di Dati Esercitazione SQL Ing. Paolo Cappellari Esercitazione Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello)

Dettagli

Il database management system Access

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

Dettagli

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

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

Dettagli

Una metodologia di progettazione di applicazioni web centrate sui dati

Una metodologia di progettazione di applicazioni web centrate sui dati Una metodologia di progettazione di applicazioni web centrate sui dati A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 1 / 2 0 1 2 Progettazione logica di un sito web centrato sui dati Si

Dettagli

SQL Server BI Development Studio

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

Dettagli

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

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

Dettagli

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Dettagli

Prova scritta del corso di Basi di dati attive 17 Dicembre 1999. Agenzia

Prova scritta del corso di Basi di dati attive 17 Dicembre 1999. Agenzia Prova scritta del corso di Basi di dati attive 17 Dicembre 1999 Si desidera automatizzare la gestione dei banchetti organizzati da un agenzia di pubbliche relazioni. Le specifiche del sistema informativo,

Dettagli

Prova scritta. Mercoledì 23 Luglio 2008. Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

Prova scritta. Mercoledì 23 Luglio 2008. Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008 Mercoledì 23 Luglio 2008 Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008 Prova scritta Esercizio 1 (8 punti). Si vuole progettare una base di dati per una catena di ristoranti

Dettagli

Secondo Compitino di Basi di Dati

Secondo Compitino di Basi di Dati Secondo Compitino di Basi di Dati 10 Giugno 2004 NOME: COGNOME: MATRICOLA: Esercizio Punti previsti 1 18 2 12 3 3 Totale 33 Punti assegnati Esercizio 1 (Punti 18) Si vuole realizzare un applicazione per

Dettagli

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

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

Dettagli

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari: SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition

Dettagli

SQL seconda 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 2012/13

SQL seconda 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 2012/13 SQL seconda 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 2012/13 Interrogazioni nidificate Interrogazioni nidificate 2 Si ottiene una interrogazione nidificata quando un interrogazione

Dettagli

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende. Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli