METODOLOGIE DI PROGETTAZIONE DI BD E DI DW BD ANALISI DEI REQUISITI PER DW DW • Gli eventi (fenomeni) di interesse, detti fatti. OBIETTIVO Progettare una BD per agevolare le attività operative di un’organizzazione. • La granularità dei fatti da analizzare. Progettare un DW per agevolare le attività decisionali di un’organizzazione. • Gli indicatori numerici di prestazioni da valutare per analizzare un processo (misure). • Le dimensioni rilevanti secondo le quali analizzare le misure dei fatti ANALISI DEI REQUISITI L’attenzione è sulle funzioni (servizi) da realizzare e sui dati che occorrono. (prospettive di analisi, contesto dei fatti). L’attenzione è sulle analisi che si vogliono fare sugli eventi di interesse di certi processi aziendali, ovvero ... Progettazione di DW, A. Albano • Attributi dimensionali e gerarchie 1 METODOLOGIE DI PROGETTAZIONE DI BD E DI DW BD Progettazione di DW, A. Albano DIFFERENZE FRA PROGETTAZIONE DI BD E DI DW DW BD PROGETTAZIONE CONCETTUALE Uso del modello ER 2 DW PROGETTAZIONE FISICA Uso del modello multidimensionale Definire opportune strutture di memorizzazione per rendere efficienti le operazioni sui dati PROGETTAZIONE LOGICA Schema logico della BD, tipicamente normalizzato Scelta del tipo di DWMS e progettazione dello schema logico del DW con l’obiettivo di semplficare le operazioni di analisi dei dati, sacrificando la normalizzazione dei dati Progettazione di DW, A. Albano 3 PROGETTAZIONE DI DW Definire oppure strutture di memorizzazione per rendere efficienti le operazioni estemporanee di analisi dei dati (indici, viste materializzate). Progettazione di DW, A. Albano 4 APPROCCIO BOTTOM-UP Approccio “prudente“ (si sviluppa incrementalmente il DW a partire da un primo data mart): • Determina risultati concreti in tempi brevi La costruzione del DW aziendale è un processo molto lungo che richiede un certo investimento finanziario. • Non richiede elevati investimenti finanziari • Permette di studiare solo le problematiche relativo al data mart in oggetto Causa principale dei fallimenti di progetti di DW è l’impossibilità di dare alla direzione aziendale riscontri pratici degli investimenti effettuati in periodi accettabili (6 mesi -1 anno). La scelta del primo data mart da realizzare è di fondamentale importanza: • Deve essere interessante per la direzione Questo problema si verifica quando l’approccio alla costruzione del DW è di tipo top-down, ossia quando la fase di progettazione coinvolge il SI nella sua totalità. Progettazione di DW, A. Albano • Deve fungere da elemento comune rispetto ai successivi data mart • Deve rappresentare un elemento centrale del futuro DW 5 Progettazione di DW, A. Albano 6 PER INIZIARE UN PROGETTO PER INIZIARE: DEFINIZIONE DEL PROGETTO Obiettivo: definire gli scopi del progetto Identificare i patrocinatori, i dirigenti convinti del valore del progetto. Output: Conoscere il problema aziendale prima di iniziare a discutere gli obiettivi del progetto. Coinvolge: progettista e utenti finali. Passi Intervistare gli interessati, per comprendere le loro esigenze informative da tradurre in requisiti del progetto. • Analisi preliminare del dominio applicativo e delle esigenze • Pianificazione del progetto • Creazione del gruppo di lavoro (analista dati, analista processi, dirigenti) Intervistare gli esperti del sistema informatico operazionale, per sapere quali dati esistono e come vengono gestiti. Progettazione di DW, A. Albano documento 7 Progettazione di DW, A. Albano 8 METODOLOGIA (SEMPLIFICATA) DI PROGETTAZIONE DI UN DW METODOLOGIE DI PROGETTAZIONE Per ogni data mart: Progettazione guidata dai requisiti di analisi dei dati Progettazione guidata dai dati operazionali • Analisi dei requisiti • Progettazione concettuale • • Progettazione concettuale iniziale (cosa si vuole) • Progettazione concettuale dai dati operazionali (cosa si può ottenere) • Progettazione concettuale finale (cosa si può analizzare) Progettazione logica Progettazione logica del DW Progettazione guidata dai requisiti di analisi dei dati e dai dati operazionali Progettazione fisica del DW Progettazione dell’alimentazione dei dati Progettazione di DW, A. Albano 9 ANALISI DEI REQUISITI 10 SPECIFICA DEI REQUISITI Obiettivo: definire i bisogni informativi Input: Progettazione di DW, A. Albano Tabella specifica dei requisiti di analisi Nome processo documento con gli scopi del progetto N Output: documento di specifica dei requisiti con la descrizione (a) di alcuni esempi di analisi interessanti in linguaggio naturale (carico di lavoro preliminare), delle misure, delle dimensioni, (b) della granularità dei fatti, (c) del glossario dei dati ecc. Requisito di analisi Dimensioni Misure + Metriche ? Tabella specifica del fatto Fatto Coinvolge: progettista e utenti finali. Descrizione granularità Dimensioni preliminari Misure preliminari Passi: • Raccolta dei requisiti Tabella specifica delle dimensioni • Analisi delle fonti dei dati Dimensioni Nome • Specifica dei requisiti Progettazione di DW, A. Albano 11 Descrizione Progettazione di DW, A. Albano Granularità 12 SPECIFICA DEI REQUISITI TRATTAMENTO DIMENSIONI MODIFICABILI Dimensioni con attributi che cambiano raramente Tabella specifica degli attributi dimensionali • TIPO 1 (oggi per ieri): si perde la storia Dimensione Attributo • TIPO 2 (oggi o ieri): si conserva la storia Descrizione • TIPO 3 (oggi-ieri): si conserva la storia e le date della modifica. Tabella specifica delle dimensioni che cambiano Dimensioni Nome Attributi modificabili Dimensioni con attributi che cambiano frequentemente Trattamento modifiche • TIPO 4 Progettazione di DW, A. Albano 13 SPECIFICA DEI REQUISITI Progettazione di DW, A. Albano 14 PROGETTAZIONE CONCETTUALE DAI DATI OPERAZIONALI: PASSI Tabella specifica delle misure del fatto 1 Analisi dei dati operazionali. Misure Misura Descrizione Aggregabilità Si ignorano tabelle e attributi non interessanti ai fini dell’analisi dei dati. Derivata Tabella specifica degli attributi descrittivi del fatto 2 Classificazione delle tabelle Attributi descrittivi del fatto Attributo Si stabilisce quali sono le tabelle utili per possibili Descrizione • fatti In presenza di più fatti, tabelle riepilogative delle dimensioni e delle misure dei fatti • dimensioni Dimensioni dei fatti Dimensione Fatto 1 ... Fatto n Fatto 1 ... Fatto n • gerarchie Misure dei fatti Misura 3 Generazione dello schema concettuale candidato Progettazione di DW, A. Albano 15 PROGETTAZIONE CONCETTUALE DAI DATI OPERAZIONALI: TIPI DI ENTITA’ Progettazione di DW, A. Albano ESEMPIO Classificazione delle tabelle !"##$%& !"#$%%&'$())*+,, !"-'./01())#+2-'./0/3,, 4$%$ 5"%$61 Entità evento. Le entità eventi sono le tabelle che rappresentano eventi di interesse dei processi aziendali di analisi e sono le più importanti da individuare perché sono le naturali candidate da considerare per la definizione delle tabelle dei fatti. Esse presentano due caratteristiche: '%()*) !"-'./01())*+,, !"76/10%1())#+276/10%/3,, 4$%$ - descrivono eventi che si verificano frequentemente a certe date - contengono attributi numerici che rappresentano possibili misure 12)&*#) !"76/10%1())*+,, !";1 E0./'/<<" 5161F"0"())*+G,, Progettazione di DW, A. Albano 16 17 Progettazione di DW, A. Albano ,%-(-##) !"*'"."%%"())*+,, !"7$%1:"'/$( (((((())#+27$%1:"'/1*'"."%%/3,, !";1 *'1<<"=0/%$'/" 8&$0%/%94/>?"0/@/61 A/B166"C/"'./0" +)*&&'%()*) !"-'./01())*+,, !"*'"."%%"())*+,, ((((((((((((((((((())#+2*'"."%%/3,, 8&$0%/%9 1"#&3-%)&,%-(-##) !"7$%1:"'/$())*+,, !";1 41>H'/</"01 Accorpamento ./&()0)-*) !"D?1./</"01())*+,, !"-'./01(((( (((((((((((((())#+2A/011"'./0/3,, !"*'"."%%"( (((((((((((((())#+2A/011"'./0/3,, D17";?61%$ 8&$0%/%9 18 PROGETTAZIONE CONCETTUALE DAI DATI OPERAZIONALI: TIPI DI ENTITA’ ESEMPIO Entità componente. Le entità componenti sono quelle in relazione con un’entità evento con un’associazione (1:N). ,%-(-##) !"*'"."%%"())*+,, !"7$%1:"'/$( (((((())#+27$%1:"'/1*'"."%%/3,, !";1 *'1<<"=0/%$'/" 8&$0%/%94/>?"0/@/61 A/B166"C/"'./0" !"##$%& !"#$%%&'$())*+,, !"-'./01())#+2-'./0/3,, 4$%$ 5"%$61 1"#&3-%)&,%-(-##) !"7$%1:"'/$())*+,, !";1 41>H'/</"01 Componente3 +)*&&'%()*) !"-'./01())*+,, !"*'"."%%"())*+,, ((((((((((((((((((())#+2*'"."%%/3,, 8&$0%/%9 '%()*) !"-'./01())*+,, !"76/10%1())#+276/10%/3,, 4$%$ Evento Componente2 12)&*#) !"76/10%1())*+,, !";1 E0./'/<<" 5161F"0"())*+G,, Componente1 Le entità componenti sono le naturali candidate da considerare per la definizione delle dimensioni di analisi dei fatti. Progettazione di DW, A. Albano 19 PROGETTAZIONE CONCETTUALE DAI DATI OPERAZIONALI: TIPI DI ENTITA’ ./&()0)-*) !"D?1./</"01())*+,, !"-'./01(((( (((((((((((((())#+2A/011"'./0/3,, !"*'"."%%"( (((((((((((((())#+2A/011"'./0/3,, D17";?61%$ 8&$0%/%9 Progettazione di DW, A. Albano 20 ESEMPIO Entità di classificazione. Le entità di classificazione sono quelle in relazione con un’entità componente (entità minimale) con una catena di associazioni (1:N). Componente3 Classificazione3.1 ,%-(-##) !"*'"."%%"())*+,, !"7$%1:"'/$( (((((())#+27$%1:"'/1*'"."%%/3,, !";1 *'1<<"=0/%$'/" 8&$0%/%94/>?"0/@/61 A/B166"C/"'./0" !"##$%& !"#$%%&'$())*+,, !"-'./01())#+2-'./0/3,, 4$%$ 5"%$61 Classificazione3.2 1"#&3-%)&,%-(-##) !"7$%1:"'/$())*+,, !";1 41>H'/</"01 +)*&&'%()*) !"-'./01())*+,, !"*'"."%%"())*+,, ((((((((((((((((((())#+2*'"."%%/3,, 8&$0%/%9 '%()*) !"-'./01())*+,, !"76/10%1())#+276/10%/3,, 4$%$ Evento Componente2 Entità componente ? Componente1 12)&*#) !"76/10%1())*+,, !";1 E0./'/<<" 5161F"0"())*+G,, Le entità di classificazione sono le naturali candidate da considerare per la definizione di gerarchie, e si combinano con le entità minimali per definire attributi dimensionali. Progettazione di DW, A. Albano 21 ./&()0)-*) !"D?1./</"01())*+,, !"-'./01(((( (((((((((((((())#+2A/011"'./0/3,, !"*'"."%%"( (((((((((((((())#+2A/011"'./0/3,, D17";?61%$ 8&$0%/%9 Progettazione di DW, A. Albano 22 PROGETTAZIONE LOGICA: GERARCHIE PROGETTAZIONE LOGICA Paese Stato Città Regione Provincia Cliente Prodotto ProdottoId Nome Categoria Città Negozio Vendite Quantità Prezzo Ricavo Data Giorno Mese Vendite NegozioId DataId ProdottoId Quantità Prezzo Ricavo Data DataId Giorno Mese Anno Cliente Fatturazione Supervisore Agente Nome Nome Categoria Progettazione di DW, A. Albano Vendite Quantità Prezzo Sconto Ricavo Provvigione Negozio NegozioId Città Provincia Regione Data Giorno Mese Anno Numero Fattura Articolo Anno Prodotto Cliente Vendita Nome Garanzia 23 Gerarchie diverse Tabelle diverse Gerarchie condivise Tabella unica Gerarchie simili Viste di un’unica tabella Progettazione di DW, A. Albano 24 PROGETTAZIONE LOGICA: GERARCHIE PROGETTAZIONE LOGICA: GERARCHIE RICORSIVE Cliente Fatturazione Gerarchie ricorsive Ag 1 Supervisore Città Agente Nome Vendite Quantità Prezzo Sconto Ricavo Provvigione Articolo Agente AgentePK Nome ... SupervisoreFK Cliente Vendita Data Ag 2 Fattura Ag 4 Vendite AgenteFK ... Ag 3 Ag 5 Ag 6 Ag 7 Trovare il totale delle vendite per l’impiegato Rossi e per tutti i suoi subordinati Progettazione di DW, A. Albano 25 GERARCHIE RICORSIVE Progettazione di DW, A. Albano 26 GERARCHIE RICORSIVE Vendite AgenteFK <<FK(Agente)>> ... Agente AgentePK <<PK>> Nome <<PK1>> ... SupervisoreFK Vendite AgenteFK <<FK(Agente)>> ... Agente AgentePK <<PK>> Nome <<PK1>> ... a) b) PerLaGerarchia SupervisoreFK <<PK>> <<FK(Agente)>> SubordinatoFK <<PK>> <<FK(Agente)>> NDeiLivelli SeTerminale SeRadice Vendite AgenteFK <<FK(Agente)>> ... Agente AgentePK <<PK>> Nome <<PK1>> ... b) Trovare il totale delle vendite per l’agente Rossi e per tutti i suoi subordinati PerLaGerarchia SupervisoreFK <<PK>> <<FK(Agente)>> SubordinatoFK <<PK>> <<FK(Agente)>> NDeiLivelli SeTerminale SeRadice Agente AgentePK <<PK>> Nome <<PK1>> ... PerLaGerarchia SupervisoreFK <<PK>> <<FK(Agente)>> SubordinatoFK <<PK>> <<FK(Agente)>> ... Vendite AgenteFK <<FK(Agente)>> ... a) Per spostarsi nella gerarchia verso il basso Trovare il totale delle vendite per l’agente Rossi e per tutti i suoi subordinati Progettazione di DW, A. Albano Trovare il totale delle vendite per l’agente Rossi e per tutti i suoi superiori 27 PROGETTAZIONE LOGICA: DIMENSIONI MULTIVALORE Cliente Fatturazione Città Agente Nome Vendite Quantità Prezzo Sconto Ricavo Provvigione Articolo Progettazione di DW, A. Albano PROGETTAZIONE LOGICA: DIMENSIONI MULTIVALORE Cliente Vendita Agente AgentePK<<PK>> ... AgenteVendite AgentiFK <<PK>> <<FK(Agente)>> VenditeFK <<PK>> <<FK(Vendite)>> Data Vendite ... AgenteFK ... Agente AgentePK ... Fattura Agente AgentePK<<PK>> ... Agente AgentePK <<PK>> ... Vendite ... AgenteFK ? ... Agente AgentePK ... AgenteVendite AgentiFK <<PK>> <<FK(Agente)>> VenditeFK <<PK>> <<FK(Vendite)>> Vendite VenditePK<<PK>> ... AgenteVendite Gruppo <<PK>> AgenteFK <<PK>> <<FK(Agente)>> Quota Vendite ... Gruppo ... Gruppi Agente AgentePK<<PK>> ... Gruppo <<PK>> Attenzione a Gruppo Vendite ... GruppoFK <<FK(Gruppi)>> ... AgenteVendite GruppoFK <<PK>> <<FK(Gruppi)>> AgenteFK <<PK>> <<FK(Agente)>> Quota Vendite VenditePK<<PK>> ... Agente AgentePK<<PK>> ... Progettazione di DW, A. Albano 28 29 Progettazione di DW, A. Albano Vendite ... AgenteFK <<FK(Agente)>> Gruppo ... 30 PROGETTAZIONE LOGICA: DIMENSIONI MULTIVALORE Trovare il totale delle vendite per agente PROGETTAZIONE LOGICA: DIMENSIONI CON ATTRIBUTI MULTIVALORE ? Agente AgentePK <<PK>> ... AgenteVendite Gruppo <<PK>> AgenteFK <<PK>> <<FK(Agente)>> Quota Cliente Vendita Cliente Fatturazione TipologiaCliente Vendite ... Gruppo ... Città Agente Nome Attenzione a Quota Vendite Quantità Prezzo Sconto Ricavo Provvigione Data Articolo Fattura TipologiaCliente TipologiaPK<<PK>> ... SELECT A.AgentePK, A.Nome, SUM(V.Ricavo * AV.Quota ) FROM Vendite V, AgentiVendite AV, Agenti A WHERE V.Gruppo = AV.Gruppo AND AV.AgenteFK = A.AgentePK GROUP BY A.AgentePK, A.Nome; Progettazione di DW, A. Albano 31 Progettazione di DW, A. Albano 32 PROGETTAZIONE LOGICA: DIMENSIONI MODIFICABILI TIPO2 • Clienti con una chiave naturale • TIPO 1 (oggi per ieri): si perde la storia. Il nuovo valore dell’attributo Cliente ClienteSK<<PK>> CF <<PK1>> Città ... dimensionale sostituisce il valore nel record della tabella della dimensione. • TIPO 2 (oggi o ieri): si conserva la storia. Si aggiunge un nuovo record alla tabella della dimensione, con chiavi surrogate diverse. E’ la soluzione tipica. Vendite ... ClienteFK ... • Clienti senza chiave naturale • TIPO 3 (oggi-ieri): si conserva la storia e le date della modifica. Si usa raramente per la complessità delle analisi. • TIPO 4: La dimensione si memorizza in due tabelle, una con gli attributi che non cambiano (o cambiano lentamente) e l’altra con i soli attributi che cambiano frequentemente e definiti per intervalli 33 Cliente ClienteSK<<PK>> PrimaSK Città ... Vendite ... ClienteFK ... Cliente ClienteSK<<PK>> ... Città ... Vendite ... ClienteFK ClientePrimaSK ... Progettazione di DW, A. Albano c A. Albano ! 34 6.3 Come procedere 93 BD OPERAZIONALE ESEMPIO DI CASO D '()"*+" '()"*+(%& !"#$ Società che si occupa della produzione e della vendita di telefoni cellulari con i propri punti vendita 83*&*##" 83*&*##*%& 7$/>,+-+"($ C"5" !*09*+(+#" !*09*+(+#(%& 7$/>,+-+"($ A"/5" • BD operazionale D !"##$ !"##$%& !"#$ '()"*+(%& 1*&(//" 1*&(//*%& 83*&*##*%& =+?&1 7$/>,+-+"($ :,$--"@)(?,"//" :,$--"@7$551?&+" A"/5";(+51,+" =>"(512+&$ !*09*+(+#" 1*&(//" !*09*+(+#(%& 1*&(//*%& !4#$,"A"#0"($(5+ 86+#":(+&"#86+#*:(+&"#-%& !"##$%& )(*+,+--" %$&$'"(" !"#$.$/0"(/12+&$ !4#B**$55+ • requisiti di analisi !/"(+#" !/"(+#(%& !"##$%& !"#$ )(*+,+--" Progettazione di DW, A. Albano Vendite AgenteFK ... AgenteVendite AgentiFK <<PK>> <<FK(Agente)>> TipologiaFK <<PK>> <<FK(TipologiaCliente)>> PROGETTAZIONE LOGICA: DIMENSIONI MODIFICABILI Progettazione di DW, A. Albano Agente AgentePK<<PK>> ... 35 Progettazione di DW, A. Albano Figura 6.8 ,#-."/"0(+#" ,#-."/"0(+#*%& !"##$%& !"#$ %$&$'"(" )(*+,+--" .$/0"(/12+&$ %+2(+#-3"* ,#-."/"0(+#*%& 1*&(//*%& 341(5+567+/0"(+2+&$ 8+9$&&"7+.+",*+(" 7151)(9 7"+((43&"+" ,#-."/"0(+#*%& 1*&(//*%& 43&"+(%& 560(3*7"+(:,$--";(+51,+" 341(5+56<,*+(151 =>"(5" 43&"+" 43&"+(%& !/"(+#(%& 86+#*:(+&"#-%& 7151 %+0"=0$*+-+"($ 36 Base di dati operazionale di riferimento 2. Specifica dei requisiti. Si considerano i requisiti di analisi di ogni processo per produrre una specifica delle analisi dei dati che evidenzia le dimensioni (tra parentesi gli attributi) e le misure interessanti, e si definisce le granularità dei fatti. RACCOLTA REQUISITI DI ANALISI RACCOLTA REQUISITI DI ANALISI 1. Quantità media disponibile e del livello di riordino per mese, per modello e per stabilimento 3. Totale dei costi e dei ricavi per ogni modello venduto ad una certa data, per stabilimento e regione di produzione 2. Modelli che hanno esaurito, almeno una volta in una certa settimana, la quantità disponibile in tutti gli stabilimenti di una certa regione. 4. Percentuale di prodotti scontabili, e di questi la percentuale dello sconto applicato alla vendita, per punto di vendita e per le vendite di una certa settimana o di un certo mese 5. I 5 modelli venduti in un certo mese con il più alto ricavo, oppure quantità venduta, oppure costo di produzione INVENTARIO Gennaio 2006 Modello Stabilimento Quantità media disponibile M1 S1 ... ... S2 ... ... S3 ... ... S1 ... ... ... ... ... M2 ... Livello di riordino 6. Totale dei costi e dei ricavi per ogni modello venduto in una certa data, per punto di vendita e regione di vendita 7. Numero dei clienti che hanno acquistato lo scorso mese i 5 modelli che hanno prodotto il ricavo più alto, per regione Progettazione di DW, A. Albano 37 94 CAPITOLO 6 Progettazione di un data warehouse Progettazione di DW, A. Albano 38 c A. Albano ! SPECIFICA DEI REQUISITI SCHEMA CONCETTUALE INIZIALE INVENTARIO Processo Inventario Misure N Requisito di analisi Dimensioni 1 Quantità media dei modelli disponibili e del livello di riordino per mese, per sigla e descrizione del modello e per stabilimento Modello (Sigla, Descrizione), Stabilimento, Data(Mese) Quantità disponibile, Livello riordino 2 Modelli che hanno esaurito, almeno una volta in una certa settimana, la quantità disponibile in tutti gli stabilimenti di una certa regione Modello, Data(Settimana), Stabilimento (Regione) Quantità disponibile 1. Quantità media disponibile e del livello di riordino per mese, per modello e per stabilimento 2. Modelli che hanno esaurito, almeno una volta in una certa settimana, la quantità disponibile in tutti gli stabilimenti di una certa regione. Per quanto riguarda la granularità dei fatti, per l’Inventario interessano i dati su ogni prodotto a fine giornata. Descrizione Dimensioni preliminari Fatto Inventario Misure preliminari Un fatto riguarda un prodotto a fine giornata Modello, Stabilimento, Data Quantità disponibile, Livello di riordino Regione Si descrivono le dimensioni, gli attributi e le misure del fatto Inventario. Nome Descrizione Dimensioni Granularità ... ... ... Un giorno Un modello Uno stabilimento Data Modello Stabilimento Attributo Data Descrizione Mese Settimana ... ... Stabilimento Mese Inventario Attributo Modello Descrizione Sigla Descrizione ... ... Misura Progettazione di DW, A. Albano Attributo Stabilimento Descrizione Regione ... QuantitàDisponibile LivelloRiordino Misure Derivata Descrizione Aggregabilità Quantità disponibile ... Livello riordino ... Semi additiva (non additiva per Data) Non additiva Progettazione di DW, A. Albano c A. Albano ! 40 6.3 Come procedere D '()"*+" '()"*+(%& !"#$ 4. Percentuale di prodotti scontabili, e di questi la percentuale dello sconto applicato alla vendita, per punto di vendita e per le vendite di una certa settimana o di un certo mese Entità evento: 5. I 5 modelli venduti in un certo mese con il più alto ricavo, oppure quantità venduta, oppure costo di produzione 83*&*##" 83*&*##*%& 7$/>,+-+"($ C"5" Inventario Regione LineeOrdini Stabilimento Mese !*09*+(+#" !*09*+(+#(%& 7$/>,+-+"($ A"/5" Anno Data Trimestre D !"##$ !"##$%& !"#$ '()"*+(%& 1*&(//" 1*&(//*%& 83*&*##*%& =+?&1 7$/>,+-+"($ :,$--"@)(?,"//" :,$--"@7$551?&+" A"/5";(+51,+" =>"(512+&$ !*09*+(+#" 1*&(//" !*09*+(+#(%& 1*&(//*%& !4#$,"A"#0"($(5+ 86+#":(+&"#86+#*:(+&"#-%& !"##$%& )(*+,+--" %$&$'"(" !"#$.$/0"(/12+&$ !4#B**$55+ Settimana Punto Vendita Regione Modello Progettazione di DW, A. Albano 93 PROGETTAZIONE CONCETTUALE DAI DATI OPERAZIONALI 3. Totale dei costi e dei ricavi per ogni modello venduto ad una certa data, per stabilimento e regione di produzione Vendite Settimana Modello 39 Prezzo QuantitàVenduta Costo Ricavo Sconto Anno Trimestre No No SCHEMA CONCETTUALE INIZIALE VENDITE Cliente Data 41 Progettazione di DW, A. Albano Figura 6.8 !/"(+#" !/"(+#(%& !"##$%& !"#$ )(*+,+--" ,#-."/"0(+#" ,#-."/"0(+#*%& !"##$%& !"#$ %$&$'"(" )(*+,+--" .$/0"(/12+&$ %+2(+#-3"* ,#-."/"0(+#*%& 1*&(//*%& 341(5+567+/0"(+2+&$ 8+9$&&"7+.+",*+(" 7151)(9 7"+((43&"+" ,#-."/"0(+#*%& 1*&(//*%& 43&"+(%& 560(3*7"+(:,$--";(+51,+" 341(5+56<,*+(151 =>"(5" 43&"+" 43&"+(%& !/"(+#(%& 86+#*:(+&"#-%& 7151 %+0"=0$*+-+"($ 42 Base di dati operazionale di riferimento 2. Specifica dei requisiti. Si considerano i requisiti di analisi di ogni processo per produrre una specifica delle analisi dei dati che evidenzia le dimensioni (tra parentesi gli attributi) e le misure interessanti, e si definisce le granularità dei fatti. 6.3 Come procedere c A. Albano ! 93 PROGETTAZIONE CONCETTUALE DAI DATI OPERAZIONALI Entità componenti per Inventario: 83*&*##" 83*&*##*%& 7$/>,+-+"($ C"5" Stabilimenti Modelli Entità componenti per LineeOrdini: ,#-."/"0(+#" ,#-."/"0(+#*%& !"##$%& !"#$ %$&$'"(" )(*+,+--" .$/0"(/12+&$ !"##$ !"##$%& !"#$ '()"*+(%& D '()"*+" '()"*+(%& !"#$ 1*&(//" 1*&(//*%& 83*&*##*%& =+?&1 7$/>,+-+"($ :,$--"@)(?,"//" :,$--"@7$551?&+" A"/5";(+51,+" =>"(512+&$ D Clienti Progettazione di DW, A. Albano Regioni D %+2(+#-3"* ,#-."/"0(+#*%& 1*&(//*%& 341(5+567+/0"(+2+&$ 8+9$&&"7+.+",*+(" 7151)(9 !*09*+(+#" 1*&(//" !*09*+(+#(%& 1*&(//*%& !4#$,"A"#0"($(5+ !*09*+(+#" !*09*+(+#(%& 7$/>,+-+"($ A"/5" Gerarchie: 7"+((43&"+" ,#-."/"0(+#*%& 1*&(//*%& 43&"+(%& 560(3*7"+(:,$--";(+51,+" 341(5+56<,*+(151 =>"(5" 86+#":(+&"#86+#*:(+&"#-%& !"##$%& )(*+,+--" %$&$'"(" !"#$.$/0"(/12+&$ !4#B**$55+ Citta -> Regione e quelle su Data 43&"+" 43&"+(%& !/"(+#(%& 86+#*:(+&"#-%& 7151 %+0"=0$*+-+"($ 43 Figura 6.8 1*&(//" 1*&(//*%& 83*&*##*%& =+?&1 7$/>,+-+"($ :,$--"@)(?,"//" :,$--"@7$551?&+" A"/5";(+51,+" =>"(512+&$ Prodotti !/"(+#" !/"(+#(%& !"##$%& !"#$ )(*+,+--" Data 83*&*##" 83*&*##*%& 7$/>,+-+"($ C"5" Città 7"+((43&"+" ,#-."/"0(+#*%& 1*&(//*%& 43&"+(%& 560(3*7"+(:,$--";(+51,+" 341(5+56<,*+(151 =>"(5" 86+#":(+&"#86+#*:(+&"#-%& !"##$%& )(*+,+--" %$&$'"(" !"#$.$/0"(/12+&$ !4#B**$55+ PuntiVendita Entità di %+2(+#-3"* ,#-."/"0(+#*%& 1*&(//*%& 341(5+567+/0"(+2+&$ 8+9$&&"7+.+",*+(" 7151)(9 93 ,#-."/"0(+#" ,#-."/"0(+#*%& !"##$%& !"#$ %$&$'"(" )(*+,+--" .$/0"(/12+&$ !"##$ !"##$%& !"#$ '()"*+(%& D '()"*+" '()"*+(%& !"#$ classificazione: !*09*+(+#" 1*&(//" !*09*+(+#(%& 1*&(//*%& !4#$,"A"#0"($(5+ !*09*+(+#" !*09*+(+#(%& 7$/>,+-+"($ A"/5" 6.3 Come procedere c A. Albano ! PROGETTAZIONE CONCETTUALE DAI DATI OPERAZIONALI Progettazione di DW, A. Albano Base di dati operazionale di riferimento Figura 6.8 2. Specifica dei requisiti. Si considerano i requisiti di analisi di ogni processo per produrre una specifica delle analisi dei dati che evidenzia le dimensioni (tra parentesi gli attributi) e le misure interessanti, e si definisce le granularità dei fatti. 43&"+" 43&"+(%& !/"(+#(%& 86+#*:(+&"#-%& 7151 %+0"=0$*+-+"($ !/"(+#" !/"(+#(%& !"##$%& !"#$ )(*+,+--" 44 Base di dati operazionale di riferimento 2. Specifica dei requisiti. Si considerano i requisiti di analisi di ogni processo per produrre una specifica delle analisi dei dati che evidenzia le dimensioni (tra parentesi gli attributi) e le misure interessanti, e si definisce le granularità dei fatti. SCHEMA CONCETTUALE FINALE VENDITE SCHEMA CONCETTUALE FINALE INVENTARIO Regione Stabilimento Regione Mese Stabilimento Mese Inventario Data Anno Cliente Trimestre QuantitàDisponibile LivelloRiordino Regione Settimana Città Modello Trimestre Prezzo QuantitàVenduta Costo Ricavo Sconto Regione Modello Inventario Modelli Data QuantitàDisponibile LivelloRiordino CostoUnitario Scontabile Mese Nome Stabilimenti PrezzoVDettaglio Modelli CostoUnitario Scontabile Anno Trimestre PrezzoUnitario QuantitàOrdinata Sconto Ricavo Settimana PuntiVendita Città Descrizione Trimestre Anno Data Vendite PrezzoVIngrosso INIZIALE PrezzoVIngrosso PrezzoVDettaglio Città Punto Vendita Stabilimenti INIZIALE FINALE Regione Settimana Mese FINALE Nome Anno Data Vendite Regione Clienti Settimana Descrizione Città Progettazione di DW, A. Albano 45 SCHEMA A STELLA INVENTARIO Progettazione di DW, A. Albano NomeCliente Regione 46 SCHEMA A STELLA VENDITE Regione Regione Città Città Nome Stabilimenti Nome Mese Stabilimenti PrezzoVIngrosso PrezzoVDettaglio CostoUnitario Inventario Modelli CostoUnitario Scontabile Data Mese QuantitàDisponibile LivelloRiordino Progettazione di DW, A. Albano Scontabile Settimana PuntiVendita Città Descrizione Regione Stabilimenti StabilimentoPK NomeStabilimento CittàStabilimento RegioneStabilimento Clienti Settimana Città Stabilimenti StabilimentoPK NomeStabilimento CittàStabilimento RegioneStabilimento Modelli ModelloPK PrezzoVIngrosso PrezzoVDettaglio CostoUnitario Scontabile Descrizione Trimestre PrezzoUnitario QuantitàOrdinata Sconto Ricavo Trimestre Descrizione Scelta delle PK Anno Modelli Anno Data Vendite PrezzoVIngrosso PrezzoVDettaglio Inventario ModelloFK DataFK StabilimentoFK QuantitàDisponibile LivelloRiordino NomeCliente Regione Data DataPK Settimana Mese Trimestre Anno 47 Progettazione di DW, A. Albano Modelli ModelloPK PrezzoVIngrosso PrezzoVDettaglio CostoUnitario Scontabile Descrizione PuntiVendita PuntoVenditaPK CittàPuntoVendita RegionePuntoVendita Vendite ModelloFK DataFK StabilimentoFK PuntoVenditaFK ClienteFK PrezzoUnitario QuantitàOrdinata Sconto Ricavo Data DataPK Settimana Mese Trimestre Anno Clienti ClientePK NomeCliente CittàCliente RegioneCliente 48 DATA WAREHOUSE Modelli ModelloPK PrezzoVIngrosso PrezzoVDettaglio CostoUnitario Scontabile Descrizione Stabilimenti StabilimentoPK NomeStabilimento CittàStabilimento RegioneStabilimento Modelli ModelloPK PrezzoVIngrosso PrezzoVDettaglio CostoUnitario Scontabile Descrizione Inventario ModelloFK DataFK StabilimentoFK QuantitàDisponibile LivelloRiordino Data DataPK Settimana Mese Trimestre Anno PuntiVendita PuntoVenditaPK CittàPuntoVendita RegionePuntoVendita Vendite ModelloFK DataFK StabilimentoFK PuntoVenditaFK ClienteFK PrezzoUnitario QuantitàOrdinata Sconto Ricavo Vendite ModelloFK DataFK StabilimentoFK PuntoVenditaFK ClienteFK PrezzoUnitario QuantitàOrdinata Sconto Ricavo Data DataPK Settimana Mese Trimestre Anno Clienti ClientePK NomeCliente CittàCliente RegioneCliente Progettazione di DW, A. Albano Data DataPK Settimana Mese Trimestre Anno Stabilimenti StabilimentoPK NomeStabilimento CittàStabilimento RegioneStabilimento Stabilimenti StabilimentoPK NomeStabilimento CittàStabilimento RegioneStabilimento Modelli ModelloPK PrezzoVIngrosso PrezzoVDettaglio CostoUnitario Scontabile Descrizione Inventario ModelloFK DataFK StabilimentoFK QuantitàDisponibile LivelloRiordino PuntiVendita PuntoVenditaPK CittàPuntoVendita RegionePuntoVendita Clienti ClientePK NomeCliente CittàCliente RegioneCliente 49