Tesina di analisi di basi di dati: Buoni sconto Descrizione del problema Una società di analisi di mercato vuole studiare l’utilizzo dei buoni sconto nella grande distribuzione. I buoni sconto sono dei particolari biglietti che i consumatori possono ritagliare dalle riviste, giornali, confezioni, ecc. I buoni sconto sono utilizzati al posto del denaro per pagare la spesa, ottenendo quindi uno sconto sugli specifici prodotti acquistati e per i quali sono validi. L’utilizzo di un buono sconto all’acquisto di un prodotto è detto redenzione del buono, quindi un buono è definito redento. I produttori distribuiscono molti buoni sconto per i loro prodotti, ma solo una parte è effettivamente redenta, cioè solo alcuni sono usati all’acquisto di tali prodotti. La società di analisi di mercato è interessata ad analizzare il numero di buoni sconto redenti e il valore dello sconto ottenuto. L’analisi deve essere condotta tenendo conto delle seguenti caratteristiche. I buoni sconto possono essere redenti durante periodi di tempo limitati, definiti campagne promozionali. Un prodotto può essere oggetto di diverse campagne promozionali, ciascuna delle quali può avere una durata diversa, espressa in numero di settimane (es. una campagna può durare una settimana e un’altra tre settimane). Il prodotto appartiene a uno specifico settore (es. “frutta”). I settori sono aggregati in categorie merceologiche (es. “alimentari”). Inoltre, un prodotto è fornito da uno specifico produttore (es. “Barilla”). La società vuole analizzare il numero di redenzioni e lo sconto ottenuto in ogni supermercato. I vari supermercati appartengono a delle catene (es. “Carrefour”, “Auchan”). Ogni supermercato si trova in una città. Inoltre l’analisi deve essere svolta tenendo conto anche della provincia, della regione e dello Stato in cui si trova il supermercato in cui i buoni sono redenti. L’analisi deve considerare la data in cui avviene la redenzione dei buoni, il giorno della settimana, il mese e l’anno. Infine, i buoni sconto redenti devono poter essere analizzati in base al mezzo di distribuzione utilizzato per diffonderli: alcuni buoni sconto possono essere messi nelle riviste, altri su giornali, depliant o confezioni, altri su alcuni di questi mezzi o eventualmente su tutti. Alla redenzione di un buono, è possibile risalire ai mezzi con cui era stato distribuito. Il data warehouse realizzato deve contenere le informazioni relative agli anni 1998-2008. Alcune delle interrogazioni frequenti alle quali la società di analisi di mercato è interessata sono le seguenti: a) Per ogni supermercato selezionare la percentuale di buoni sconto redenti rispetto al numero totale di buoni sconto redenti nella catena a cui appartiene. Si consideri solo la categoria merceologica “alimentari” e le redenzioni avvenute nel 2007. b) Per la categoria merceologica “alimentari”, separatamente per ogni catena di supermercati, selezionare lo sconto mensile totale ottenuto dai consumatori usando i buoni sconto, e lo sconto totale dall’inizio dell’anno per ogni mese. c) Per ogni anno e per ogni giorno della settimana, selezionare lo sconto medio ottenuto per ogni buono redento considerando solo la categoria merceologica “alimentari”. Page 1 of 2 d) Per ogni supermercato e per ogni mese, assegnare un rank ai prodotti per numero di redenzioni, dal più alto al più basso. e) Per ogni anno e per ogni categoria merceologica, selezionare lo sconto totale ottenuto dalla redenzione dei voucher per le diverse combinazioni di mezzi di distribuzione. f) Per ogni prodotto, assegnare un rank alle campagne promozionali in base al numero di redenzioni decrescente nel 2007. g) Per ogni valore di durata delle campagne promozionali, selezionare il numero medio di redenzioni giornaliere nel 2007, considerando solamente il produttore “Ferrero”. Progettazione 1) 2) 3) 4) 5) Progettare 2 sorgenti dati relazionali in cui sono memorizzate le informazioni utili per alimentare il data warehouse descritto in precedenza. Per ogni sorgente è necessario • definire con un diagramma E-R lo schema concettuale della base di dati, • costruire uno schema logico relazionale normalizzato per la stessa base di dati • realizzare gli script necessari per la creazione delle tabelle della base di dati in Oracle XE o Microsoft Visual Studio 2005 • alimentare la base di dati con almeno 1000 tuple. Progettare il data warehouse necessario per soddisfare almeno le richieste descritte nelle specifiche del problema. È possibile inoltre estendere le specifiche del problema. Per il data warehouse è necessario • definire con uno o più Dimensional fact model lo schema concettuale del data warehouse • definire il modello relazionale (ROLAP) del data warehouse • decidere come gestire la dinamicità (variazione) dei dati all’interno delle dimensioni. • realizzare gli script necessari per la creazione delle tabelle del data warehouse in Microsoft Visual Studio 2005 e in Oracle XE. Definire il processo ETL necessario per effettuare il caricamento dei dati presenti nelle 2 sorgenti dati definite al punto (1) all’interno delle tabelle del data warehouse che avete creato al punto (2). Realizzare il processo di ETL con un progetto di Business Intelligence di tipo “Integration services” mediante Microsoft Visual Studio 2005. Per le interrogazioni frequenti (a)-(g) descritte nelle specifiche del problema • esprimere le interrogazioni utilizzando il linguaggio SQL esteso da eseguire in Oracle XE. • usare Microsoft Visual Studio 2005 (Analysis Services Project) per creare i cubi ritenuti utili per rispondere velocemente alle interrogazioni proposte Considerando le caratteristiche del data warehouse realizzato e la cardinalità dei dati memorizzati nel data warehouse, decidere quali viste materializzate potrebbero essere utile definire con Oracle XE al fine di ottimizzare i tempi di risposta delle interrogazioni proposte nelle specifiche del problema. Motivare le scelte fatte e definire le viste. Materiale da consegnare Consegnare una relazione finale in cui si descrive dettagliatamente il progetto svolto. Consegnare gli script per la creazione delle sorgenti dati e per popolarle. Consegnare gli script per la creazione del data warehouse. Consegnare il progetto di Business Intelligence di tipo “Integration services” sviluppato mediante Microsoft Visual Studio 2005 per il processo di ETL. 10) Consegnare il progetto di Business Intelligence di tipo “Analysis Services Project” sviluppato mediante Microsoft Visual Studio 2005 per creare i cubi. 11) Consegnare gli script per effettuare le query e creare le viste materializzate in Oracle XE 6) 7) 8) 9) Page 2 of 2