Basi di Dati Direzionali Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 9 Appunti dalle lezioni SQL come DDL Sistemi informativi e basi di dati La Progettazione Concettuale SQL come DML Il modello relazionale La Progettazione Logica SQL come DCL Utilizzo di un DBMS Reale La Progettazione Fisica Strumenti CASE Forme normali Programmazione Transazioni e tecnologie di supporto Basi di dati direzionali Basi di dati distribuite Le Basi Dati Direzionali 1
Motivazioni I sistemi informatici permettono di aumentare la produttività delle organizzazioni automatizzandone la gestione operativa quotidiana. Questi dati possono essere utilizzati per la pianificazione e il supporto alle decisioni se opportunamente accumulati e analizzati. Una corretta gestione dei dati storici può cioè essere occasione di un grande vantaggio competitivo. Le Basi Dati Direzionali 2 SISTEMI INFORMATIVI DIREZIONALI Il livello operativo Si occupa delle attività attraverso cui l azienda produce i propri servizi e prodotti. Il livello direzionale Si occupa di quelle attività necessarie alla definizione degli obiettivi da raggiungere ed alle strategie da intraprendere per perseguirli. Le Basi Dati Direzionali 3
Piramide di Anthony Pianificazione strategica Determina gli obiettivi generali dell azienda. Controllo direzionale Definisce traguardi economici ovvero risultati da conseguire a medio termine e loro verifica. Controllo operativo Assicura che le attività dei processi aziendali procedano nel modo prefissato. Le Basi Dati Direzionali 4 Sistemi di supporto alle decisioni DSS Supportano la dirigenza aziendale nel prendere decisioni tattico-strategiche In maniera efficace e veloce Ma su quali dati? Quelli accumulati per i processi operativi e gestionali Nei Transaction Processing Systems: OLTP: On-Line Transaction Processing Nei Decision Support Systems: OLAP: On-Line Analytical Processing Le Basi Dati Direzionali 5
OLTP Tradizionale elaborazione di transazioni che realizzano i processi operativi dell azienda. Caratterizzati da: Operazioni predefinite, brevi e relativamente semplici. Ogni operazione coinvolge pochi dati. Dati di dettaglio, aggiornati. Acidità delle transazioni essenziale. Le Basi Dati Direzionali 6 OLAP Elaborazione di operazioni per il supporto alle decisioni Caratterizzati da: Operazioni complesse e casuali. Ogni operazione può coinvolgere molti dati. Dati aggregati, storici, anche non attualissimi. Le proprietà acide non sono rilevanti, perché le operazioni sono di sola lettura. Le Basi Dati Direzionali 7
OLTP vs. OLAP OLTP OLAP Utente impiegato dirigente Funzione operazioni giornaliere supporto alle decisioni Progettazione orientata all'applicazione orientata ai dati Dati correnti, aggiornati, dettagliati, relazionali, omogenei storici, aggregati, multidimensionali, eterogenei Uso ripetitivo casuale Accesso read-write, indicizzato read, sequenziale Unità di lavoro transazione breve interrogazione complessa Record acc. decine milioni N. utenti migliaia centinaia Dimensione 100MB - 1GB 100GB - 1TB Metrica throughput tempo di risposta Le Basi Dati Direzionali 8 OLTP vs. OLAP I requisiti sono quindi contrastanti Le applicazioni dei due tipi possono danneggiarsi a vicenda OLTP Base di dati OLAP Data Warehouse APPLICAZIONE OLTP APPLICAZIONE OLAP UTENTI FINALI (Transazioni) ANALISTI (Query complesse) Le Basi Dati Direzionali 9
Dettagli dell architettura dei SID Data WareHouse Le Basi Dati Direzionali 10 Data warehouse Una base di dati Utilizzata principalmente per il supporto alle decisioni direzionali Integrata Dati dipendenti dal tempo e aggregati Non volatile e fuori linea i dati sono aggiornati periodicamente mantenuta separatamente dalle basi di dati operazionali Orientata ai soggetti Le Basi Dati Direzionali 11
Integrata I dati di interesse provengono da varie sorgenti informative ciascun dato proviene da una o più di esse Il data warehouse rappresenta i dati in modo univoco riconciliando le eterogeneità dalle diverse rappresentazioni nomi struttura codifica rappresentazione multipla. Le Basi Dati Direzionali 12 Dati storici Le basi di dati operazionali mantengono il valore corrente delle informazioni L orizzonte temporale di interesse è dell ordine dei pochi mesi Nel data warehouse è di interesse l evoluzione storica delle informazioni L orizzonte temporale di interesse è dell ordine degli anni Le Basi Dati Direzionali 13
Dati aggregati Nelle attività di analisi dei dati per il supporto alle decisioni non interessa chi ma quanti non interessa un dato ma la somma, la media, il minimo e il massimo, di un insieme di dati Le operazioni di aggregazione sono quindi fondamentali nel warehousing e nella costruzione/mantenimento di un data warehouse. Le Basi Dati Direzionali 14 Fuori linea In una base di dati operazionale, i dati vengono acceduti inseriti modificati cancellati pochi record alla volta Nel data warehouse, abbiamo operazioni di accesso e interrogazione diurne operazioni di caricamento e aggiornamento dei dati notturne che riguardano milioni di record Le Basi Dati Direzionali 15
Una base di dati separata Diversi motivi: non esiste un unica base di dati operazionale che contiene tutti i dati di interesse la base di dati deve essere integrata non è tecnicamente possibile fare l integrazione in linea i dati di interesse sarebbero comunque diversi devono essere mantenuti dati storici e aggregati l analisi dei dati richiede per i dati organizzazioni speciali e metodi di accesso specifici degrado generale delle prestazioni senza la separazione Le Basi Dati Direzionali 16 Orientata i soggetti Basi dati per OLTP: hanno un orientamento processivo / funzionale. DW: Non danno informazioni di supporto alle operazioni aziendali ma sono orientati ai soggetti dell analisi. Le Basi Dati Direzionali 17
Architettura Sorgenti esterne Metadati Analisi multidimensionale Basi di dati operazionali Data Warehouse Data mining Sorgenti dei dati Strumenti di analisi Le Basi Dati Direzionali 18 Sorgenti informative I sistemi operazionali dell organizzazione sono sistemi transazionali (OLTP) orientati alla gestione dei processi operazionali non mantengono dati storici ogni sistema gestisce uno o più soggetti (ad esempio, prodotti o clienti) sono spesso sistemi legacy Sorgenti esterne ad esempio, dati forniti da società specializzate di analisi Le Basi Dati Direzionali 19
Alimentazione del data warehouse ETL: Extract, Transform, Load Attività necessarie ad alimentare un DW Estrazione accesso ai dati nelle sorgenti Transform Pulizia rilevazione e correzione di errori e inconsistenze nei dati estratti Trasformazione trasformazione di formato, correlazione con oggetti in sorgenti diverse Caricamento con introduzione di informazioni temporali e generazione dei dati aggregati Le Basi Dati Direzionali 20 Metadati I metadati sono informazioni utili all attività di ETL "Dati sui dati": descrizioni logiche e fisiche dei dati (nelle sorgenti e nel DW) corrispondenze e trasformazioni dati quantitativi Spesso sono immersi nei programmi Le Basi Dati Direzionali 21
Data Warehouse Server Sistema dedicato alla gestione warehouse Può basarsi su due tecnologie principali MOLAP I dati sono memorizzati in forma multidimensionale tramite speciali strutture dati tipicamente proprietarie ROLAP I dati sono memorizzati in DBMS relazionali (schemi a stella) I produttori di RDBMS stanno iniziando a fornire estensioni OLAP ai loro prodotti Le Basi Dati Direzionali 22 Strumenti di analisi Consentono di effettuare analisi dei dati utilizzando il Data Warehouse server offrono interfacce amichevoli per presentare, in forma adeguata e facilmente comprensibile, i risultati delle analisi Due principali tipologie di analisi (e quindi di strumenti) Analisi multidimensionale Data mining Le Basi Dati Direzionali 23
Architettura Sorgenti esterne Metadati Analisi dimensionale Basi di dati operazionali Sorgenti dei dati Data Warehouse Data Mart Data mining Strumenti di analisi Le Basi Dati Direzionali 24 Data mart Un sottoinsieme logico dell intero data warehouse un data mart è la restrizione del data warehouse a un singolo problema di analisi un data warehouse è l unione di tutti i suoi data mart un data mart rappresenta un progetto fattibile la realizzazione diretta di un data warehouse completo non è invece solitamente fattibile Le Basi Dati Direzionali 25
Variante dell architettura Metadati Sorgenti esterne Analisi dimensionale Basi di dati operazionali Data mining Sorgenti dei dati Data Mart Strumenti di analisi Le Basi Dati Direzionali 26 MOLAP Articolo Quantità Milano-2 Milano-1 Roma-2 Roma-1 1 trim. 20 2 trim. 20 3 trim. 20 4 trim. 20 Luogo Lettori DVD Televisori Lettori CD Videoregistratori Tempo Le Basi Dati Direzionali 27
Dimensioni e gerarchie di livelli regione anno provincia categoria marca trimestre città negozio prodotto mese giorno Luogo Articolo Tempo Le Basi Dati Direzionali 28 MOLAP: Slice and dice Seleziona e taglia Il manager regionale esamina la vendita dei prodotti in tutti i periodi relativamente ai propri mercati Il manager finanziario esamina la vendita dei prodotti in tutti i mercati relativamente al periodo corrente e quello precedente Luogo Articolo Tempo Le Basi Dati Direzionali 29
MOLAP: Slice and dice Seleziona e taglia Il manager di prodotto esamina la vendita di un prodotto in tutti i periodi e in tutti i mercati Il manager strategico si concentra su una categoria di prodotti, una area e un orizzonte temporale. Luogo Articolo Tempo Le Basi Dati Direzionali 30 Risultato di slice and dice LETTORI DVD Roma-1 1 trim. 38 2 trim. 91 3 trim. 66 4 trim. 198 Roma-2 155 219 248 265 Milano-1 121 273 266 326 Milano-2 222 122 155 200 Le Basi Dati Direzionali 31
... e poi di roll-up LETTORI DVD Roma 1 trim. 193 2 trim. 310 3 trim. 314 4 trim. 463 Milano 343 395 421 526 Le Basi Dati Direzionali 32 Risultato di roll-up Per tutti i negozi 1 trim. 2 trim. 3 trim. 4 trim. Lettori DVD 536 705 735 989 Televisori 567 716 606 717 Lettori CD 187 155 186 226 Videoregistratori 175 191 202 319 Le Basi Dati Direzionali 33
... e poi drill - down Per tutti i negozi Gen Feb Mar Apr Mag Giu Lettori DVD 165 178 193 205 244 256 Televisori 154 201 212 245 255 216 Lettori CD 54 88 45 24 65 66 Videoregistratori 56 64 55 52 64 75 Le Basi Dati Direzionali 34 Visualizzazione dei dati I dati vengono infine visualizzati in veste grafica, in maniera da essere facilmente comprensibili. Si fa uso di: tabelle istogrammi grafici torte superfici 3D bolle Le Basi Dati Direzionali 35
Visualizzazione finale di un analisi 1000 900 800 700 600 500 400 300 200 100 4 trim.20 3 trim.20 0 2 trim.20 Lettori DVD Televisori Lettori CD Videoregistratori 1 trim.20 Le Basi Dati Direzionali 36 Implementazione MOLAP I dati sono memorizzati direttamente in un formato dimensionale (proprietario). Le gerarchie sui livelli sono codificate in indici di accesso alle matrici Le Basi Dati Direzionali 37
ROLAP Uno schema dimensionale (schema a stella) è composto da Una tabella principale, chiamata tabella dei fatti: Memorizza i fatti e le sue misure Le misure più comuni sono numeriche, continue e additive Varie tabelle ausiliarie, chiamate tabelle dimensione una tabella dimensione rappresenta una dimensione rispetto alla quale è interessante analizzare i fatti Memorizza i membri delle dimensioni ai vari livelli Gli attributi sono solitamente testuali, discreti e descrittivi Le Basi Dati Direzionali 38 Schema a stella Tempo CodiceTempo Giorno Mese Trimestre Anno Luogo CodiceLuogo Negozio Indirizzo Città Provincia Regione Vendite CodiceTempo CodiceLuogo CodiceArticolo CodiceCliente Quantità Incasso Articolo CodiceArticolo Descrizione Marca CodiceCategoria Categoria Cliente CodiceCliente Nome Cognome Sesso Età Professione Le Basi Dati Direzionali 39
Una possibile istanza Le Basi Dati Direzionali 40 Caratteristiche Una tabella dimensione memorizza i membri di una dimensione la chiave primaria è semplice gli altri campi memorizzano i livelli della dimensione tipicamente denormalizzata La tabella fatti memorizza le misure (fatti) di un processo la chiave è composta da riferimenti alle chiavi di tabelle dimensione gli altri campi rappresentano le misure è in BCNF Le Basi Dati Direzionali 41
Schema a fiocco di neve Provincia CodiceProv Regione Regione CodiceReg Città CodiceCittà Provincia Luogo CodiceLuogo Negozio Indirizzo Città Vendite CodiceTempo CodiceLuogo CodiceArticolo CodiceCliente Quantità Incasso Le Basi Dati Direzionali 42 Interrogazioni Le interrogazione assumono solitamente il seguente formato standard SELECT D1.L1,.., Dn.Ln, Aggr1(F.M1),.., Aggrk(F.Ml) FROM Fatti as F, Dimensione1 as D1,.., DimensioneN as Dn WHERE Join-predicate(F,D1) and.. and Join-predicate(F,Dn) and selection-predicate GROUP BY D1.L1,..., Dn.Ln ORDER BY D1.L1,..., Dn.Ln Le Basi Dati Direzionali 43
Cube SELECT Citta, Categoria, count(quantita)as VenditeCC FROM Vendite as V, Articolo as A, Luogo as L WHERE V.CodiceArticolo = A.CodiceArticolo and V.CodiceLuogo = L.CodiceLuogo GROUP BY CUBE(Citta, Categoria) Le Basi Dati Direzionali 44 Roll Up SELECT Citta, Categoria, count(quantita) as VenditeCC FROM Vendite as V, Articolo as A, Luogo as L WHERE V.CodiceArticolo = A.CodiceArticolo and V.CodiceLuogo = L.CodiceLuogo GROUP BY ROLLUP(Citta, Categoria) Le Basi Dati Direzionali 45
Progettazione Esigenze OLAP Dati OLTP Altre sorgenti Selezione delle sorgenti informative Traduzione in modello E/R operativo Integrazione degli schemi E/R operativi Identificazione dello schema portante della DWH Progettazione concettuale globale della DWH Progettazione logica Progettazione fisica Le Basi Dati Direzionali 46 Statistiche vendite farmaci Il Ministero della Salute ha commissionato la progettazione di un Data Warehouse per effettuare analisi e statistiche circa le vendite di farmaci da parte delle varie farmacie italiane. In particolare si vogliono analizzare le statistiche relative alle tipologie di farmaci venduti suddivisi per area geografica e orizzonte temporale, nonché semplici statistiche sull utenza consumatrice. Le Basi Dati Direzionali 47
Sorgenti informative La prima fase nella progettazione del DWH consiste nell individuazione e analisi delle sorgenti informative contenenti i dati operazionali da analizzare. Da un colloquio con il committente, si evince che ogni farmacia utilizza una base di dati operazionale per la gestione delle vendite dei farmaci implementata attraverso un apposito DBMS relazionale. Le Basi Dati Direzionali 48 Base dati operativa PRODOTTI (Cod, Nome, Ditta, Prezzo, Scorte ) FORNITORI (Nome, Indirizzo, Città, Tel ) FORNITURE (NomeFornitore:FORNITORI, CodProdotto:PRODOTTI) CLIENTI (CF, Tessera, Nome, Cognome, Età, Indirizzo, Tel ) FATTURE (Numero, Data, Totale, CFCliente:CLIENTI) VENDITE (NumFattura:FATTURE, CodProdotto:PRODOTTI, Qta) FARMACI (Cod, Nome, Tipo, Descrizione, Nota CUF, Classe, CodProdottto:PRODOTTI) FORME(Cod, Nome, Dose) COMPOSIZIONI(CodFarmaco:FARMACI, CodForma:FORME) RICETTE(Sigla, Descrizione ) ASSOCIAZIONI(CodFarmaco:FARMACI, SiglaRicetta:RICETTE) Le Basi Dati Direzionali 49
Schema E/R Dall analisi di tale schema logico, seguendo poi un semplice processo di reverse engineering, è possibile individuare lo schema E/R di riferimento (uguale per le varie sorgenti informative). Le Basi Dati Direzionali 50 Schema E/R della base dati operativa Le Basi Dati Direzionali 51
Derivazione di uno schema concettuale portante della DWH Per la progettazione del DWH si identificano in prima istanza le seguenti informazioni direzionali : Vendite/Fatture, Prodotti/Farmaci, Clienti. Prodotti/Farmaci Vendite/Fatture Clienti Le Basi Dati Direzionali 52 Con fatti misure e dimensioni Lo schema concettuale indica che i prodotti di una farmacia (un tipo di farmaco) sono venduti con apposita fattura ai clienti, di cui la farmacia stessa possiede i dati anagrafici. Da tale schema emergono nel contempo: il fatto principale, ovvero la vendita dei farmaci ; le misure, ovvero il prezzo dei farmaci e la quantità venduta ; alcune delle dimensioni dell analisi, ovvero i prodotti e i clienti. Le Basi Dati Direzionali 53
Integrazione degli schemi concettuali Nell ipotesi che le farmacie utilizzano tutte lo stesso schema logico dei dati, sarà semplice effettuare le operazioni di integrazione dei dati nella base di dati direzionale, e, quindi il modello concettuale definito precedentemente, può essere considerato come il punto di partenza per l implementazione del DWH. Le Basi Dati Direzionali 54 Progettazione logica In questa fase si deriva lo schema multi dimensionale individuando ulteriori dimensioni di analisi: il tempo (in termini di giorno, mese, trimestre e anno) e area geografica (in termini della città, provincia e regione della farmacia che ha effettuato la vendita) in cui sono state registrate le vendite. Le Basi Dati Direzionali 55
Progettazione fisica Nella fase di progettazione fisica si determina lo schema relazionale a stella e, per consentire un buon livello di aggregazione delle informazioni, si decide di normalizzare la sola collocazione geografica delle farmacie ottenendosi uno schema relazionale a stella del tipo a fiocco di neve. Le Basi Dati Direzionali 56 Lo schema a fiocco di neve Le Basi Dati Direzionali 57
Gestione dei dati Su tale DW è poi possibile effettuare in maniera semplice interrogazioni come: selezione del farmaco più venduto in Campania. determinazione dell età media dei consumatori di un assegnato farmaco. I clienti di una specifica farmacia. Infine vanno pianificate apposite procedure di refreshing per aggiornare il contenuto del data warehouse ad intervalli di tempo prefissati. Le Basi Dati Direzionali 58