Il Sistema ideale DB DBMS Una sola base di Dati

Slides:



Advertisements
Presentazioni simili
Dall’OLTP all’OLAP La tecnologia delle basi di dati è finalizzata prevalentemente alla gestione dei dati in “linea”, si parla di OnLine Transaction Processing.
Advertisements

Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Introduzione alla tecnologia OLAP: Microsoft SQL Analisys Services
Introduzione al datawarehouse
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Esercizio zSi vuole realizzare un data warehouse per una azienda che vende mobili allingrosso. zIl data warehouse deve permettere di analizzare i ricavi.
Biglietti e Ritardi: schema E/R
Obiettivo della tesi Percorso
Data warehousing con SQL Server
Biglietti e Ritardi: schema E/R
Biglietti: schema E/R.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
ANALISI DEI DATI OLAP (On Line Analytical Processing) Data Warehousing Data Mining.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Basi di Dati prof. A. Longheu
4 – Progettazione – Introduzione e Modello E-R
SQL Dati i seguenti schemi relazionali:
19/01/2014 Viste. 19/01/2014 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni.
Luglio 2004Memorie Tradizionali1 MEMORIE TRADIZIONALI Luglio 2004.
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
L’uso dei database in azienda
ON LINE ANALYTICAL TRANSACTION PROCESSING (OLAP)
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Tipo Documento: unità didattica 4 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
IL PATRIMONIO DI DATI - LE BASI DI DATI. Il patrimonio dei dati Il valore del patrimonio di dati: –Capacità di rispondere alle esigenze informative di.
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Fogli elettronici - Spreadsheet
Fogli di Calcolo Elettronici Corso di Informatica Generale per SMID a.a. 2002/03 docente: Giorgio Delzanno (DISI)
Fondamenti di Informatica1 Ripetizioni di segmenti di codice Spesso è necessario ripetere più volte uno stesso segmento dell'algoritmo (e.g. I/O, elaborazioni.
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Modello E-R Generalizzazioni
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Daniel Stoilov Tesi di Laurea
Basi di dati Claudia Raibulet
Esercitazione su Analisi OLAP
MODELLO LOGICO DEI DATI
Introduzione a Oracle 9i
Basi di Dati e Sistemi Informativi
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
DATABASE Introduzione
1 Data warehousing con SQL Server SQL Server è un RDBMS (Relational DataBase Management System) Analysis Services è un componente di SQL Server che offre.
I DATABASE.
Cloud SIA V anno. Introduzione ai Data Warehouse.
Tipo Documento: unità didattica 4 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
SCHEDA INFORMATIVA DI UNITÀ
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
Raggruppamento in SQL Esempio di raggruppamento
Archivi Esempi Movimenti contabili di un’azienda
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Basi di dati distribuite Prof. M.T. PAZIENZA a.a
Le parti del Sistema Informativo Aziendale
Vincoli interrelazionali
Raggruppamenti e target list scorretta select padre, avg(f.reddito), p.reddito from persone f join paternita on figlio = nome join persone p on padre =
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
Business Intelligence
Approfondimenti SQL.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Le basi di dati.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
Laurea Magistrale in Informatica Architetture basi di dati A.A Docente: Prof. Carlo Batini Proprieta’ e caratteristiche strutturali dei sistemi.
Data warehouse(B.2.8) Nei database ci sono molti dati di tipo diverso e ciascuna tipologia di dato può avere un formato diverso. Alcuni provengono da legacy.
Transcript della presentazione:

ANALISI DEI DATI OLAP (On Line Analytical Processing) Data Warehousing Data Mining

Il Sistema ideale DB DBMS Una sola base di Dati A n A 2 Una sola base di Dati Una sola interfaccia di comunicazione sia verso il DB che verso le applicazioni

La situazione reale Non esiste una situazione stazionaria C’è una continua evoluzione dei parametri che influenzano la realizzazione e la vita di un DB: Esigenze Strutture Tempi di realizzazione Non esiste un’unica base di dati all’interno di una stessa organizzazione. Soluzioni: Eterogenee Distribuite Autonome

Sistemi OLTP e OLAP (1) OLTP (On Line Transaction Processing) Sistemi per la gestione dei dati Utilizzo di un set di operazioni ben definito Bassa complessità delle operazioni Le operazioni coinvolgono una piccola quantità di dati Continuo aggiornamento dei dati Generalmente viene utilizzato lo “stato corrente” di un’applicazione Devono essere rispettate le proprietà ACIDe (atomicità, correttezza, isolamento, durabilità) delle transazioni

