cliente... nuovo cliente trasloco



Documenti analoghi
anno conferenza Voto articolo argomento ambito di ricerca Modalità di pagamento Quota d iscrizione Sconto mese

Misure (parte II) Gerarchie Incomplete

Data warehouse in Oracle

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m

SQL: definizione schema

Basi di dati II prova intermedia 16 Marzo 2006 Compito 1

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

Prova Scritta di Basi di Dati

Basi di Dati Corso di Laura in Informatica Umanistica

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

Basi Di Dati, 09/12/2003

Dispensa di database Access

ESAME di INFORMATICA e ARCHIVIAZIONE

anno quadrimestre trimestre mese data N affittate N sfitte Incasso tipo barca

Data Warehousing (DW)

Data management a.a Il linguaggio SQL

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

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)

Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Esame di Sistemi Informativi e Basi di Dati 6 crediti Aprile 2006

Il BACKUP è disponibile in

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

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

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

Sistemi per la gestione di database: MySQL ( )

CONCETTO DI ANNIDAMENTO

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

Rassegna sui principi e sui sistemi di Data Warehousing

Data warehouse: casi di studio DataBase and Data Mining Group of Politecnico di Torino

SQL/OLAP. Estensioni OLAP in SQL

Prova scritta. Giovedì 02 Ottobre Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

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

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Le Basi di Dati. Le Basi di Dati

POLIAGE GUIDA RAPIDA

Basi di dati 9 febbraio 2010 Compito A

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

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

Olga Scotti. Basi di Informatica. Excel

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

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

Esercitazione su SQL

Alessandra Raffaetà. Esercizio

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

Corso di Basi di Dati

Interrogazioni complesse. SQL avanzato 1

Esame Di Stato A.S. 2004/2005 Istituto Tecnico Commerciale Corso Sperimentale Progetto Mercurio Corso di Ordinamento - Programmatori

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME

ESEMPIO: RITARDI & BIGLIETTI

LA NUOVA GESTIONE STUDIO

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m

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

Data warehousing con SQL Server

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Misure. Definizione delle misure

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

Biglietti e Ritardi: schema E/R

Capitolo 13. Interrogare una base di dati

Istruzioni DML di SQL

Basi di Dati. Esercitazione SQL. Ing. Paolo Cappellari

Introduzione ai database relazionali

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

Basi di Dati. Esercizi di SQL (2) - Soluzioni

Dalla progettazione concettuale alla modellazione di dominio

Informatica (Basi di Dati)

a) Si progetti uno schema concettuale Entità-Relazioni per lo scenario più sotto descritto.

Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti:

1. Per ogni film in cui appaiono solo attori nati prima del 1970 restituire il titolo del film.

Tipi MULTISET: accesso

Data warehouse Casi di studio

Esercizi SQL. Dato il seguente schema di una base di dati dove gli attributi che compongono la chiave sono scritti in grassetto

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

Introduzione alla teoria dei database relazionali. Come progettare un database

PostgreSQL 8.4. Associazione Italiana PostgreSQL Users Group ConfSL 2009 Speaker's Corner Bologna, 13 Giugno 2009

anno quadrimestre trimestre mese data N scontrini N prodotti Incasso negozio responsabile Data inizio

INTERPUMP GROUP SPA-VIA E. FERMI S.ILARIO (RE) http: //

SQL - Funzioni di gruppo

Volumi di riferimento

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Apertura Contabile Contabilità Libens

Access. P a r t e p r i m a

Gli operatori relazionali

DATABASE. Progettare una base di dati. Database fisico e database logico

Gestione Risorse Umane Web

Misura delle prestazioni dei processi aziendali con sistemi di integrazione dati open source

Basi di dati 30 settembre 2010 Compito A

Appello di BD del Corso di laurea in Informatica del 9/1/2007 Compito e soluzioni

Introduzione al corso

Lezione 8. Metadati, Viste e Trigger

Data warehousing con SQL Server

