Pianificazione del data warehouse



Похожие документы
Dominio applicativo. Analisi e ricognizione delle fonti dati

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Il caso StraSport (tratto da: Golfarelli, Rizzi. Data Warehouse. Teoria e pratica della progettazione. McGraw-Hill)

Introduzione alla teoria dei database relazionali. Come progettare un database

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

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)

GESTIONE CONTRATTI. Contratti clienti e contratti fornitori

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

SQL/OLAP. Estensioni OLAP in SQL

MANUALE PARCELLA FACILE PLUS INDICE

Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali

Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo

Volumi di riferimento

Raggruppamenti Conti Movimenti

Dispensa di database Access

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

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Database. Si ringrazia Marco Bertini per le slides

Capitolo 13. Interrogare una base di dati

Progettazione concettuale

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

I database relazionali (Access)

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

Elenchi Intrastat. Indice degli argomenti. Premessa. Operazioni preliminari. Inserimento manuale dei movimenti e presentazione

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Finalità della soluzione Schema generale e modalità d integrazione Gestione centralizzata in TeamPortal... 6

FIRESHOP.NET. Gestione del taglia e colore.

Concetti fondamentali dei database database Cos'è un database Principali database

Cosa è un foglio elettronico

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

DBMS (Data Base Management System)

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

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

Manuale d'uso. Manuale d'uso Primo utilizzo Generale Gestione conti Indici di fatturazione Aliquote...

IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

1 CARICAMENTO LOTTI ED ESISTENZE AD INIZIO ESERCIZIO

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

EA 03 Prospetto economico degli oneri complessivi 1

Progettazione di un Database

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori.

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

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Esercizio data base "Biblioteca"

FIRESHOP.NET. Gestione completa degli ordini e degli impegni. Rev

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

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

I Codici Documento consentono di classificare le informazioni e di organizzare in modo logico l archiviazione dei file.

1. CODICE DI ATTIVAZIONE 2. TIPOLOGIE GARANZIE 3. CONFIGURAZIONE NUMERI DI SERIE 4. DOCUMENTI

Analisi e diagramma di Pareto

Gestione Turni. Introduzione

Progettaz. e sviluppo Data Base

MANUALE ESSE3 Gestione Registro delle lezioni

Database 1 biblioteca universitaria. Testo del quesito

Data Warehousing (DW)

FIRESHOP.NET. Gestione Lotti & Matricole.

5.2.1 RELAZIONI TRA TABELLE Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Gestione Iter Manuale Sistemista. Gestione Iter Manuale Sistemista

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

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

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev

Sistemi Informativi e Basi di Dati

MODULO 5 Appunti ACCESS - Basi di dati

Introduzione ai database relazionali

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Identificare come i vari elementi dei Microsoft Dynamics CRM possono essere utilizzati per le relazioni con i clienti

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

Software H1 Hrms. Procedure di import - export dati Specifiche delle Tabelle di frontiera

SOMMARIO... 3 INTRODUZIONE...

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

Mon Ami 3000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

SQL Server BI Development Studio

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Lezioni di Laboratorio sui Data Base

Registratori di Cassa

Gestione Risorse Umane Web

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Multimagazzino Gestione di più magazzini fisici e/o logici

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

Il Modello Relazionale

Organizzazione degli archivi

elicaweb manuali - Vendite: come iniziare - pagina 1 di 9

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

I DATABASE Database relazionale

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

CHIUSURE di MAGAZZINO di FINE ANNO

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

Amministrazione Trasparente

OSSIF WEB. Manuale query builder

NUOVA ALIQUOTA IVA ORDINARIA 22% Note operative per la procedura SPRING SQL Versione 2.0 1/10/2013 PREMESSA:

Транскрипт:

Pianificazione del data warehouse Dalla pianificazione emergono due principali aree d interesse: area commerciale focalizzata sulle agenzie di vendita e area marketing concentrata sulle vendite dei prodotti. I data mart rilevati sono rappresentati sotto e verrà scelto come progetto pilota il data mart dell amministrazione. 1

Errori della base dati Amministrazione a. Nella relazione ORDINE il riferimento al venditore è ridondante poiché ogni cliente può essere seguito da un solo venditore per cui è determinato univocamente dal cliente associato all ordine. La ridondanza è ancora più ovvia nella tabella ORDINE_RIGHE. b. la chiave utilizzata in ORDINE è sbagliata, poiché la numerazione degli ordini nei diversi anni è indipendente dalla classe d ordine (la tabella ORDINE_RIGHE importa i primi due campi della chiave di ORDINE può essere verificata anche eseguendo una query sul DB); c. il campo CLORCT contiene valori PE2002 campinario che sta per Primavera/Estate 2002, mentre il campo RGRCCT contiene il valore della stagione PE. I campi sono legati da una relazione funzionale portando la tabella ORDINI ad una stato denormalizzato. d. l attributo CLORCD in ORDINE_RIGHE è ridondante, poiché la classe d ordine è determinata dall ordine cui la riga appartiene. 2