Sistemi OLTP e OLAP (2) OLAP (On Line Analytical Processing): Sistemi per l’analisi dei dati Permettono di eseguire operazioni non previste nella progettazione del DB (sistemi di supporto alle decisioni) Operano su grosse moli di dati I dati sono “statici” (usualmente si utilizzano dati storici) Operano su dati provenienti da più fonti eterogenee Le proprietà ACIDe non sono rilevanti perché le operazioni sono di sola lettura

Sistemi OLTP e OLAP (3) OLAP (On Line Analytical Processing): Sistemi per l’analisi dei dati Permettono di eseguire operazioni non previste nella progettazione del DB (sistemi di supporto alle decisioni) Operano su grosse moli di dati I dati sono “statici” (usualmente si utilizzano dati storici) Operano su dati provenienti da più fonti eterogenee Le proprietà ACIDe non sono rilevanti perché le operazioni sono di sola lettura OLTP (On Line Transaction Processing) Sistemi per la gestione dei dati Utilizzo di un set di operazioni ben definito Bassa complessità delle operazioni Le operazioni coinvolgono una piccola quantità di dati Continuo aggiornamento dei dati Generalmente viene utilizzato lo “stato corrente” di un’applicazione Devono essere rispettate le proprietà ACIDe (atomicità, correttezza, isolamento, durabilità) delle transazioni

Sistemi OLTP e OLAP (4) DB DW OLTP OLAP DWMS analisti terminalisti Terminalisti: utenti finali. Possono eseguire operazioni di lettura e di scrittura Analisti: Pochi utenti, occupano posizioni di alto livello nell’impresa e svolgono attività di supporto alle decisioni.

Data warehouse Utilizzano dati provenienti da più DB I meccanismi di importazione sono di tipo asincrono e periodico In tal modo non vengono penalizzate le prestazioni delle data source La warehouse non contiene dati perfettamente allineati con il flusso di transazioni negli OLTP Problema legato alla qualità dei dati: La semplice raccolta di dati può non essere sufficiente per una corretta analisi perché i dati possono contenere inesattezze, errori, omissioni

Architettura della DW (1) Export dei dati Data mining Accesso ai Dati DW Allineamento dei Dati (refresh) Acquisizione dei Dati Export Export Export Data Filter Data Filter Data Filter Data Source Data Source Data Source

Architettura della DW (2) Data Source Sorgenti dei dati per la DW. Possono essere di qualsiasi tipo, anche non gestite tramite DBMS oppure gestite da DBMS di vecchia generazione (legacy system). Controlla la correttezza dei dati prima dell’inserimento nella warehouse. Può eliminare dati scorretti e rilevare o correggere eventuali inconsistenze tra dati provenienti da molteplici data source. Viene fatta la pulizia dei dati necessaria ad assicurare un buon livello di qualità. Data Filter Export L’esportazione dei dati avviene in maniera incrementale: il sistema di esportazione colleziona solo le modifiche delle data source

Architettura della DW (3) Acquisizione dei Dati E’ responsabile del caricamento iniziale dei dati nella DW. Predispone i dati all’uso operativo, svolge operazioni di ordinamento, aggregazione e costruisce le strutture dati della warehouse. In applicazioni con pochi dati il modulo è invocato periodicamente per acquisire tutto il contenuto della DW In genere,invece, i dati vengono allineati in modo incrementale, con il modulo successivo Allineamento dei Dati (refresh) Propaga incrementalmente le modifiche della data source in modo da aggiornare il contenuto della DW. L’aggiornamento può essere effettuato tramite l’invio dei dati o l’invio delle transazioni. Nel primo caso all’interno delle data source vengono inseriti dei trigger che registrano cancellazioni, inserimenti e modifiche(coppie inserimento-cancellazione) in archivi variazionali. Nel secondo caso viene usato il log delle transazioni per costruire gli archivi variazionali.

Architettura della DW (4) Accesso ai Dati E’ il modulo che si occupa dell’analisi dei dati. Realizza in maniera efficiente interrogazioni complesse caratterizzate da join tra tabelle, ordinamenti e aggregazioni complesse. Consente nuove operazioni come roll up, drill down e data cube. Data mining Consente di svolgere ricerche sofisticate sui dati e di esplicitare relazioni “nascoste” tra i dati. Export dei dati Consente l’esportazione dei dati da una DW ad un’altra. Architettura gerarchica.