Osservatorio SosTariffe.it Telefonia Mobile

MANUALEDIUTILIZZO MODULO CRM POSTVENDITA

Basi di dati I Soluzione Quinto Homework del 9 gennaio 2013

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

Interrogazioni nidificate, commenti

DBMS (Data Base Management System)

Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore) DDL e progettazione

Nozione ed uso. Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso:

Il CRM per la Gestione del Servizio Clienti

Compito Basi di Dati. Tempo concesso: 90 minuti 08 Giugno 2006 Nome: Cognome: Matricola:

Transcript:

Analisi di Basi di dati Studio di un caso: Azienda Telefonica Progettazione concettuale anno trimestre mese regione provincia città cliente Attività cliente TempoUtilizzoAdsl SpesaAdsl TempoUtilizzoIsdn SpesaIsdn. servizi Adsl... Isdn status cliente nuovo cliente trasloco Sulla dimensione servizi ho un campo per ogni servizio gestito. Tali campi (Adsl, Isdn, ecc.) possono assumere uno dei seguenti valori: o Attivazione (il servizio è stato attivato nel mese in corso) o Disattivazione (il servizio è stato disattivato nel mese in corso) o Si (il servizio è attivo nel mese in corso, ed era già attivo nei mesi precedenti) o No (il servizio non è attivo, e non era attivo dei mesi precedenti) Relativamente alla dimensione status cliente i campi nuovo cliente e tasloco possono assumere i valori: o Si o No Per ogni servizio gestito ho 2 misure per il fatto analizzato: o Tempo di utilizzo del servizio o Spesa associata al servizio (costo delle telefonate )