Errori della base dati Marketing e. In ARTICOLO le informazioni relative al listino non sono di nessuna utilità poiché LISTINO mantiene già lo storico di tutti i listini in cui un articolo è stato inserito f. LISTINO permette di modellare in forma denormalizzata l appartenenza di un articolo a tre listini di una stessa campagna in realtà il numero di Listini varia di campagna in campagna e può comunque essere superiore a tre. g. Sebbene da ARTICOLO manchino chiavi esterne riferite a SOTTOSEGMENTO, dal colloquio con gli utenti emerge che gli articoli appartengono a sottosegmenti (per esempio costumi da gara, costumi da spiaggia), a loro volta raggruppati in sottocategorie per esempio tessili mare, calzature palestra ). Inoltre, in SOTTOSEGMENTO manca una chiave esterna che faccia riferimento a SOTTOCATEGORIA. h. La relazione BUDGET_MARKETING risulta denormalizzata a causa delle dipendenze funzionali tra articolo e target e tra articolo e sottosegmento. 3

Schema E/R per la base dati Amministrativa: 4

Schema E/R per la base dati Marketing: 5

Normalizzazione Si noti che, oltre a eliminare i problemi trovati, nello schema del DB Amministrazione è stato introdotto il termine FATTURA in sostituzione di quello MOVIMENTO, ritenuto poco appropriato. Nello schema del DB Marketing l entità CAMPAGNA indica una specifica campagna di vendite identificata da un anno e da una stagione. E necessario porre attenzione anche sull entità listino che non va confusa con la relazione LISTINO: la prima modella la testata di un listino individuata da classe, anno e stagione; la seconda implementa l associazione molti-a-molti tra le entità LISTINO e ARTICOLO. 6

Integrazione 1. Risulta evidente la sinonimia tra AGENTE e VENDITORE, che viene risolta a favore di AGENTE. Sebbene molti degli attributi comuni ai due schemi abbiano nomi diversi, le corrispondenze sono facilmente identificabili analizzandone la descrizione; anche in questi casi è necessario risolvere il conflitto per poter procedere alla sovrapposizione degli schemi. 2. a seguito di una verifica sui dati, gli attributi CDFOAR delle tabelle ARTICOLO dei due data base sono risultati essere omonimi. Infatti quello del DB Amministrazione memorizza i nomi dei fornitori del prodotto, mentre quello del DB M. memorizza l effettivo produttore. 3. il concetto di campagna è espresso nello schema del DB A. mediante gli attributi stagione e anno dell entità CLASSE_ORDINE, nel DB M. tramite un entità. 4. Due delle entità comuni ai due schemi. AGENTE e ARTICOLO, descrivono lo stesso concetto da diversi punti di vista e perciò contengono diversi insiemi di attributi. La metodologia di integrazione prevede a questo punto l allineamento dei due schemi, ossia la soluzione dei conflitti in essi presenti. Oltre all eliminazione delle sinonimie si rende necessario aggiungere nello schema de DB Amministrazione l entità CAMPAGNA; l omonimia evidenziatosi nelle entità ARTICOLO viene risolta rinominando l attributo del DB Amministrazione. Per poter essere fuse, le entità AGENTE e ARTICOLO devono contenere lo stesso insieme di attributi, cioè l unione dei due insiemi di attributi. I due schemi allineati possono ora essere fusi sovrapponendo i concetti comuni; lo schema riconciliato risultante è presentato sotto. Si noti che quest ultimo include due entità. CATEGORIA e SEGMENTO, che non erano presenti negli schemi locali poiché il loro utilizzo è iniziato dopo la creazione del DB Marketing; esempi di categorie e segmenti sono, rispettivamente, nuoto e costumi. Il loro inserimento viene proposto dai gestori del sistema informativo poiché esse rappresentano un livello di aggregazione utile alla classificazione dei dati e quindi al processo decisionale. Ovviamente, all atto dell inizializzazione dello schema riconciliato il caricamento dei dati nelle relazioni CATEGORIA e SEGMENTO dovrà essere effettuato manualmente. L introduzione di CATEGORIA permette di modellare il fatto che, come dichiarato dagli utenti, il budget commerciale viene attualmente redatto per categoria piuttosto che per sottocategoria, come avveniva ai tempi della progettazione del DB M. In effetti, da circa 10 anni nel campo CODSOC viene impropriamente memorizzata la categoria! 7

8

Progettazione del livello riconciliato e requisiti utente Viste le esigenze degli utenti si decide di utilizzare un livello riconciliato fisico dove parcheggiare i dati prima di inserirli del data mart. Per le dimensioni dinamiche (AGENTI ) si crea un campo OPER che evidenzi le informazioni sulle modifiche dei record. Avendo a disposizione lo schema logico è possibile definire la corrispondenza (mapping) tra le relazioni degli schemi sorgenti e le relazioni dello schema riconciliato (utile al processo di alimentazione). Il mapping sarà espresso in SQL che definisce i concetti del livello riconciliato come viste sugli schemi sorgente. Alcuni esempi. 9