Schema di una DW Ci si concentra su sottoinsiemi molto semplici dei dati aziendali che si vogliono analizzare (dati dipartimentali). Ogni schema elementare prende il nome di data mart. L’organizzazione dei dati di un data mart avviene secondo uno schema multidimensionale o schema a stella.

Schema a stella (1) prodotto Unità centrale rappresenta i fatti (0,N) (1,1) supermercato (0,N) (1,1) Vendita (1,1) (0,N) promozione (1,1) (0,N) Diverse unità poste a raggiera intorno ai fatti rappresentano le dimensioni tempo

Schema a stella (2) Varie relazioni uno a molti collegano ciascuna occorrenza di fatto con una ed una sola occorrenza di ciascuna delle dimensioni. La struttura regolare è indipendente dal problema considerato. (occorrono almeno due dimensioni altrimenti il problema degenera in una semplice gerarchia uno-molti) Un numero elevato di dimensioni è sconsigliato perché la gestione dei fatti e l’analisi si complicano.

Schema a stella: esempio (1) Ciascuna occorrenza di vendita ha per identificatore i quattro codici: CodProd CodMarket CodPromo CodTempo Gli attributi non chiave sono Amm e Qta. Prodotto: CodProd Nome Categoria Marca Peso Fornitore (0,N) Promozione: CodPromo Nome Tipo Percentuale FlagCoupon DataInizio DataFina Costo Agenzia (1,1) Supermercato: CodMarket Nome Città Regione Zona Dimensioni Vendita Amm Qta (1,1) (0,N) (1,1) (0,N) (1,1) (0,N) Tempo: CodTempo GiornoSett GiornoMese GiornoAnno SettimanaMese SettimanaAnno

Schema a stella: esempio (2) Nella dimensione del tempo sono presenti dati derivati e ridondanze. Le ridondanze servono per facilitare le operazioni di analisi dei dati. I fatti sono in forma normale di Boyce-Codd in quanto ogni attributo non chiave dipende funzionalmente dalla sua unica chiave. Le dimensioni sono in genere relazioni non normalizzate.

Schema a fiocco di neve (0,N) (1,1) Evoluzione dello schema a stella, introdotta per strutturare gerarchicamente le dimensioni non normalizzate Fornitore Prodotto (1,1) (0,N) Categoria (0,N) (1,1) (0,N) Vendita Supermercato (1,1) (0,N) Promozione (1,1) (1,1) (0,N) (0,N) Tempo Città (1,1) (1,1) (0,N) (0,N) Giorno Regione

ANALISI DEI DATI: OPERAZIONI Interfaccia standard di formulazione delle query Drill down e Roll up Data Cube

INTERFACCIA STANDARD DI FORMULAZIONE DELLE QUERY(1) L’analisi dei dati di un data mart organizzato a stella richiede l’estrazione di un sottoinsieme dei fatti e delle dimensioni Le dimensioni vengono usate per selezionare i dati e per raggrupparli I fatti vengono tipicamente aggregati Il tutto avviene in base agli interessi degli analisti.

INTERFACCIA STANDARD DI FORMULAZIONE DELLE QUERY(2) Promozione.Nome Prodotto.Nome Tempo.Mese Qta Amm 3x2 Coupon 15% SuperSaver Vino Pasta Olio Gen … Dic Pasta … Olio Feb … Apr sum Schema Opzioni Condizioni Vista Attributi delle dimensioni: Promozione Prodotto Tempo Attributi dei Fatti: Aggregati (SUM)

INTERFACCIA STANDARD DI FORMULAZIONE DELLE QUERY(3) Promozione.Nome Prodotto.Nome Tempo.Mese Qta Amm 3x2 Coupon 15% SuperSaver Vino Pasta Olio Gen … Dic Pasta … Olio Feb … Apr sum Schema Opzioni Condizioni Vista select Tempo.Mese, Prodotto.Nome, sum(Amm), sum(Qta) from Vendite, Tempo, Prodotto where Vendite.CodTempo = Tempo.CodTempo and Vendite.CodProdotto = Prodotto.CodProdotto and (Prodotto.Nome = ‘Pasta’ or Prodotto.Nome = ‘Olio’) and Tempo.Mese between ‘Feb’ and ‘Apr’ and Promozione.Nome = ‘SuperSaver’ group by Tempo.Mese, Prodotto.Nome order by Tempo.Mese, Prodotto.Nome Tempo.mese Prodotto.nome sum(Amm) sum(Qta)