Progettazione logica TEMPO (ID_TEMPO, MESE, TRIMESTRE, ANNO); SERVIZI((ID_SERVIZI, ADSL, ISDN, Un attributo per ogni altro servizio.); STATUSCLIENTE(ID_STATUS, STATUS_CLIENTE, NUOVOCLIENTE, TASLOCO); CLIENTE(ID_CLIENTE, CITTA, PROVINCIA, REGIONE); ATTIVITA_CLIENTI(ID_TEMPO, ID_STATUS, ID_CLIENTE, ID_SERVIZI, TEMPOUTILIZZOADSL, SPESAADSL,.. Tempo di utilizzo e spesa per tutti i servizi gestiti...); Interrogazioni SQL 1. Selezionare il numero di attivazioni di linee ISDN avvenute nell anno 2005 in funzione della città in cui si trova il cliente e del mese di attivazione. Selezionare inoltre il numero totale di attivazioni di linee ISDN avvenute nell anno 2005, il numero di attivazione di linee ISDN in ogni mese del 2005 (indipendentemente dalla città) e il numero di attivazioni di linee ISDN effettuate in ogni città, sempre nell anno 2005, indipendentemente dal mese. SELECT CITTA, MESE, COUNT(*) as NumAttivazioni FROM ATTIVITA_CLIENTI F, TEMPO T, SERVIZI S, CLIENTE C AND S.ISDN='Attivazione' GROUP BY CUBE(CITTA,MESE); 2. Per l anno 2005, selezionare per ogni coppia regione, mese il numero di clienti che nel corso dello stesso mese hanno disattivato la linea ISDN e hanno attivato una linea ADSL. SELECT REGIONE, MESE, COUNT(*) as NumAttivazioniADSLDisattivazioneISDN FROM ATTIVITA_CLIENTI F, TEMPO T, SERVIZI S, CLIENTE C AND S.ISDN='Disattivazione' AND S.ADSL='Attivazione' GROUP BY REGIONE,MESE;

2.bis Variante dell interrogazione 2 in cui l interrogazione è posta a livello di trimestre anzichè di mese. Per l anno 2005, selezionare per ogni coppia regione, trimestre il numero di clienti che nel corso dello stesso trimestre hanno disattivato la linea ISDN e hanno attivato una linea ADSL. SELECT REGIONE, TRIMESTRE, COUNT(DISTINCT F.ID_CLIENTE) as NumAttivazioniADSLDisattivazioneISDN FROM ATTIVITA_CLIENTI F, TEMPO T, SERVIZI S, CLIENTE C AND S.ISDN='Disattivazione' AND EXISTS (SELECT * FROM ATTIVITA_CLIENTI F2,TEMPO T2, SERVIZI S2 WHERE F2.ID_TEMPO=T2.ID_TEMPO AND F2.ID_SERVIZI=S2.ID_SERVIZI AND S.ADSL='Attivazione' AND F2.ID_CLIENTE=F.ID_CLIENTE AND T2.TRIMESTRE=T.TRIMESTRE AND T2.ANNO=2005) GROUP BY REGIONE, TRIMESTRE; 3. Per l anno 2005, selezionare per ogni coppia regione, trimestre l incasso associato alle chiamate effettuate tramite le linee ISDN, e l incasso associato alle chiamate effettuate tramite le linee ADSL. Ordinare i risultati in funzione dell incasso totale dato dalla somma degli incassi delle due tipologie di linee (ADSL+ISDN). SELECT REGIONE, TRIMESTRE, SUM(SPESAISDN) as INCASSO_ISDN, SUM(SPESAADSL) as INCASSO_ADSL GROUP BY REGIONE,TRIMESTRE ORDER BY SUM(SPESAADSL)+SUM(SPESAISDN); 3.bis Variante dell interrogazione precedente in cui si chiede di generare anche un attributo di rank. Per l anno 2005, selezionare per ogni coppia regione, trimestre l incasso associato alle chiamate effettuate tramite le linee ISDN, l incasso associato alle chiamate effettuate tramite le linee ADSL, e il RANK dato dall incasso totale dato dalla somma degli incassi delle due tipologie di linee (ADSL+ISDN). Ordinare i risultati in funzione dell incasso totale dato dalla somma degli incassi delle due tipologie di linee (ADSL+ISDN). SELECT REGIONE, TRIMESTRE, SUM(SPESAISDN) as INCASSO_ISDN, SUM(SPESAADSL) as INCASSO_ADSL, RANK() OVER (ORDER BY SUM(SPESAADSL)+SUM(SPESAISDN)) as RANKTOTALE GROUP BY REGIONE,TRIMESTRE ORDER BY RANKTOTALE;

4. Per l anno 2005, selezionare per ogni regione gli incassi mensili e gli incassi cumulativi da inizio anno. SELECT REGIONE, MESE, SUM(SPESAADSL)+..SUM spesa per tutti i servizi presenti..+ SUM(SPESAISDN) as INCASSO, SUM(SUM(SPESAADSL)+..SUM spesa per tutti i servizi presenti..+ SUM(SPESAISDN)) OVER (PARTITION BY REGIONE ORDER BY MESE ROWS UNBOUNDED PRECEDING) as INCASSOCUMULATIVO GROUP BY REGIONE,MESE; 5. Selezionare il numero di nuovi clienti e l'incasso totale per ogni mese dell anno 2005. Ordinare i mesi in funzione dell'incasso. SELECT MESE, SUM(CASE WHEN NUOVOCLIENTE= Si THEN 1 ELSE 0 END) as NUOVICLIENTI, SUM(SPESAADSL)+..SUM spesa per tutti i servizi presenti..+ SUM(SPESAISDN) as INCASSOTOTALE FROM ATTIVITA_CLIENTI F, TEMPO T, STATUSCLIENTE ST AND F.ID_STATUS=ST.ID_STATUS GROUP BY MESE ORDER BY INCASSOTOTALE; 5.bis Variante dell interrogazione precedente in cui si chiede di generare anche un attributo di rank. Per ogni mese dell anno 2005, selezionare il numero di nuovi clienti, l'incasso totale e il RANK dato dall incasso totale. Ordinare i mesi in funzione dell'incasso. SELECT MESE, SUM(CASE WHEN NUOVOCLIENTE= Si THEN 1 ELSE 0 END) as NUOVICLIENTI, SUM(SPESAADSL+..spesa per tutti i servizi presenti..+ SPESAISDN) as INCASSOTOTALE, RANK() OVER (ORDER BY SUM(SPESAADSL+..spesa per tutti i servizi presenti..+ SPESAISDN)) as RANKTOTALE FROM ATTIVITA_CLIENTI F, TEMPO T, STATUSCLIENTE ST AND F.ID_STATUS=ST.ID_STATUS GROUP BY MESE ORDER BY RANKTOTALE;

Viste materializzate Nel peggiore dei casi la tabella dei fatti contiene una riga per ogni possibile coppia (cliente,mese). Nel corso dello stesso mese ogni cliente è associato ad un solo valore di status cliente e ad una sola configurazione di servizi. La cardinalità massima della tabella dei fatti quindi è legata solo al numero di clienti e al numero di mesi gestiti. La cardinalità massima della tabella dei fatti è la seguente: 24 x 10000000 x 1 x 1 240 x 10 6 Interrogazioni 1 Per rispondere velocemente all interrogazione 1 potrebbe essere utile definire una vista materializzata associata all interrogazione stessa: SELECT CITTA, MESE, COUNT(*) as NumAttivazioni FROM ATTIVITA_CLIENTI F, TEMPO T, SERVIZI S, CLIENTE C AND S.ISDN='Attivazione' GROUP BY CUBE(CITTA,MESE); Cardinalità massima del risultato associato alla vista materializzata - numero città x 12 + numero città + 12 + 1 Nel testo non è specificato il numero di città gestite. In funzione di tale valore potrebbe essere utile oppure no definire la vista materializzata appena descritta (differenza di almeno un ordine di grandezza tra la cardialità delle tabella dei fatti e la cardinalità della vista materializzata). Tale vista materializzata permette di rispondere velocemente esclusivamente all interrogazione 1. Interrogazioni 2 Per l interrogazione 2 valgono considerazioni simili a quelle fatte per l interrogazione 1. Anche in questo caso per rispondere velocemente all interrogazione potrebbe essere utile definire una vista materializzata associata all interrogazione stessa. Cardinalità massima del risultato associato alla vista materializzata - numero regioni x 12 Nel testo non è specificato il numero di regioni. In funzione di tale valore potrebbe essere utile oppure no definire la vista materializzata appena descritta (differenza di almeno un ordine di grandezza tra la cardialità delle tabella dei fatti e la cardinalità della vista materializzata). Tale vista materializzata permette di rispondere velocemente esclusivamente all interrogazione 2. Interrogazioni 3 e 4 Per rispondere velocemente alle interrogazioni 3 e 4 potrebbe essere utile definire una sola vista materializzata associata alla seguente interrogazione: SELECT REGIONE, MESE, TRIMESTRE, SUM(SPESAADSL),...SUM spesa per tutti i servizi presenti.., SUM(SPESAISDN) GROUP BY REGIONE, MESE, TRIMESTRE;

Cardinalità massima del risultato associato alla vista materializzata - numero regioni x 12 Nel testo non è specificato il numero di regioni. In funzione di tale valore potrebbe essere utile oppure no definire la vista materializzata appena descritta (differenza di almeno un ordine di grandezza tra la cardialità delle tabella dei fatti e la cardinalità della vista materializzata). La vista materializzata appena descritta permette di rispondere velocemente sia all interrogazione 3 sia alla 4. Interrogazioni 5 Per l interrogazione 5 valgono considerazioni simili a quelle fatte per le interrogazioni 1 e 2. Anche in questo caso per rispondere velocemente all interrogazione potrebbe essere utile definire una vista materializzata associata all interrogazione stessa. Cardinalità massima del risultato associato alla vista materializzata - 12 Questa vista materializzata è sicuramente utile per rispondere più velocemente all interrogazione 5. Tale vista materializzata, però, è utile per rispondere esclusivamente all interrogazione 5.