Progettazione concettuale Figura 1 Albero grezzo degli attributi Aggiustamento dell albero 1. per maggior chiarezza le chiavi composte sono sostituite dal nome della relazione (anno+numero diventa ordine); 2. gli attributi Oper sono eliminati 3. i codici e i rispettivi campi descrittivi vengono invertiti per poi eliminare i codici per avere la descrizione come nodo; 4. viene aggiunto l attributo resi specificato dagli utenti; 5. viene aggiunto l attributo prezzo, figlio della radice. Il prezzo unitario per una linea d ordine è univocamente determinato, poiché la riga d ordine determina l articolo e la classe ordine che a sua volta determina il listino. Il valore del prezzo deve essere ricavato durante l alimentazione tramite istruzioni sql; 6. vengono aggiunte dipendenze funzionali non presenti nello schema riconciliato (tra regione e macroare del cliente, tra gruppo cliente e classe fatturato). 10

Figura 2 Albero degli attributi modificato Potature e innesti 1. Effettuiamo la potatura dei nodi non interessanti (numero dell ordine); 2. eliminiamo alcune dipendenze funzionali con l obiettivo di rendere alcuni attributi candidati a diventare dimensioni (per esempio cliente) oppure misura (scontoincodizionato); 3. l arco tra cliente e datafinerapporto è opzionale; 4. innestiamo il nodo articolo, mantenendo solo la sua sottocategoria. Si selezionano misure e dimensioni ottenendo l albero sotto riportato. 11

Figura 3 Albero degli attributi dopo la potatura Si passa alla definizione dello schema di fatto aggiungendo eventuali misure derivate ed esplicitando l additività delle misure. Poiché gli sconti sono intesi come importi e non come percentuali sono additivi su tutte le dimensioni. 12

Figura 4 Scema dei fatti per l'ordinato Figura 5 Misure per l'ordinato 13

Figura 6 Schema di fatto per il fatturato 14

Figura 7 Schema di fatto budget e sovrapposizione degli schemi di fatto del fatturato e del budget 15

Progettazione logica Per lo schema logico si opta per uno schema a stella riportato sotto. Come si può notare i due schemi (ordinato e fatturato) presentano alcune dimensioni conformi (agente, sottocategoria, cliente, data) che di conseguenza non saranno duplicate. In particolare la gerarchia su dataimmissioneordine del fatto ORDINATO presenta due campi in più rispetto a quella del FATTURATO; per ovviare a questo problema si applica una soluzione a fiocco di neve e si aggiunge una tabella CAMPAGNA per le interrogazioni relative all ordinato. La gerarchia degli agenti è gestita in modo dinamico (requisito utente) e dati gli scenari temporali che si dovranno supportare si decide di modellare la dimensione con la soluzione di tipo 3, che richiede l inserimento di marche temporali (timestamp) oltre al campo master per determinare i record di riferimento. Si creano le viste materializzate in base ai dati sul carico di lavoro e ai requisiti utenti. 16

Figura 8 Schema logico 17

Progettazione dell alimentazione Definizione delle operazioni di trasformazioni dei dati: fusione delle informazioni relative ad articoli e agenti, disallineamento delle anagrafiche, creazione di chiave surrogate. Per quanto riguarda le similarità tra gli articoli viene utilizzata la tecnica degli attributi comuni: la descrizione, il colore, il modello. Per quanto riguarda l alimentazione della dimensione dinamica AGENTI, vengono create diverse procedure di aggiornamento a seconda del valore del campo OPER. In caso di modifica la procedura di caricamento esegue tre passi: estrae i dati modificati dal livello riconciliato, termina la validità degli stessi dati nella dimensione AGENTI, aggiunge i record modificati impostando il campo master, la data di inizio validità, e a null la data di fine validità. // ESTRAE DAL DB RICONCILIATO INSERT INTO TEMP1 SELECT CODAGENTE, DESCRIZIONE, AGENZIA FROM AGENTI WHERE OPER= M ; // MODIFICA I TIMESTAMP UPDATE DT_AGENTE SET FINEVALIDITA = CURRENT_DATE WHERE chiavea IN (SELECT LU.chiaveA FROM TEM1 AS T, LU_AGENTE AS LU WHERE T.CODAGENTE=LU.CODAGENTE); // CARICAMENTO DEL RECORD MODIFICATO NELLA DIMENSION TABLE INSERT INTO DT_AGENTE (AGENTE,AGENZIA,INIZIOVALIDITA,MASTER) SELECT T.DESCRIZIONE, T.AGENZIA, CURRENT_DATE, LU.CHIAVE_MASTER FROM TEMP1 AS T, LU_AGENTE AS LU WHERE T.CODAGENTE = LU.CODAGENTE; 18

Progettazione fisica Scelta degli indici in base alle caratteristiche del sistema su cui verrà implementata la soluzione. 19