DRILL DOWN E ROLL UP(1) Il drill down permette di aggiungere una dimensione di analisi disaggregando i dati. Il roll up dualmente consente di eliminare una dimensione di analisi. Alternando operazioni di drill down e roll up l’analista può evidenziare la dipendenza dei fenomeni rappresentati nei fatti dai fatti delle varie dimensioni. L’operazione di roll up può essere fatta agendo sui risultati dell’interrogazione, quella di drill down richiede la riformulazione dell’interrogazione(servono dati non presenti nell’interrogazione).

DRILL DOWN E ROLL UP(2) Esempio: somma delle quantità vendute di pasta Zona Prodotto.Nome Sum(Qta) Nord Pasta 54 Kg Centro 50 Kg Sud 43Kg Tempo.mese Prodotto.Nome Sum(Qta) Feb Pasta 46 Kg Mar 50 Kg Apr 51 Kg Esempio: somma delle quantità vendute di pasta Tempo.mese Prodotto.Nome Zona Sum(Qta) Feb Pasta Nord 18 Centro 15 Sud 13 Mar 14 Apr 17 sud 16

DATA CUBE (1) L’operatore data cube permette di svolgere tutte le possibili aggregazioni presenti in una tabella estratta per l’analisi. Il valore polimorfo ALL(presente in tutti i domini e corrispondente all’insieme di tutti i possibili valori presenti nel dominio) viene usato per rappresentare l’aggregazione Marca Anno Colore Vendite Ferrari 1998 rosso 50 1999 85 Porsche 80 select Marca, Anno, Colore, sum(Vendite) from Vendite where (Marca = ‘Ferrari’ or Marca = ‘Porsche’) and Colore = ‘Rosso’ and Anno between 1998 and 1999 group by Marca, Anno, Colore with cube

DATA CUBE (2) Marca Anno Colore Sum(vendite) Ferrari 1998 Rosso 50 1999 85 ALL 135 Porsche 80 130 215 DATA CUBE (2) 1999 rosso 1998 ALL Ferrari Porsche

DATA CUBE (3) I punti dello spazio rappresentano le possibili tuple. I tre piani cartesiani rappresentano le aggregazioni su una sola dimensione. Gli assi cartesiani rappresentano le aggregazioni su due dimensioni. L’origine degli assi cartesiani rappresenta l’aggregazione di tutte e tre le dimensioni.

DATA CUBE (4) La complessità della valutazione del data cube cresce in modo combinatorio col crescere del numero degli attributi di raggruppamento. Per risolvere il problema è stata introdotta una nuova estensione di SQL (che la clausola with roll up), in cui le aggregazioni sono progressive. Marca Anno Colore Sum(vendite) Ferrari 1998 Rosso 50 1999 85 Porsche 80 ALL 135 select Marca, Anno, Colore, sum(Vendite) from Vendite where (Marca = ‘Ferrari’ or Marca = ‘Porsche’) and Colore = ‘Rosso’ and Anno between 1998 and 1999 with roll up

Data mining Ricerca di informazioni nascoste all’interno delle DW. Classici esempi sono quelli per le analisi di mercato, per l’individuazione di oggetti acquisiti assieme o in sequenza.

Il processo di data mining: Fasi Comprensione del dominio. Preparazione sul set di dati. Individuazione di un sottoinsieme dei dati della DW su cui effettuare il mining. Scoperta dei pattern. Ricerca e individuazione di pattern ripetitivi tra i dati. Valutazione dei pattern. Trarre implicazioni applicative dai pattern trovati. Valutazione degli esperimenti da compiere successivamente. Utilizzo dei risultati. Prendere decisioni operative a seguito del processo di data mining.

Problemi di data mining (1) Regole di associazione. Scoprire associazioni ti tipo causa-effetto. Pannolini → Birra e’ possibile definire in modo preciso le probabilità relative alle regole di associazione. supporto: probabilità che in una osservazione sia presente sia la premessa che la conseguenza di una regola. confidenza: probabilità che in una osservazione sia presente la conseguenza di una regola essendo già presente la premessa.

Problemi di data mining (2) Discretizzazione: viene rappresentato un intervallo continuo di valori tramite pochi valori discreti (es. alto, basso, medio) per preparare i dati. Classificazione: catalogazione di un fenomeno in una classe predefinita. Fa uso di algoritmi di classificazione (es. alberi decisionali)