1 L'ambiente del Data Warehouse

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "1 L'ambiente del Data Warehouse"

Transcript

1 1 L'ambiente del Data Warehouse Lo scenario attuale nelle aziende di medie e grandi dimensioni è rappresentato da un buon livello di "meccanizzazione" delle attività di routine della gestione aziendale (ciclo passivo: acquisti, contabilità fornitori, pianificazione e controllo delle forniture; ciclo attivo: fatturazione, gestione del credito, contabilità clienti). Questo, se ha portato uno sgravio nel lavoro quotidiano degli impiegati, di fatto non ha rappresentato un reale vantaggio competitivo per l'azienda, la quale deve sempre essere in grado di analizzare dinamicamente il mercato per capirne i meccanismi e prevederne gli andamenti. Sempre di più quindi i manager, nella loro attività decisionale, hanno necessità di accedere in maniera tempestiva a informazioni di sintesi e di analisi dei dati prodotti dai sistemi gestionali. La conseguenza immediata di ciò è il bisogno di far ricorso al personale del centro di calcolo che in questo modo viene gravato da compiti che non riguardano direttamente la gestione del sistema informativo. Da qualche anno il mercato informatico ha recepito questa esigenza sviluppando delle soluzioni dedicate ai decision maker aziendali per le loro attività di carattere strategico: questi sistemi vengono detti Decision Support System. Tali sistemi devono essere in grado di fornire in tempo reale informazioni, rapporti e consentire analisi di varia natura (What If Analisys, On Line Analitical Processing, Data Mining). La What If Analisys permette previsioni basate su ipotesi sui dati futuri: ad esempio possiamo prevedere cosa succede alla vendita dei coperchi se applichiamo uno sconto del 5% alle pentole smaltate. L'On Line Analitical Processing mette a disposizione del manager un ambiente di dati multidimensionale, nel quale può eseguire ricerche aggregando i dati in suo possesso: è possibile ad esempio ottenere informazioni sulle vendite di prodotti alimentari avvenute in Veneto nell'ultimo mese coinvolgendo le dimensioni del tempo, luogo e prodotti. Il Data Mining applica tecniche di intelligenza artificiale agli archivi aziendali alla ricerca di quei dati che non sono visibili in un primo istante perché immersi in una quantità enorme di dati simili. Gli obiettivi che si prefiggono i DSS sono: fornire un ambiente integrato nel quale sia possibile ottenere dati trasversali a tutte le funzioni aziendali (produzione, amministrazione, finanza e controllo, marketing e vendite), ridurre il tempo di risposta alle query comunque complesse, ottenere semplicità d'uso che produce l'indipendenza dei manager nell'uso dei dati, mantenere la segretezza delle indagini dei manager. L'infrastruttura dei DSS è il Data Warehouse. L'idea del data warehouse è letteralmente quella di creare un ``magazzino di dati'' nel quale vengono registrati dati provenienti da molte fonti correlate e/o non correlate tra di loro. Tale magazzino deve essere fisicamente indipendente dagli altri archivi del sistema, perché l'attività tipicamente molto pesante di interrogazione di un DSS non deve inficiare le prestazioni generali del sistema informativo gestionale; inoltre deve aggiornarsi solo nei momenti in cui le risorse di sistema sono meno utilizzate e deve essere interrogabile ``liberamente''. Interrogazione libera significa che non esiste uno schema predefinito di domande che è possibile istanziare ma è l'utente che di volta in volta costruisce dinamicamente la propria interrogazione con un'attività di analisi. A differenza di quanto avviene invece nelle applicazioni tipiche dei Data Base dove, escludendo interrogazioni ad-hoc scritte direttamente nei linguaggi dei DBMS (Data Base Management System) dai DBA (Data Base 1

2 Administrator), i moduli di inserimento ed estrazione dei dati sono già predefiniti (inserimento o stampa di un ordine cliente, di una fattura, stampa di un report sugli ordini dell'ultimo mese, ecc.). Se ci poniamo in una situazione reale di un manager che deve prendere una decisione vediamo subito che la sua è un'attività di analisi, che innanzitutto cerca di trovare conferma ad un'ipotesi che il suo fiuto imprenditoriale o la sua esperienza del mercato in cui opera gli ha suggerito. Quindi è evidente che per decidere dovrà porre non una, ma un certo numero di interrogazioni ed ottenere non una, ma un certo numero di risposte. Questo comporterebbe un lavoro eccessivo del DBMS limitando di fatto il personale impiegatizio nello svolgimento delle proprie funzioni. Bisogna riconoscere che il data warehouse non rappresenta una rivoluzione totale rispetto al passato, ma sicuramente consente di ottimizzare la disponibilità di informazioni. 1.1 Definizione di Data Warehouse La definizione di data warehouse fornitaci da W. H. Inmon, uno degli ideatori di questa metodologia, è la seguente[4]: ``il data warehouse è una collezione di dati: orientata al soggetto, integrata, non volatile, dipendente dal tempo''. Nei tradizionali database spesso ci troviamo davanti ad una struttura dati orientata ad ottimizzare le operazioni che giornalmente più volte sono necessarie nella gestione di un'azienda: l'inserimento di un nuovo ordine o di una fattura, la registrazione dell'uscita di un prodotto, il carico e scarico dei magazzini, ecc. Tali sistemi, proprio perché pensati per questo scopo, sono detti operazionali oppure OLTP (On Line Transaction Processing). A differenza di questi un data warehouse è orientato ai soggetti che determinano le scelte dei manager, quali ad esempio: i clienti, i fornitori, le vendite e gli acquisti. Il data warehouse permette di raggruppare e confrontare i soggetti tra loro. La più importante delle caratteristiche di un data warehouse è l'integrazione. Essa nasce dalla necessità di dare coerenza ai dati provenienti da diverse applicazioni progettate per scopi diversi. Poiché i manager per poter prendere le loro decisioni abbisognano di ogni possibile fonte di dati interna o esterna all'azienda, il problema da affrontare è quello di rendere questi dati accessibili ed omogenei in un unico ambiente, ma questo pone delle difficoltà come quelle che si possono vedere in fig. 1.1 Figure 1.1: Esempio di integrazione dei dati 2

3 Possono esistere quattro fonti di dati dove il sesso di un cliente è stato memorizzato in modo diverso: allora nel data warehouse bisogna decidere quale forma vogliamo tenere come valida e di conseguenza bisogna codificare i dati provenienti dalle altre tre applicazioni prima di inserirli nel data warehouse. Ovviamente le parti di codice che si occupano di trasformare i dati saranno diverse per ciascuna sorgente. Una situazione simile alla precedente si ha quando ad esempio applicazioni diverse misurano una grandezza con unità di misura diverse: allora bisogna trasformare le misure incompatibili in una che abbiamo scelto e definito come standard. Più applicazioni possono contenere la descrizione di un articolo ed in questo caso occorre decidere quale sia la descrizione più completa da memorizzare o se memorizzarle tutte in una sola. In applicazioni diverse gli attributi che si riferiscono ad uno stesso argomento (come un codice articolo) possono essere stati definiti in modo diverso, quindi bisogna scegliere il tipo più adatto alla memorizzazione nel data warehouse. Questi sono solo alcuni esempi dei problemi che si riscontrano nell'integrazione dei dati. La terza caratteristica che deve avere un data warehouse è la non-volatilità, ossia i dati in esso contenuti non devono poter essere cambiati dall'utente, questo perché il data warehouse viene usato per fare indagini e non per inserire o modificare operazioni. Non è nel data warehouse che si va a modificare l'indirizzo di un cliente, anche perché in tal caso si perderebbe ogni riferimento storico al fatto che il cliente ha cambiato indirizzo. I dati vengono caricati solitamente in massa ed in modalità batch e successivamente acceduti dagli end-user. L'ultima caratteristica importante di un data warehouse è la dipendenza dal tempo. A differenza dei database dove le operazioni direttamente accessibili, di solito, sono quelle degli ultimi giorni, in un data warehouse l'intervallo temporale si allarga fino ad arrivare a coprire un arco di 5-10 anni. In ambiente operazionale il database contiene il ``valore corrente'' (ad esempio l'indirizzo odierno di un fornitore) e questo dato può essere modificato solo perdendo ogni riferimento al dato precedente, mentre in un data warehouse i dati possono essere visti come delle sofisticate foto istantanee (snapshot) fatte in determinati momenti, perciò tengono conto anche della storia dei soggetti. La struttura chiave di un sistema operazionale può o meno contenere degli elementi di tempo (anno, mese, data, ora,... ), mentre quella di un data warehouse deve sempre contenere qualche elemento di tempo. Un data warehouse non è solo un insieme di dati strutturati, ma è piuttosto un sistema composto anche da applicazioni che servono ad estrarre, analizzare e presentare i dati. I dati presenti in un data warehouse devono essere consistenti. Questo significa che se due persone interrogano l'archivio in momenti diversi per conoscere le vendite avvenute nel mese di gennaio devono ottenere lo stesso risultato; inoltre se i dati di un determinato periodo per qualche motivo non sono stati caricati completamente, l'utente che li richiede deve essere avvisato che i dati che sta analizzando sono incompleti. Da ciò si vede come risulti utile la figura del responsabile della qualità dei dati pubblicati nel data warehouse che rende disponibili le informazioni solo quando hanno sufficienti requisiti di analisi. 1.2 La struttura di un Data Warehouse La figura 1.2 riporta un esempio della struttura tipica di un data warehouse. Essa si compone di diversi livelli di dettaglio (detti anche summarization level). 3

4 Figure 1.2: Esempio di summarization dei dati Partendo dal basso vediamo per primo un archivio di dati dettagliati dove sono registrati soggetti che si riferiscono ad un tempo lontano; generalmente questi dati sono salvati su nastri, perché, essendo richiesti solo di rado, si considera accettabile un tempo di accesso più elevato. Poi troviamo i dati attuali ad un elevato livello di dettaglio: essi tengono conto di un periodo relativamente breve. Quindi ci sono i dati ``leggermente riassunti'', ossia se ci si riferisce ad esempio alle vendite anziché la quantità di prodotto venduta in un giorno, in questo archivio potremo trovare la somma di ciò che è stato venduto in una settimana; a questo livello viene trattato un periodo abbastanza lungo. Infine all'ultimo livello troviamo dei dati ``altamente riassunti'', simili ai precedenti ma relativi a periodi di aggregazione e latenza più lunghi. Ogni livello di dettaglio viene ricavato a partire dal livello corrente. Una volta che i dati sono ``invecchiati'' passano automaticamente agli altri livelli di dettaglio. 1.3 L'orientazione al soggetto I soggetti vengono rappresentati a livello logico nel data warehouse con una serie di tabelle collegate tra loro tramite relazioni. I soggetti sono il fulcro delle operazioni di ricerca e confronto eseguite dagli utenti del data warehouse. Essi vengono scelti in base al tipo di organizzazione aziendale ed al tipo di data warehouse che si intende progettare. Alcuni esempi di soggetti sono i seguenti: clienti, vendite, prodotti, polizze, reclami. Come abbiamo appena notato relativamente ad un soggetto possono esserci più tabelle contenenti dati di epoche diverse a diversi livelli di aggregazione. Siamo in presenza di un'organizzazione continua dei dati quando i dati di un livello di dettaglio di un soggetto sono suddivisi su più tabelle sulla base del tempo: ciascuna tabella contiene i dati relativi ad un periodo diverso contiguo a quello di un'altra tabella. 4

5 1.3.1 Granularità Per granularità si intende il livello di dettaglio dei dati salvati nel data warehouse. Più alto è il livello di dettaglio e più bassa è la granularità e viceversa. Essa è il più importante aspetto progettuale di cui bisogna tener conto, perché è direttamente legata al volume di dati salvato e, di conseguenza, alle prestazioni del sistema e alla necessità di risorse hardware. Ovviamente bisogna scegliere il giusto livello di granularità per evitare di memorizzare dettagli che non verranno mai presi in considerazione o non registrarne altri di essenziali. Spesso la soluzione sta nello scegliere più livelli di granularità come mostrato in fig Questo significa registrare fisicamente dati di dettaglio diverso in tabelle diverse. Cos`i è possibile passare da una visione sintetica delle informazioni, ottenuta accedendo in un primo momento ai dati altamente riassunti, ad una visione dettagliata, presa dalle tabelle a più bassa granularità, ottimizzando cos`i il numero di accessi ai supporti magnetici e l'uso del DBMS. Questo processo è detto Drill Down Partizionamento Si ha un partizionamento dei dati quando quelli contenuti in una stessa struttura logica vengono divisi in più di una unità fisica ed inoltre un dato appartiene ad una ed una sola partizione. Nel data warehouse la questione non è se partizionare i dati, ma come partizionarli. Una volta scelto il giusto livello di granularità occorrerà scegliere come partizionare i dati in modo che ciascuna unità fisica di dati possa essere manipolata indipendentemente dalle altre. Lo sviluppatore deve scegliere se partizionare i dati a livello di sistema o di applicazione. La partizione a livello di sistema è una funzione del DBMS e del sistema operativo, mentre quella a livello di applicazione è contenuta nel codice della stessa applicazione e perciò direttamente controllata dallo sviluppatore. In questa seconda soluzione il DBMS non sa di alcuna relazione esistente tra i dati partizionati a livello di applicazione. Data la flessibilità che deve avere un data warehouse, acquista significato partizionare i dati a livello di applicazione. La ragione più importante che ci porta a questa scelta è che per anni diversi possono esserci diverse definizioni di un soggetto perché ad esempio nel frattempo le esigenze degli utenti sono cambiate. Se il partizionamento venisse fatto a livello di sistema, il DBMS esigerebbe una definizione di soggetto che rimanga inalterata nel tempo. Un cambio verrebbe interpretato dal sistema come l'introduzione di un nuovo soggetto indipendente dal precedente e quindi non riconducibile al primo nel caso di query che coinvolgano periodi a cavallo tra le due definizioni. Il partizionamento porta con sè alcuni vantaggi: maggior facilità di creare indici, ristrutturare, riorganizzare, recuperare i dati e monitorare le operazioni degli utenti. 1.4 Multidimensional DBMS e Data Warehouse Per spiegare cosa sia un Multidimensional DBMS è bene introdurre brevemente lo Star Schema a cui è dedicato un capitolo nel seguito. Supponiamo di avere una catena di negozi di vendita al dettaglio della quale vogliamo gestire le vendite e le condizioni d'indagine siano dettate dal tempo, i negozi, i prodotti e le promozioni. Ogni giorno vengono registrate le vendite di ciascun prodotto. La struttura che immagazzina i dati può essere uno star schema come quello di fig. 1.3, dove la tabella VENDITE contiene pochissimi attributi ma moltissime righe (una per ogni prodotto venduto ogni giorno in ciascun negozio in qualsiasi condizione promozionale) e viene chiamata fact table; mentre le tabelle Tempo, Negozi, Prodotti e Promozioni hanno moltissimi attributi, ma bassa cardinalità (al confronto della fact table) e vengono chiamate dimension table. 5

6 Figure 1.3: Esempio base di Star Schema. La fact table è legata alle dimension table tramite delle chiavi esterne e l'insieme degli attributi che sono chiavi esterne costituisce la chiave primaria della fact table. Il nome dimension table si giustifica dal fatto che possiamo pensare ad una riga della fact table come ad un elemento di un ipercubo le cui coordinate spaziali sono individuate dai singoli elementi delle dimension table: un elemento per ciascuna dimension table. Possiamo pensare ad esempio alla vendita di ``caramelle al limone'' del 23 dicembre 1998 nel negozio di Napoli sotto la promozione ``Babbo Natale'': questo è un elemento della fact table individuato da quattro elementi dimensionali che sono la data, il prodotto, il negozio e la promozione. Nella fact table relativamente a questo elemento saranno salvati per esempio la quantità venduta, il ricavo ottenuto ed il numero di clienti che hanno effettuato questo acquisto. Dopo questa breve introduzione possiamo dire che il Multidimensional DBMS è un DBMS che è ottimizzato per l'uso di strutture simili a questa. Esso mette a disposizione dell'utente una struttura che è molto flessibile, soprattutto nell'analisi e la riorganizzazione dei dati nel passare da un livello di dettaglio ad un altro anche creati ad-hoc al volo. Spesso si dice che è possibile applicare ad un ipercubo la tecnica dello slice and dice ossia letteralmente dell'``affettare e tagliare a dadini'' l'ipercubo, intendendo con questo che è possibile visualizzare parti della fact table selezionandole in base a qualsiasi range di valori di una o più dimensioni. Ad esempio è possibile vedere quale sia stata la vendita di latticini nei negozi di Milano, Roma e Napoli la seconda settimana di agosto del 1998 indipendentemente dalla promozione presente in ciascun negozio in quel periodo; questo implica che i dati vengano raggruppati e che vengano creati alcuni totali sommando i risultati di ciascun record appartenente ai gruppi, il tutto nel giro di qualche secondo al massimo. Esistono sostanzialmente due modi di pensare al data warehouse: uno secondo il quale è possibile basare tutto l'archivio su un Multidimensional DBMS ed un altro dove il data warehouse fornisce il supporto dettagliato dal quale caricare i dati che alimentano il Multidimensional DBMS. Noi ci atterremo al secondo. In questo modo è possibile caricare il MDBMS con dei dati leggermente riassunti e creare qualsivoglia livello di granularità in modo molto efficiente; poi eventualmente i dati cos`i ottenuti possono essere salvati nel data warehouse. In media un MDBMS contiene dati relativi agli ultimi mesi mentre un data warehouse allarga i suoi orizzonti a 5-10 anni. Ovviamente deve essere possibile navigare da un sistema all'altro in modo indolore, ossia cominciare ad esempio una ricerca nel MDBMS e poi fare un drill down nel data warehouse o fare l'operazione inversa, il tutto in modo trasparente per l'end-user. Vi sono alcuni rischi nel realizzare un data warehouse utilizzando solo un MDBMS. Riferendoci alla fig. 1.4 si può vedere che, alimentando direttamente le strutture multidimensionali dalle applicazioni legacy, il codice può diventare ridondante perché le vendite possono richiedere alcuni dati dall'applicazione A comuni al marketing e alla produzione: questo significa che l'estrazione dei dati dai sistemi legacy può avvenire più volte, consumando di conseguenza più risorse. Il sistema risultante non è completamente integrato perché ogni dipartimento ha la propria interpretazione dei dati provenienti dall'ambiente operazionale. Il lavoro di progettazione e manutenzione del data warehouse risulta complicato dalla dimensione e ridondanza del codice. 6

7 Figure 1.4: Relazioni tra le applicazione in ambiente legacy e più strutture multidimensionali. 2 Data Warehouse e tecnologia Per avere successo un data warehouse deve permettere un accesso ai dati intuitivo, facile e praticamente immediato: per soddisfare queste proprietà è necessario che l'ambiente possieda alcune caratteristiche tecnologiche che stanno prendendo piede in questi ultimi anni. Innanzi tutto deve essere possibile indicizzare i dati in svariate maniere usando: indici bit map, indici a multilivello, STARindex TM, ottimizzati per le strutture a star schema. Deve inoltre essere possibile usare più di un tipo di indice nella stessa query. In linea di principio un bit map index viene costruito a partire da due o più indici di una tabella, ciascuno dei quali si riferisce ad un solo attributo. Quando viene istanziata una query, viene posto a 1 un bit per ciascun indice su quelle righe dell'indice che soddisfano le condizioni della query: in questo modo, se una query deve soddisfare delle condizioni poste su due o più attributi, le righe di risultato possono essere calcolate con l'ausilio di semplici operazioni logiche sulle sequenze di bit ottenute dalla scansione parallela degli indici. Come nei database anche nei data warehouse esistono gli indici a multilivello: essi sono degli indici basati su due o più attibuti di una tabella; ad esempio un indice di una tabella ordini clienti può essere fatto sul cognome, nome e numero d'ordine. Gli STARindex TM vengono costruiti su una o più chiavi esterne della fact table e contengono informazioni che collegano i valori delle righe delle dimension table alle righe della fact table che contengono i valori di quelle dimensioni. Lo scopo principale di uno STARindex TM è quello di ottimizzare il processo di join delle dimension table attraverso la fact table, evitando il prodotto cartesiano delle dimension table che contiene valori privi di significato o non interessanti. A differenza di un indice a multilivello che mette in relazione più attributi di una sola tabella, lo STARindex TM collega gli attributi della fact table a quelli delle dimension table. L'ambiente di data warehouse deve essere in grado di tenere tutti o almeno parte degli indici nella memoria principale per ridurre al minimo il numero di accessi ai dischi che, come vedremo, sono il maggior fattore di rallentamento ai tempi di risposta ad una query. Deve supportare la ricerca basata solo sugli indici, ossia, quando è possibile, rispondere alle query usando solo gli 7

8 indici senza accedere alle tabelle. Un data warehouse deve essere in grado di gestire l'immagazzinamento dei dati e la lettura in modo parallelo su più dispositivi: questo permette di abbassare in modo drastico i tempi di accesso ai dati. Le tabelle che ricevono meno accessi possono essere fisicamente salvate su supporti hardware meno costosi ma più lenti (nastri magnetici ad esempio); è il DBMS che gestisce il data warehouse che si occupa di ricercare ed estrarre i dati richiesti da supporti fisici anche se questi sono di diversa natura. Il linguaggio usato dal DBMS del data warehouse deve essere molto ricco e supportare caratteristiche come: accesso ad insiemi di record in una sola volta, accesso ai singoli record, uso di uno o più indici per risolvere una query, istruzioni specifiche per ottenere semplici informazioni statistiche e di analisi, interfaccia SQL (Standard Query Language), essere in grado di inserire, modificare e cancellare dati. L'ambiente deve essere in grado di funzionare tanto in modalità interattiva che batch. Poiché il fulcro del calcolo dei tempi di accesso ai dati è il numero di operazioni di I/O (Input/Output) ai dispositivi di immagazzinamento e non l'uso delle CPU (Central Processing Unit), la compattazione dei dati può risultare molto utile. Il fattore che più favorisce l'uso di questa tecnica è la permanenza dei dati ossia questi ultimi, una volta salvati, non vengono modificati se non in casi eccezionali e solo dal Data Warehouse Administrator. L'overhead delle CPU dovuto alla scompattazione è piccolo se confrontato con i tempi necessari ad accedere ai dispositivi. Un data warehouse deve essere in grado di supportare dati a lunghezza variabile (i cosiddetti blob data); la loro gestione è favorita sempre dal fatto che i dati sono stabili una volta salvati. 2.1 Il Data Warehouse distribuito La maggior parte delle organizzazioni mantiene un data warehouse centralizzato. Esiste cioè un server che contiene tutti i dati ed un DBMS che li gestisce: a questo server sono connessi molti client su ognuno dei quali girano le applicazioni di reporting ed analisi. Le ragioni di questa scelta tecnologica si possono riassumere cos`i : il data warehouse risulta integrato in ogni ambiente dell'organizzazione; il volume di dati che contiene giustifica l'uso di un sistema centralizzato; anche se i dati fossero integrati ma distribuiti in vari siti, potrebbe risultare piuttosto difficile accedervi. Il volume di dati che viene scambiato tra il DBMS e le applicazioni è tale da favorire le reti locali; sebbene in teoria sia possibile avere un client in Africa ed il server in Europa, i dati scambiati tra le due macchine per un semplice report sono tali da poter impiegare parecchi minuti prima di giungere a destinazione, malgrado siano stati ottenuti in pochissimi secondi: questo è causa di notevole frustrazione da parte dell'utente. 8

9 Ci sono casi però in cui può risultare necessario costruire un data warehouse distribuito. Figure 1.5: Esempio Data Warehouse distribuito La fig. 1.5 mostra come possa esistere una realtà nella quale insistono più siti, ciascuno con un suo ambiente operazionale, ed un data warehouse locale indipendente da tutti gli altri nel funzionamento e nella struttura. Ciascun data warehouse locale viene alimentato da un ambiente operazionale locale e quest'ultimo a sua volta alimenta anche un data warehouse globale che contiene dati riguardanti tutti i settori dell'organizzazione. Con questa struttura non è possibile interrogare il data warehouse del sito C dal sito A. I dati contenuti nel data warehouse globale non sono contenuti in nessun data warehouse locale e sono comuni a tutta l'organizzazione. Poiché la struttura del data warehouse globale è definita centralmente, mentre la mappatura dei dati che lo alimentano è locale, è possibile che dopo lo start up del progetto si verifichino problemi di gestione del team di progetto, dal momento che i vari gruppi di lavoro che lo compongono sono dislocati fisicamente in aree diverse. È altrettanto possibile che con l'andare del tempo il feedback agli sviluppatori locali porterà alla stabilità dell'intero complesso. In alcuni casi una copia limitata del data warehouse globale può risiedere a livello locale per le operazioni più frequenti, in questi casi però bisogna fare molta attenzione all'allineamento dei dati. A differenza di un data warehouse centralizzato dove i dati dettagliati sono contenuti nel server ed i dati di sintesi eventualmente stanno a livello locale nei client, in un data warehouse distribuito la situazione si può ribaltare: i dati dettagliati sono contenuti nei data warehouse locali mentre quelli riassunti stanno nell'archivio globale, che è centralizzato. Un vantaggio di avere un data warehouse distribuito è che le risorse hardware e software costano meno perché si possono usare macchine e programmi meno complessi; se in un futuro ci si avvicina ai limiti di capacità delle macchine si può semplicemente aggiungere un nuovo server. Occorre però tener presente che, ogni volta che si aggiunge un server, malgrado la capacità di calcolo aumenti, contemporaneamente aumenta anche il traffico di rete e la difficoltà di reperire i dati di una query perché questi possono essere distribuiti su più macchine. Perciò, sebbene l'intuito ci porti a pensare che l'aggiunta di un server aumenti le capacità del sistema e, di conseguenza riduca i tempi di risposta, di fatto il sistema può risultare più lento. 9

10 2.2 Applicazioni del Data Warehouse Un data warehouse nasce soprattutto come base di dati sulla quale fare ricerche e calcoli che coinvolgono grandi quantità di dati. Come dicevamo prima, i tipi di ricerca che si possono fare non sono predeterminati, ma è l'utente che di volta in volta sceglie cosa cercare: perciò occorre mettere a sua disposizione una struttura semplice che gli permetta di muoversi tra i dati e strumenti potenti che lo aiutino nelle analisi. Per quanto riguarda la ricerca dei dati, i livelli di summarization permettono operazioni come il Drill down ed il Drill up, mentre per le analisi su grandi quantitativi di dati troviamo l'olap (On Line Analytical Processing) ed il Data Mining Operazioni di ricerca Un data warehouse deve mettere a disposizione dell'end-user potenti strumenti di reporting che gli consentano di cercare e confrontare i dati che sono disponibili nell'azienda. Questi strumenti devono consentire le operazioni di drill down e drill up Drill down L'operazione di drill down permette di partire da dati cumulativi altamente riassunti e scendere nei dettagli passo per passo, attraversando vari livelli di summarization del data warehouse. Un esempio può rendere più chiaro questo concetto. Supponiamo di avere un'azienda di latticini e fare una ricerca che metta a confronto le vendite di yogurt di questo mese rispetto a quello scorso, allora potremmo ottenere un report come quello di tab Prodotto Regione Questo mese Confronto Yogurt Nord % Yogurt Centro 179-3% Yogurt Sud 55 5% Table 2.1: Dati altamente riassunti. Questi dati evidenziano una perdita nelle vendite nelle regioni centrali, a questo punto possiamo cercare i motivi di queste perdite e scendere più in dettaglio nella nostra ricerca aggiungendo il nome degli agenti che distribuiscono i prodotti nelle varie zone. Il risultato può essere quello di tab Prodotto Regione Agente Questo mese Confronto Yogurt Nord Neri 52 21% Yogurt Nord Bianchi 28 5% Yogurt Nord Verdi 30 6% Yogurt Centro Rossi 93 4% Yogurt Centro Galli 75 5% 10

11 Yogurt Centro Pietri 11-15% Yogurt Sud Stani 25 5% Yogurt Sud Gralli 30 6% Table 2.2: Dati più dettagliati dopo una singola operazione di drill down. Già a questo livello di dettaglio le eventuali decisioni di chi sta facendo le ricerche sono più chiare. Più precisamente si dice che si è in presenza di un drill down quando l'interrogazione di un utente passa da un livello alto di summarization ad uno più basso attraversando tabelle diverse Drill up Come si può intuire questa è l'operazione opposta alla precedente dove si passa da un livello molto dettagliato ad una visione globale attraversando i livelli di summarization. 2.3 On-Line Analytical Processing L'OLAP mira a fornire ai suoi utenti le caratteristiche di analisi che si trovano in un foglio elettronico unitamente all'affidabilità di un database. OLAP permette una vista dei dati che va oltre le due o tre dimensioni offerte dai fogli elettronici. Diversamente dai fogli elettronici i dati possono essere condivisi tra molti utenti senza dover duplicare i file. In molti casi gli utenti possono aggiungere o modificare i dati sotto il controllo del sistema senza comunque rischiare di sovrascrivere l'informazione originale. Le applicazioni OLAP sono caratterizzate dalla flessibilità con la quale gli utenti possono ottenere varie viste dei dati o i report che essi vogliono per realizzare nuove analisi ad-hoc, per eseguire calcoli complessi su larga scala e per ricercare dinamicamente eccezioni nei dati contenuti nei database di grosse dimensioni. Poiché l'olap si rivolge soprattutto all'utente finale, deve presentare un'interfaccia semplice: quella comunemente usata è molto simile a quella dei fogli elettronici. D'altro canto gli strumenti OLAP devono avere una buona integrazione con i sistemi che forniscono loro i dati. Alcuni OLAP usano i loro database multidimensionali, altri si integrano con i database relazionali ed altri ancora sono una forma ibrida che tiene alcuni dati in database multidimensionali ed accede ad altri direttamente sugli archivi relazionali. 2.4 Fast Analysis of Shared Multidimensional Information Queste cinque parole sono considerate una nuova definizione di OLAP. Più in dettaglio significano: Fast: il sistema deve riuscire a rispondere alle interrogazioni in media in cinque secondi; alle domande più facili deve dare dei risultati in un secondo mentre a pochissime deve rispondere in più di 20 secondi. Analysis: il sistema deve riuscire a fare analisi statistiche e di mercato in modo abbastanza semplice per l'utente finale. Come minimo il sistema OLAP deve fornire la possibilità di eseguire nuovi calcoli ad-hoc come parte di un'analisi, di restituire report sui dati in ogni modo desiderato dall'utente senza che quest'ultimo debba inserire delle linee di codice. 11

12 Shared: il sistema deve fornire tutti i requisiti di sicurezza affinché ognuno possa accedere ai dati e, se è possibile avere un accesso ai dati in scrittura da parte di più utenti, deve essere in grado di gestire la concorrenza. Multidimensional: è il requisito più importante, l'essenza delle applicazioni OLAP. I sistemi OLAP devono fornire una vista concettuale multidimensionale dei dati. Information: è tutto ciò di cui necessita il sistema dovunque e comunque sia immagazzinato, proveniente dai dati dettagliati o aggregati. Le tecnologie per ottenere il FASMI includono architetture client-server, analisi di serie storiche, orientazione agli oggetti, calcolo parallelo, modi proprietari ottimizzati di immagazzinamento dati e multi-threading. 2.5 Capire il concetto di multidimensionalità Il modello multidimensionale organizza i dati in termini delle dimensioni di mercato attuali dell'azienda. Per esempio le vendite possono essere classificate per prodotto, cliente, periodo storico, localizzazione, valore e quantità venduta. L'intersezione di tutte le dimensioni produce una cella come nei fogli elettronici a due dimensioni. Sebbene questo tipo di dati possa essere certamente immagazzinato in un database relazionale, l'sql non è il modo naturale di estrarre informazione da una struttura multidimensionale. Localizzare una cella in un database multidimensionale è facile per l'utente e per il calcolatore perché si conosce la posizione e non occorre ricorrere ad un indice, infatti le dimensioni ed i loro range sono noti, ciò che è ignoto è il dato contenuto nella cella, ma questo occupa uno spazio ed una posizione ben definiti in memoria. È questo il motivo che rende i database multidimensionali più facili da usare e aumenta notevolmente la resa nel manipolare dati multidimensionali in confronto a quella che si ha con i database relazionali. Il prezzo da pagare è la sparsity ossia la presenza di moltissime celle con contenuto nullo. Ciò accade per esempio perché in ciascun periodo ogni cliente compera una piccola porzione dei prodotti disponibili (se non addirittura niente). Nei modelli multidimensionali con molte dimensioni, la maggioranza delle celle non conterrà alcun dato. Perciò il prezzo della velocità è la memoria e viceversa. Come nei fogli elettronici, ciascuna cella può essere calcolata da formule che richiamano altre celle. Nelle applicazioni di grandi dimensioni bisogna bilanciare bene l'uso delle risorse, perché la maggior parte delle celle vengono calcolate a partiree da altre, quindi bisogna scegliere un compromesso tra un calcolo in modalità batch, che salva i risultati in apposite tabelle (spreco di spazio), ed un calcolo in tempo reale, che fornisce i risultati al volo (spreco di tempo e CPU). Il vantaggio che si ottiene dalla prima soluzione è la disponibilità di informazione derivata accessibile in tempi brevissimi perché non deve essere calcolata on line ad ogni richiesta. Gli utenti finali devono avere la possibilità di fare le analisi desiderate e navigare in tutte le dimensioni dell'applicazione senza restrizioni sulle funzionalità di calcolo o di report e con piccoli effetti sul rendimento del sistema. 3 Data Mining Il termine Data Mining, che letteralmente significa ``estrarre dati'', è citato in letteratura anche come Knowledge Discovery in Databases (scoperta della ``conoscenza'' dai dati contenuti nei database). Le definizioni di che cosa esattamente significhi anche qui si sprecano a seconda di ciò che ciascun produttore di software ci vuole vendere; di seguito ne sono riportate alcune: 12

13 Data Mining è l'estrazione non banale di informazione potenzialmente utile, implicita e sconosciuta in precedenza dai dati. Questo comporta un certo numero di approcci tecnologici quali il raggruppamento (clustering), aggregazione dei dati, imparare regole di classificazione, trovare reti di dipendenza, analizzare i cambiamenti, scovare anomalie. Williain J Frawley, Gregory Piatetsky-Shapiro e Christopher J Matheus. Data Mining è la ricerca di relazioni e modelli globali che esistono nei database voluminosi ma sono nascosti nella vastità del numero di dati, come si verifica tra i dati dei pazienti e le loro diagnosi mediche. Queste relazioni rappresentano una preziosa conoscenza sul database e gli oggetti che esso contiene e se il database è uno specchio fedele della realtà in esso registrata. Marcel Holshemier & Arno Siebes (1994). Data Mining significa ``usare una varietà di tecniche per identificare pepite di informazione o conoscenza che permettono di prendere decisioni dal corpo dei dati ed estrarre queste pepite in modo tale che possano essere poste in uso in aree quali il supporto alle decisioni, la previsione e la stima. I dati spesso sono così voluminosi che non se ne può fare un uso diretto ed è l'informazione nascosta quella utile''. Clementine User Guide, a data mining toolkit. È importante notare che nel data mining è il computer che si occupa di trovare modelli dei dati, identificandone regole e caratteristiche che li legano. Il processo di analisi parte da un insieme limitato di dati e, usando una certa metodologia, cerca di sviluppare una rappresentazione ottimale della struttura dei dati; durante questa fase il processo acquisisce conoscenza. Una volta che tale conoscenza è stata acquisita, questa può essere estesa ad un insieme più vasto di dati basandosi sull'assunzione che il largo insieme di dati ha una struttura simile a quello più semplice. Le fasi che portano dall'insieme dei dati grezzo all'estrazione della conoscenza possono essere riassunte in cinque punti secondo Usama Fayyad & Evangelos Simoudis: Selezione: selezione o segmentazione dei dati secondo alcuni criteri; Preprocessing: ``pulizia'' dei dati da certe informazioni ritenute inutili e che possono rallentare le future interrogazioni. In questa fase, inoltre, i dati possono essere trasformati per evitare eventuali inconsistenze dovute al fatto che dati simili possono provenire da sorgenti diverse e quindi con metadati leggermente diversi (ad esempio in un database il sesso di una persona può essere salvato come 'm' o 'f' ed in un altro come 0 o l); Trasformazione: i dati non sono semplicemente trasferiti da un archivio ad uno nuovo, ma sono trasformati in modo tale che sia possibile anche aggiungere informazione a questi, come per esempio informazioni demografiche comunemente usate nella ricerca di mercato. Quindi i dati vengono resi ``usabili e navigabili''; Data Mining: questo stadio si occupa di estrarre dei modelli dai dati. Un modello può essere definito come: dato un insieme di fatti (i dati) F, un linguaggio L ed alcune misure di certezza C, un modello è una dichiarazione S nel linguaggio L che descrive le relazioni che esistono tra i dati di un sottoinsieme G di F con una certezza c tale che S sia più semplice in qualche modo della enumerazione dei fatti contenuti in G. 13

14 Interpretazione e valutazione: i modelli identificati dal sistema vengono interpretati cosicché la conoscenza che se ne acquisisce può essere di supporto alle decisioni, quali ad esempio la previsione e classificazione dei compiti, il riassunto dei contenuti di un database o la spiegazione dei fenomeni osservati. 3.1 Ambiente del Data Mining Il data mining ha attratto attorno a sè molti nuovi campi della Computer Science, tra questi spiccano l'inductive learning e il machine learning Inductive learning L'inductive learning è un processo che permette di costruire modelli di dati a partire dai dati ricavati da un database. Oggetti con caratteristiche simili vengono raggruppati in classi e regole attraverso le quali è possibile prevedere a quale classe apparterrà un nuovo oggetto. Il database sul quale viene applicato questo processo è un ambiente dinamico e di conseguenza il modello d'induzione deve essere adattativo, deve cioè essere in grado di imparare. Le strategie usate per ottenere l'inductive learning sono sostanzialmente due: supervised learning: il computer impara dagli esempi dove un insegnante aiuta il sistema a costruire un modello definendo le classi e fornendo degli esempi. Il sistema quindi deve trovare una descrizione per ciascuna classe, cioè le proprietà comuni presenti negli esempi. Fatto questo il sistema si dedica agli oggetti che non ha ancora visto e applica a questi le regole dedotte al passo precedente. unsupervised learning: questo è il modo di imparare attraverso l'osservazione e la deduzione. Dapprima al data mining vengono forniti degli oggetti che sono solo d'esempio, ma non si dà nessuna definizione di classi: in questo modo il sistema deve occuparsi di riconoscere le classi e dare le regole che le formano. Il risultato di questo primo passo viene poi applicato al resto dell'archivio in esame Machine learning Machine learning è inteso come l'automazione del processo di apprendimento, dove l'apprendimento è il tentativo di ricavare regole dall'osservazione degli stati e delle transizioni di stato dell'ambiente di impiego del software. Questo campo è molto vasto e comprende anche l'apprendimento dagli esempi, il rinforzo dell'apprendimento, l'apprendimento con insegnante, ecc. Un algoritmo d'apprendimento prende un dato da un insieme e l'informazione che a questo è connessa e dà in uscita un concetto che rappresenta il risultato dell'apprendimento. Anche il Machine learning prende spunto dagli esempi precedenti per creare delle generalizzazioni da applicare ai nuovi casi. Vediamo ora quali sono le differenze tra il data mining ed il machine learning: lo scopo del data mining è quello di scovare conoscenza in un insieme di dati, mentre quello del machine learning è quello di migliorare la resa di un qualche processo. Ne segue che addestrare una rete neurale per bilanciare un palo fa parte del machine learning, ma non del data mining. il data mining si occupa di insiemi di dati molto voluminosi, mentre il machine learning 14

15 solitamente si limita a piccoli insiemi di dati, di conseguenza l'efficienza e la potenza di calcolo sono più importanti per il data mining. il machine learning è un vasto campo che non comprende solo l'apprendimento dagli esempi, ma tutti i tipi di algoritmi di apprendimento. 3.2 Modelli di Data Mining IBM è una delle pochissime grandi aziende informatiche che ha cominciato a scommettere nel data mining ed ha identificato due modelli largamente usati nello sviluppo di applicativi: quello di verifica e quello di scoperta Modello di verifica Il modello di verifica prende dall'utente un'ipotesi e ne verifica la validità nei dati. L'enfasi è posta sull'utente che genera le ipotesi. Il problema di questo modello è il fatto che nessuna nuova informazione viene creata, piuttosto tutte le interrogazioni daranno come risultato dei record che confermano o negano le ipotesi poste. Il processo di ricerca è iterativo: perciò l'output viene via via revisionato con un nuovo insieme di interrogazioni o ipotesi che raffinano la ricerca e l'intero processo viene ripetuto Modello di scoperta Qui l'enfasi è posta sul sistema che in maniera automatica scopre importanti informazioni nascoste nei dati. I dati vengono passati al setaccio alla ricerca di similitudini, tendenze e generalizzazioni senza l'intervento o la guida dell'utente. Il data mining mira a rivelare molti fatti che riguardano i dati nel tempo più breve possibile. 3.3 Funzioni del Data Mining I metodi usati dal data mining per estrarre la conoscenza sono descritti nelle seguenti sotto sezioni Classificazione Durante l'apprendimento delle regole di classificazione l'utente fornisce al sistema le condizioni sui dati che definiscono ogni classe; il data mine quindi costruisce per ciascuna di queste una descrizione che poi applica ai dati non ancora analizzati per dedurne la classe di appartenenza. Una volta definite alcune classi il sistema è in grado di dedurre le regole che governano la classificazione e usando queste trova una descrizione per ogni classe. Una regola è definita corretta se la sua descrizione comprende tutti gli esempi dati dall'utente che appartengono ad una classe ed esclude tutti quelli che non vi appartengono. Una regola generalmente si presenta composta di due parti: una parte destra (RHS: Right Hand Side) ed una parte sinistra (LHS: Left Hand Side); se è vera la parte sinistra allora lo è anche la parte destra. Le regole si suddividono in tre categorie: regole esatte che non permettono eccezioni; regole forti che permettono alcune eccezioni, ma queste ultime hanno un dato limite; regole probabilistiche che mettono in relazione la probabilità condizionata P(RHS LHS) con la probabilità P(RHS). 15

16 3.3.2 Associazioni Dati un certo numero di proprietà ed un insieme di record, ognuno dei quali soddisfa alcune delle proprietà imposte, una funzione di associazione è un'operazione che restituisce le affinità che esistono tra le proprietà selezionate. Le affinità possono essere espresse attraverso delle regole quali: ``il 72% dei record che soddisfano le proprietà A, B e C soddisfano anche D ed E''. In questo caso la percentuale risultante è detta fattore di confidenza della regola Modelli temporali In questo caso si analizzano i record inseriti in un certo arco di tempo per identificarne ad esempio le tendenze. Per esempio si può vedere quali siano gli acquisti che generalmente precedono quello di un forno a microonde (dove l'identità dell'acquirente sia conosciuta) oppure quali siano le richieste di indennizzo ad un'assicurazione con lo scopo di individuare sequenze di esami medici che portano a migliori procedure di terapia o scovare possibili frodi da parte dei clienti Raggruppamento e segmentazione Raggruppamento e segmentazione sono processi di creazione di una partizione di tutti i membri di ciascun insieme secondo una certa metrica. Un gruppo è un insieme di oggetti che in qualche modo sono simili tra loro. Spesso gli oggetti sono suddivisi in gruppi che possono anche essere mutuamente esclusivi. La chiave di lettura di questa metodologia è quella di tradurre qualche misura di similitudine intuitiva in una misura quantitativa. Quando viene usata la tecnologia unsupervised learning il sistema deve automaticamente suddividere gli oggetti in classi, cioè deve scoprire i sottoinsiemi dagli esempi e trovare una descrizione che soddisfi ciascuno di questi sottoinsiemi. 4 La progettazione del Data Warehouse 4.1 Progetto di un Data Warehouse Nel progetto di un'applicazione software generalmente si parte da un'analisi dei requisiti dettagliata, costruita assieme al cliente, per passare poi alla fase di sviluppo. Questo richiede di avere le idee chiare fin dall'inizio di ciò che si vuole ottenere. Spesso invece nello sviluppo di un data warehouse né i programmatori né gli end-user hanno chiaro quali siano gli usi finali dell'applicazione, tanti sono i modi di impiego che può avere. La filosofia del progetto di un data warehouse è riassunta nello slogan ``think big start small'', ossia pensare a grandi progetti partendo con piccole realizzazioni. La strategia tipicamente usata è quella di partire dalle applicazioni operazionali già esistenti ed integrarne i dati per un solo soggetto d'indagine. Su questo soggetto alcuni utenti cominciano a lavorare e interrogare l'archivio. In questo modo si crea curiosità sui possibili utilizzi del data warehouse. Una volta che è partito l'utilizzo allora nascono alcune esigenze da tradurre in applicazioni e la voglia di estendere l'uso del data warehouse ad altri soggetti che di conseguenza portano all'espansione dell'utenza e delle esigenze. Quando quasi tutti i soggetti sono stati individuati nasce l'esigenza di specializzare il data warehouse per alcuni dipartimenti dell'azienda. Vengono così creati i Data Warehouse Dipartimentali, conosciuti anche come Data Mart, specializzati per l'uso in un solo settore dell'azienda che può essere ad esempio l'area marketing o l'area logistica. In questo modo, solo quando tutti gli utenti possibili hanno messo mani sul data warehouse, si è a conoscenza di quali 16

17 siano i requisiti dell'intera applicazione. Un'altra strategia applicata è quella di partire dai data mart, quindi con progetti più piccoli indipendenti, per poi arrivare alla loro integrazione in un data warehouse. Entrambe le strategie richiedono tempi di sviluppo molto lunghi e collaborazioni molto strette tra utenti e sviluppatori. Mediamente per lo sviluppo di un intero progetto di data warehouse si parla di tempi che si prolungano per circa due anni. Ovviamente i primi livelli di sviluppo devono essere molto rapidi, magari un po' rozzi ma devono permettere di creare un valido mezzo di comunicazione tra utente e sviluppatore. Visti i tempi di sviluppo pare ovvia la filosofia accennata prima dato che nessuna azienda sarebbe disposta ad enormi investimenti per lunghi periodi senza avere la possibilità di vedere qualche risultato prima del completamento del progetto. Siccome gran parte della complessità di un progetto di data warehouse sta nel fatto che nessuno ha ben chiaro all'inizio quali siano i requisiti che si vogliono ottenere dalle applicazioni che usano i dati in esso contenuti, non è possibile applicare le classiche tecniche di progettazione top-down o utilizzare dei CASE che facilitano il lavoro del progettista. Esistono strumenti di sviluppo ma sono limitati a compiti ben precisi: la creazione delle tabelle, l'integrazione dei dati, la preparazione di maschere e così via. Il progetto di un data warehouse richiede necessariamente l'impiego di un team di sviluppatori e di conseguenza l'utilizzo di tecniche di software engeneering per facilitare il lavoro di squadra e la successiva manutenzione del software creato. 4.2 Data Warehouse e modelli di dati I modelli di dati usati per il progetto di un data warehouse non differiscono di molto da quelli usati per un Data Base. Esistono tre livelli di modellazione: di alto livello dove lo strumento usato è l'entity Relationship; di medio livello dove si usano il DIS (Data Item Set) e lo Star Schema; di basso livello chiamato anche modello fisico Entity Relationship Model La spiegazione di come si costruisce uno schema E-R si può trovare in letteratura in molte fonti, una delle quali è riportata in bibliografia[3]. L'E-R viene usato per definire assieme agli end-user quali siano le entità che devono entrare a far parte del data warehouse. Si definiscono vari schemi E-R per i vari settori dell'azienda a seconda dei punti di vista di ciascuno degli end-user attraverso interviste e riunioni collettive. Quindi si uniscono gli schemi ottenuti per ricavarne una descrizione complessiva dell'organizzazione che soddisfi gli scopi supposti del data warehouse. Una volta individuate le entità più importanti del progetto, una piccola stima sulle istanze rivelerà quali saranno le più numerose, che verranno progettate usando una struttura a Star schema, mentre per le altre entità si potrà usare il DIS Data Item Set Il DIS viene usato per identificare gli attributi dei dati e le relazioni che tra questi intercorrono. A partire dallo schema E-R si va a particolareggiare ciascuna entità per definirne meglio gli attributi e le associazioni con le altre entità. Esistono quattro costrutti che appartengono al data item set: gruppo primario di dati, 17

18 gruppo secondario di dati, connettore, ``tipo di'' dati. Per ciascuna entità individuata viene definito uno ed un solo gruppo primario di dati ed esso contiene quegli attributi dell'entità che esistono una ed una sola volta per ciascuna istanza dell'entità. Come tutti i gruppi di dati anche quello primario contiene attributi e chiavi. Un gruppo secondario di dati contiene quegli attributi dell'entità che possono essere multipli per ciascuna istanza di un'entità; ad esempio gli indirizzi che fanno capo ad un conto corrente possono essere più d'uno come in fig Un gruppo secondario è legato a quello primario da una linea verso il basso che parte dal gruppo primario e termina su quello secondario. Figure 3.1: Le associazioni nello schema E- R si ritrovano nei connettori dello schema DIS. Il gruppo primario nr. conto è connesso al gruppo primario cliente Un connettore mette in relazione i dati provenienti da un gruppo primario e/o secondario a quelli di un altro. In particolare un'associazione nello schema E-R si traduce in uno o due connettori nel DIS, a seconda del tipo di associazione, come mostrato in fig Il tipo di associazione E-R rappresentato in figura prevede a livello di DIS una coppia di connettori, ma per brevità ne è rappresentato in figura solo uno. Infatti come ad un numero di conto possono essere associati più clienti di una banca è vero anche il viceversa, cioè che un cliente può avere più conti correnti presso la stessa banca. La convenzione usata per distinguere un connettore è la sottolineatura di una chiave esterna. Il quarto costrutto serve a distinguere ciò che definiamo super tipo da ciò che è un suo sotto tipo; riferendoci ad esempio ad un conto corrente vogliamo distinguere quello che è un conto per un prestito da quello di un libretto di risparmio come in fig La convenzione usata per distinguere i due tipi di dati è una linea principale orizzontale che separa il super tipo a sinistra dai suoi sotto tipi a destra. La fig. 3.2 è la rappresentazione completa di un'entità CONTO CORRENTE di uno schema E-R in uno schema DIS. Figure 3.2: Esempio di DIS applicato all'entità CONTO 18

19 Una situazione interessante si presenta quando esistono due ``tipo di'' raggruppamenti come in fig Un criterio di suddivisione è dato dal ``tipo di'' operazione e l'altro dal ``tipo di'' sportello. In totale risultano quattro raggruppamenti delle operazioni di sportello: deposito automatico, ritiro automatico, deposito dal cassiere e ritiro dal cassiere. Figure 3.3: Esempio di DIS applicato alle attività bancarie svolte allo sportello del cassiere ed a quello automatico Physical Data Model Il livello fisico nasce dall'estensione del livello medio aggiungendo le necessarie chiavi e le caratteristiche fisiche al modello. Le caratteristiche fisiche del modello dei dati dipendono in gran parte dal DBMS che intendiamo usare. Una volta sviluppato esso sarà rappresentato da una serie di tabelle. In questo modello bisogna anche tener conto delle performance che vogliamo ottenere e di conseguenza decidere il livello di granularità dei dati ed il loro partizionamento. Le considerazioni si fanno soprattutto tenendo conto dell'uso delle risorse di I/O. L'obiettivo da perseguire è quello di ottenere il maggior numero di record ad ogni operazione di I/O; ossia di trasferire in memoria un gruppo di record che ha un'alta probabilità di essere quello richiesto dall'end-user in modo tale da ridurre il più possibile il numero di I/O. Il fatto che inoltre l'enduser non possa modificare i dati del data warehouse libera lo sviluppatore da alcuni fattori di cui altrimenti dovrebbe tener conto, come ad esempio la concorrenza che si potrebbe instaurare in un processo di scrittura o la scelta da parte dell'utente di dove andare a salvare dei dati. 4.3 Normalizzazione e denormalizzazione Il modello E-R ed il DIS però portano a tabelle altamente normalizzate il che va molto bene in un ambiente operazionale dove le query coinvolgono poche tuple, ma in un data warehouse spesso la normalizzazione porta a tempi di risposta insostenibili dovuti ai numerosi accessi ai dischi del sistema. Quello che occorre cercare è un compromesso tra la dimensione del data warehouse e le prestazioni del sistema. Una tecnica per ridurre il numero di I/O è quella di registrare in un'unica riga vettori di dati. Nelle ricerche dove il tempo è una chiave importante capita spesso che vi siano sequenze di dati che vengono richieste in successione (ad esempio le vendite giorno per giorno di una determinata settimana), se i dati sono disponibili in una sola riga è sufficiente una sola operazione di I/O per ottenere tutte le informazioni che si vogliono. Vediamo dall'esempio di fig. 3.4 come la denormalizzazione possa aiutare le operazioni di lettura. Supponiamo che la descrizione di una parte di un prodotto sia registrata in una tabella: ogni volta che il magazzino, le vendite o il ciclo produzione richiedono la descrizione della parte devono fare due accessi 19

20 (parte A della figura), mentre, se introduciamo ridondanza nei dati, i vari reparti necessitano di un solo accesso alle risorse per ottenere la stessa informazione (parte B). Figure 3.4: I dati normalizzati richiedono un I/O per la modifica e due per la lettura (A), mentre la cosa si ribalta per i dati denormalizzati (B) Come si può notare dalla fig. 3.4 l'operazione di modifica risulta più lenta e complessa, ma questa viene fatta solo in casi eccezionali in modalità batch e per questo motivo il progettista può considerare valida la scelta della denormalizzazione. Ovviamente avere dati ridondanti nel data warehouse porta ad uno spreco di risorse per quanto riguarda le dimensioni dei file e questo è il prezzo da pagare per ottenere migliori prestazioni nei tempi di risposta all'end-user Snapshot Sono un elemento chiave presente in ogni progetto di data warehouse. Si tratta di tabelle formate sostanzialmente da quattro tipi di elementi: elementi chiave: sono quelli che distinguono una tupla della tabella; elementi di tempo: sempre presenti in uno snapshot; elementi primari: i dati che portano l'informazione; elementi secondari: opzionali, ma che aggiungono informazione e stabiliscono una relazione con gli elementi primari. L'aggiornamento di uno snapshot avviene in seguito al verificarsi di un evento sia esso predeterminato nel tempo o no. Ad esempio, considerando il caso della vendita al dettaglio, uno snapshot può essere l'insieme delle vendite avvenute in un giorno diviso per prodotti: l'evento è determinato dall'ora di chiusura del negozio, l'elemento di tempo è nella data che stiamo considerando, elementi chiave possono essere l'insieme costituito da codice del prodotto e il tempo, elementi primari il numero di prodotti venduti e il reddito proveniente da questa vendita, infine elemento secondario può essere un'informazione occasionale che si ottiene al momento della vendita come la conoscenza della quantità di prodotto ancora presente in magazzino. Uno snapshot può aggiornarsi anche in seguito ad eventi non predeterminati nel tempo: ad esempio in 20

Relazione sul data warehouse e sul data mining

Relazione sul data warehouse e sul data mining Relazione sul data warehouse e sul data mining INTRODUZIONE Inquadrando il sistema informativo aziendale automatizzato come costituito dall insieme delle risorse messe a disposizione della tecnologia,

Dettagli

Introduzione alla Business Intelligence. E-mail: infobusiness@zucchetti.it

Introduzione alla Business Intelligence. E-mail: infobusiness@zucchetti.it Introduzione alla Business Intelligence E-mail: infobusiness@zucchetti.it Introduzione alla Business Intelligence Introduzione Definizione di Business Intelligence: insieme di processi per raccogliere

Dettagli

Data warehouse. Architettura complessiva con OLTP e OLAP OLTP. Sistemi di supporto alle decisioni

Data warehouse. Architettura complessiva con OLTP e OLAP OLTP. Sistemi di supporto alle decisioni Data warehouse Data warehouse La crescita dell importanza dell analisi dei dati ha portato ad una separazione architetturale dell ambiente transazionale (OLTP on-line transaction processing) da quello

Dettagli

Introduzione alla Business Intelligence

Introduzione alla Business Intelligence SOMMARIO 1. DEFINIZIONE DI BUSINESS INTELLIGENCE...3 2. FINALITA DELLA BUSINESS INTELLIGENCE...4 3. DESTINATARI DELLA BUSINESS INTELLIGENCE...5 4. GLOSSARIO...7 BIM 3.1 Introduzione alla Pag. 2/ 9 1.DEFINIZIONE

Dettagli

Data warehouse Introduzione

Data warehouse Introduzione Database and data mining group, Data warehouse Introduzione INTRODUZIONE - 1 Pag. 1 Database and data mining group, Supporto alle decisioni aziendali La maggior parte delle aziende dispone di enormi basi

Dettagli

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File system verso DBSM Vantaggi di un DBMS Modelli dei dati Utenti

Dettagli

Introduzione data warehose. Gian Luigi Ferrari Dipartimento di Informatica Università di Pisa. Data Warehouse

Introduzione data warehose. Gian Luigi Ferrari Dipartimento di Informatica Università di Pisa. Data Warehouse Introduzione data warehose Gian Luigi Ferrari Dipartimento di Informatica Università di Pisa Data Warehouse Che cosa e un data warehouse? Quali sono i modelli dei dati per data warehouse Come si progetta

Dettagli

Data warehousing Mario Guarracino Data Mining a.a. 2010/2011

Data warehousing Mario Guarracino Data Mining a.a. 2010/2011 Data warehousing Introduzione A partire dagli anni novanta è risultato chiaro che i database per i DSS e le analisi di business intelligence vanno separati da quelli operazionali. In questa lezione vedremo

Dettagli

Introduzione ai sistemi di basi di dati

Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Alessandro.bardine@gmail.com alessandro.bardine@iet.unipi.it Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File

Dettagli

Sistemi Informativi. Catena del valore di PORTER

Sistemi Informativi. Catena del valore di PORTER Sistemi Informativi Catena del valore di PORTER La catena del valore permette di considerare l'impresa come un sistema di attività generatrici del valore, inteso come il prezzo che il consumatore è disposto

Dettagli

Data warehousing Mario Guarracino Laboratorio di Sistemi Informativi Aziendali a.a. 2006/2007

Data warehousing Mario Guarracino Laboratorio di Sistemi Informativi Aziendali a.a. 2006/2007 Data warehousing Introduzione A partire dalla metà degli anni novanta è risultato chiaro che i database per i DSS e le analisi di business intelligence vanno separati da quelli operazionali. In questa

Dettagli

Architettura dei sistemi di database

Architettura dei sistemi di database 2 Architettura dei sistemi di database 1 Introduzione Come si potrà ben capire, l architettura perfetta non esiste, così come non è sensato credere che esista una sola architettura in grado di risolvere

Dettagli

Data Mining e Analisi dei Dati

Data Mining e Analisi dei Dati e Analisi dei Dati Rosaria Lombardo Dipartimento di Economia, Seconda Università di Napoli La scienza che estrae utili informazioni da grandi databases è conosciuta come E una disciplina nuova che interseca

Dettagli

ARCHIVI CLASSICI. Concetti di base

ARCHIVI CLASSICI. Concetti di base ARCHIVI CLASSICI Concetti di base Per svolgere una qualsiasi attività gestionale, amministrativa, o statistica è necessario utilizzare grandi quantità di dati e scegliere per essi una opportuna organizzazione,

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

Dettagli

Data Warehousing (DW)

Data Warehousing (DW) Data Warehousing (DW) Il Data Warehousing è un processo per estrarre e integrare dati storici da sistemi transazionali (OLTP) diversi e disomogenei, e da usare come supporto al sistema di decisione aziendale

Dettagli

Introduzione ai database I concetti fondamentali Database e DBMS Per comprendere appieno cos'è un Database e quali sono i vantaggi legati al suo impiego, soprattutto nel settore gestionale, è necessario

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

Data Warehousing e Data Mining

Data Warehousing e Data Mining Università degli Studi di Firenze Dipartimento di Sistemi e Informatica A.A. 2011-2012 I primi passi Data Warehousing e Data Mining Parte 2 Docente: Alessandro Gori a.gori@unifi.it OLTP vs. OLAP OLTP vs.

Dettagli

PDF created with pdffactory trial version www.pdffactory.com. Il processo di KDD

PDF created with pdffactory trial version www.pdffactory.com. Il processo di KDD Il processo di KDD Introduzione Crescita notevole degli strumenti e delle tecniche per generare e raccogliere dati (introduzione codici a barre, transazioni economiche tramite carta di credito, dati da

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Sistemi per le decisioni Dai sistemi gestionali ai sistemi di governo

Sistemi per le decisioni Dai sistemi gestionali ai sistemi di governo Sistemi per le decisioni Dai sistemi gestionali ai sistemi di governo Obiettivi. Presentare l evoluzione dei sistemi informativi: da supporto alla operatività a supporto al momento decisionale Definire

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Database e Microsoft Access. Ing. Antonio Guadagno

Database e Microsoft Access. Ing. Antonio Guadagno Database e Microsoft Access Ing. Antonio Guadagno Database e Microsoft Access Un Database non è altro che un insieme di contenitori e di strumenti informatici che ci permette di gestire grossi quantitativi

Dettagli

Data Warehousing: concetti base e metodologie

Data Warehousing: concetti base e metodologie Data Warehousing: concetti base e metodologie Paolo Atzeni (con la collaborazione di Luca Cabibbo e Riccardo Torlone) Università di Roma Tre Dipartimento di Informatica e Automazione atzeni@dia.uniroma3.it

Dettagli

SISTEMI INFORMATIVI AZIENDALI

SISTEMI INFORMATIVI AZIENDALI SISTEMI INFORMATIVI AZIENDALI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: Alla fine di ogni lezione Modalità esame: scritto 1 Data Warehousing. Introduzione 1/2 I data warehousing

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

SISTEMI INFORMATIVI AZIENDALI

SISTEMI INFORMATIVI AZIENDALI SISTEMI INFORMATIVI AZIENDALI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: Alla fine di ogni lezione Modalità esame: scritto 1 Data Mining. Introduzione La crescente popolarità

Dettagli

SISTEMI INFORMATIVI AZIENDALI

SISTEMI INFORMATIVI AZIENDALI SISTEMI INFORMATIVI AZIENDALI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: Alla fine di ogni lezione Modalità esame: scritto 1 Sistemi informazionali La crescente diffusione dei

Dettagli

Breve introduzione ai data warehouse (per gli allievi che non hanno seguito BD2)

Breve introduzione ai data warehouse (per gli allievi che non hanno seguito BD2) Tecnologie per i sistemi informativi Breve introduzione ai data warehouse (per gli allievi che non hanno seguito BD2) Letizia Tanca lucidi tratti dal libro: Atzeni, Ceri, Paraboschi, Torlone Introduzione

Dettagli

Introduzione ad OLAP (On-Line Analytical Processing)

Introduzione ad OLAP (On-Line Analytical Processing) Introduzione ad OLAP (On-Line Analytical Processing) Metodi e Modelli per il Supporto alle Decisioni 2002 Dipartimento di Informatica Sistemistica e Telematica (Dist) Il termine OLAP e l acronimo di On-Line

Dettagli

Data warehousing con SQL Server

Data warehousing con SQL Server Data warehousing con SQL Server SQL Server è un RDBMS (Relational DataBase Management System) Analysis Services è un componente di SQL Server che offre un insieme di funzionalità di supporto al data warehousing

Dettagli

Basi di dati. Basi di dati = database. Basi di dati

Basi di dati. Basi di dati = database. Basi di dati Basi di dati Da leggere: Cap. 6 Sawyer, Williams (testo A) Basi di dati = database Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi -> oggi anche

Dettagli

Archivi e database. Lezione n. 7

Archivi e database. Lezione n. 7 Archivi e database Lezione n. 7 Dagli archivi ai database (1) I dati non sempre sono stati considerati dall informatica oggetto separato di studio e di analisi Nei primi tempi i dati erano parte integrante

Dettagli

Cosa è un data warehouse?

Cosa è un data warehouse? Argomenti della lezione Data Warehousing Parte I Introduzione al warehousing cosa è un data warehouse classificazione dei processi aziendali sistemi di supporto alle decisioni elaborazione OLTP e OLAP

Dettagli

DATA MINING E DATA WAREHOUSE

DATA MINING E DATA WAREHOUSE Reti e sistemi informativi DATA MINING E DATA WAREHOUSE Marco Gottardo FONTI Wikipedia Cineca Università di Udine, Dipartimento di fisica, il data mining scientifico thepcweb.com DATA MINING 1/2 Il Data

Dettagli

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

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Rassegna sui principi e sui sistemi di Data Warehousing

Rassegna sui principi e sui sistemi di Data Warehousing Università degli studi di Bologna FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Rassegna sui principi e sui sistemi di Data Warehousing Tesi di laurea di: Emanuela Scionti Relatore: Chiar.mo Prof.Montesi

Dettagli

DATA WAREHOUSING CON JASPERSOFT BI SUITE

DATA WAREHOUSING CON JASPERSOFT BI SUITE UNIVERSITÁ DEGLI STUDI DI MODENA E REGGIO EMILIA Dipartimento di Ingegneria di Enzo Ferrari Corso di Laurea Magistrale in Ingegneria Informatica (270/04) DATA WAREHOUSING CON JASPERSOFT BI SUITE Relatore

Dettagli

Cultura Tecnologica di Progetto

Cultura Tecnologica di Progetto Cultura Tecnologica di Progetto Politecnico di Milano Facoltà di Disegno Industriale - DATABASE - A.A. 2003-2004 2004 DataBase DB e DataBase Management System DBMS - I database sono archivi che costituiscono

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Base Dati Introduzione

Base Dati Introduzione Università di Cassino Facoltà di Ingegneria Modulo di Alfabetizzazione Informatica Base Dati Introduzione Si ringrazia l ing. Francesco Colace dell Università di Salerno Gli archivi costituiscono una memoria

Dettagli

Introduzione al data base

Introduzione al data base Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli

Dettagli

Introduzione al KDD e al DATA MINING

Introduzione al KDD e al DATA MINING Introduzione al KDD e al DATA MINING Vincenzo Antonio Manganaro vincenzomang@virgilio.it, www.statistica.too.it Indice 1 Verso il DM: una breve analisi delle fasi del processo KDD. 1 2 Il DM: Alcune definizioni.

Dettagli

KNOWLEDGE MANAGEMENT. Knowledge Management. Knowledge: : cos è. Dispense del corso di Gestione della Conoscenza d Impresa

KNOWLEDGE MANAGEMENT. Knowledge Management. Knowledge: : cos è. Dispense del corso di Gestione della Conoscenza d Impresa KNOWLEDGE MANAGEMENT Pasquale Lops Giovanni Semeraro Dispense del corso di Gestione della Conoscenza d Impresa 1/23 Knowledge Management La complessità crescente della società, l esubero di informazioni

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

File e indici. Tecnologia delle BD: perché studiarla? Le basi di dati sono grandi e persistenti. DataBase Management System DBMS

File e indici. Tecnologia delle BD: perché studiarla? Le basi di dati sono grandi e persistenti. DataBase Management System DBMS 1 Tecnologia delle BD: perché studiarla? File e indici I DBMS offrono i loro servizi in modo "trasparente": per questo abbiamo potuto finora ignorare molti aspetti realizzativi abbiamo considerato il DBMS

Dettagli

CONFRONTO TRA DBMS RELAZIONALI, A COLONNE E NOSQL

CONFRONTO TRA DBMS RELAZIONALI, A COLONNE E NOSQL CONFRONTO TRA DBMS RELAZIONALI, A COLONNE E NOSQL Università degli Studi di Modena e Reggio Emilia Dipartimento di Ingegneria Enzo Ferrari di Modena Corso di Laurea in Ingegneria Informatica (L.270/04)

Dettagli

Database. Informatica 2014-2015 - Dott. Muzzioli Valerio. 1 di 1. Argomenti trattati: Nozioni di base: i database, i modelli di dati, DBMS

Database. Informatica 2014-2015 - Dott. Muzzioli Valerio. 1 di 1. Argomenti trattati: Nozioni di base: i database, i modelli di dati, DBMS Database Argomenti trattati: Nozioni di base: i database, i modelli di dati, DBMS Database relazionali: tabelle, campi, record; indici di taballa Chiavi primarie ed esterne Relazioni tra tabelle: definizione

Dettagli

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Basi di dati: Microsoft Access INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Database e DBMS Il termine database (banca dati, base di dati) indica un archivio, strutturato in modo tale

Dettagli

Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07

Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07 Relazione Pinakes3 Analisi modello di business (BOZZA) di Valeriano Sandrucci 08/09/07 1. Introduzione...3 1.2. Application vs Tool... 3 2. Componenti logiche di un modello... 6 3. Ontologie e Semantic

Dettagli

Data warehousing con SQL Server

Data warehousing con SQL Server Data warehousing con SQL Server! SQL Server è un RDBMS (Relational DataBase Management System)! Analysis Services è un componente di SQL Server che offre un insieme di funzionalità di supporto al data

Dettagli

Indice. settembre 2008 Il File System 2

Indice. settembre 2008 Il File System 2 Il File System Indice 4. Il File System 5. Vantaggi del FS 6. Protezione 7. Condivisione 8. I file - 1 9. I file - 2 10. Attributi dei file 11. Directory 12. Livelli di astrazione - 1 13. Livelli di astrazione

Dettagli

I sistemi di reporting e i rapporti direzionali

I sistemi di reporting e i rapporti direzionali I sistemi di reporting e i rapporti direzionali Reporting - Sintesi dei fenomeni aziendali secondo modelli preconfezionati e con frequenza e aggiornamento prestabiliti - contabile (dati economici) - extracontabile

Dettagli

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Roccatello Ing. Eduard L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Agenda Presentazione docente Definizione calendario Questionario pre corso

Dettagli

Data Warehouse Architettura e Progettazione

Data Warehouse Architettura e Progettazione Introduzione Data Warehouse Architettura! Nei seguenti lucidi verrà fornita una panoramica del mondo dei Data Warehouse.! Verranno riportate diverse definizioni per identificare i molteplici aspetti che

Dettagli

Il DATABASE Access. Concetti Fondamentali

Il DATABASE Access. Concetti Fondamentali Il DATABASE Access Concetti Fondamentali Con la nascita delle comunità di uomini, si è manifestata la necessità di conservare in maniera ordinata informazioni per poi poterne usufruire in futuro. Basta

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

BASI DI DATI. Queste slides sono un adattamento di quelle di Luca Anselma e Gian Luca Pozzato, cui va il mio ringraziamento

BASI DI DATI. Queste slides sono un adattamento di quelle di Luca Anselma e Gian Luca Pozzato, cui va il mio ringraziamento BASI DI DATI Queste slides sono un adattamento di quelle di Luca Anselma e Gian Luca Pozzato, cui va il mio ringraziamento BASI DI DATI (DATABASE, DB) Una delle applicazioni informatiche più utilizzate,

Dettagli

Tecniche di DM: Link analysis e Association discovery

Tecniche di DM: Link analysis e Association discovery Tecniche di DM: Link analysis e Association discovery Vincenzo Antonio Manganaro vincenzomang@virgilio.it, www.statistica.too.it Indice 1 Architettura di un generico algoritmo di DM. 2 2 Regole di associazione:

Dettagli

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Le Basi di dati: generalità. Unità di Apprendimento A1 1 Le Basi di dati: generalità Unità di Apprendimento A1 1 1 Cosa è una base di dati In ogni modello di organizzazione della vita dell uomo vengono trattate informazioni Una volta individuate e raccolte devono

Dettagli

Architetture per l analisi di dati

Architetture per l analisi di dati Architetture per l analisi di dati Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 8 Appunti dalle lezioni Motivazioni I sistemi informatici permettono di aumentare la produttività

Dettagli

SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015. Ripasso programmazione ad oggetti. Basi di dati: premesse introduttive

SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015. Ripasso programmazione ad oggetti. Basi di dati: premesse introduttive SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015 ASSE DISCIPLINA DOCENTE MATEMATICO INFORMATICA Cattani Barbara monoennio CLASSE: quinta CORSO D SEZIONE LICEO SCIENZE APPLICATE

Dettagli

Basi di Dati Complementi Esercitazione su Data Warehouse

Basi di Dati Complementi Esercitazione su Data Warehouse Sommario Basi di Dati Complementi Esercitazione su Data Warehouse 1. Riassunto concetti principali dalle slide della lezione di teoria 2.Studio di caso : progettazione di un Data Warehouse di una catena

Dettagli

Sistemi Informativi La Modellazione Dimensionale dei Fatti. Obiettivi Concetti Base Operazioni OLAP DFM Casi Modellazione Logica Esercizi

Sistemi Informativi La Modellazione Dimensionale dei Fatti. Obiettivi Concetti Base Operazioni OLAP DFM Casi Modellazione Logica Esercizi Sistemi Informativi La Modellazione Dimensionale dei Fatti Obiettivi Concetti Base Operazioni OLAP DFM Casi Modellazione Logica Esercizi Obiettivi Nelle lezioni precedenti abbiamo modellato i processi

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 A2 Introduzione ai database 1 Prerequisiti Concetto di sistema File system Archivi File e record 2 1 Introduzione Nella gestione di una attività, ad esempio un azienda, la

Dettagli

Sistema di Gestione di Basi di Dati DataBase Management System DBMS

Sistema di Gestione di Basi di Dati DataBase Management System DBMS Base di dati (accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione (accezione specifica) collezione di dati

Dettagli

Sistemi informativi aziendali

Sistemi informativi aziendali Sistemi informativi aziendali Lezione 12 prof. Monica Palmirani Sistemi informativi e informatici Sistemi informativi = informazioni+processi+comunicazione+persone Sistemi informatici = informazioni+hardware+software

Dettagli

DATABASE. nozioni di base

DATABASE. nozioni di base DATABASE nozioni di base Un database è una raccolta di informazioni organizzata in modo da poter essere facilmente accessibile per consultazione, modifiche e aggiornamenti. All'inizio della storia dei

Dettagli

Utilizzo Gestione dei file

Utilizzo Gestione dei file Utilizzo Gestione dei file Info su questo bollettino tecnico L'intento di questo bollettino tecnico è di aiutare gli sviluppatori FileMaker esperti a comprendere meglio e ad applicare le migliori metodologie

Dettagli

DEFINIZIONI FONDAMENTALI

DEFINIZIONI FONDAMENTALI Consorzio per la formazione e la ricerca in Ingegneria dell'informazione DEFINIZIONI FONDAMENTALI Per vincere ci vuole una buona partenza... Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it

Dettagli

Data Warehousing. Argomenti della lezione. Rappresentazioni dei dati. Rappresentazione dei dati. Parte II Analisi multidimensionale

Data Warehousing. Argomenti della lezione. Rappresentazioni dei dati. Rappresentazione dei dati. Parte II Analisi multidimensionale Argomenti della lezione Data Warehousing Parte II Analisi multidimensionale richiami sul data warehousing organizzazione di un data warehouse l analisi multidimensionale data warehousing e internet strumenti

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto INTRODUZIONE AI SISTEMI DI BASI

Dettagli

Data mining e rischi aziendali

Data mining e rischi aziendali Data mining e rischi aziendali Antonella Ferrari La piramide delle componenti di un ambiente di Bi Decision maker La decisione migliore Decisioni Ottimizzazione Scelta tra alternative Modelli di apprendimento

Dettagli

Basi di dati. Introduzione. Una breve introduzione sulla suite di OpenOffice.org e la gestione dei database

Basi di dati. Introduzione. Una breve introduzione sulla suite di OpenOffice.org e la gestione dei database Basi di dati Introduzione Una breve introduzione sulla suite di OpenOffice.org e la gestione dei database OpenOffice.org (www.openoffice.org) è un potente software opensource che ha, quale scopo primario,

Dettagli

Governo Digitale a.a. 2011/12

Governo Digitale a.a. 2011/12 Governo Digitale a.a. 2011/12 I sistemi di supporto alle decisioni ed il Data Warehouse Emiliano Casalicchio Agenda Introduzione i sistemi di supporto alle decisioni Data warehouse proprietà architettura

Dettagli

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita;

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita; .netbin. è un potentissimo strumento SVILUPPATO DA GIEMME INFORMATICA di analisi dei dati con esposizione dei dati in forma numerica e grafica con un interfaccia visuale di facile utilizzo, organizzata

Dettagli

Sistemi Informativi Aziendali I

Sistemi Informativi Aziendali I Modulo 6 Sistemi Informativi Aziendali I 1 Corso Sistemi Informativi Aziendali I - Modulo 6 Modulo 6 Integrare verso l alto e supportare Managers e Dirigenti nell Impresa: Decisioni più informate; Decisioni

Dettagli

Excel_2000 DataBase Capitolo 13. 13-1 - Introduzione

Excel_2000 DataBase Capitolo 13. 13-1 - Introduzione Capittol lo 13 DataBase 13-1 - Introduzione Il termine DATABASE è molto utilizzato, ma spesso in modo inappropriato; generalmente gli utenti hanno un idea di base di dati sbagliata: un database è una tabella

Dettagli

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

LABORATORIO. 2 Lezioni su Basi di Dati Contatti: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni R.M. Capocelli Laboratorio

Dettagli

Progettazione concettuale

Progettazione concettuale Progettazione concettuale Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi

Dettagli

SCHEDE DI INFORMATICA GLI ARCHIVI E LE BASI DI DATI

SCHEDE DI INFORMATICA GLI ARCHIVI E LE BASI DI DATI SCHEDE DI INFORMATICA GLI ARCHIVI E LE BASI DI DATI Il Database è una collezione di archivi di dati ben organizzati e ben strutturati, in modo che possano costituire una base di lavoro per utenti diversi

Dettagli

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE I DATABASE o basi di dati possono essere definiti come una collezione di dati gestita dai DBMS. Tali basi di dati devono possedere determinati requisiti, definiti come specifiche, necessarie per il processo

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

Lezione 3. Modello Multidimensionale dei Dati Metadati per il Data Warehousing Accesso ai Data Warehouses Implementazioni per il Data Warehousing

Lezione 3. Modello Multidimensionale dei Dati Metadati per il Data Warehousing Accesso ai Data Warehouses Implementazioni per il Data Warehousing Lezione 3 Modello Multidimensionale dei Dati Metadati per il Data Warehousing Accesso ai Data Warehouses Implementazioni per il Data Warehousing 27/02/2010 1 Modello multidimensionale Nasce dall esigenza

Dettagli

disponibili nel pacchetto software.

disponibili nel pacchetto software. Modulo syllabus 4 00 000 00 0 000 000 0 Modulo syllabus 4 DATABASE 00 000 00 0 000 000 0 Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

I sistemi informativi aziendali nell'era di Internet. Di Roberta Molinari

I sistemi informativi aziendali nell'era di Internet. Di Roberta Molinari I sistemi informativi aziendali nell'era di Internet Di Roberta Molinari 1 Azienda Ogni impresa si organizza in base: alla sua missione o mission (lo scopo per cui è nata: produrre scarpe) ai suoi obiettivi

Dettagli

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L. DATA WAREHOUSE Un Dataware House può essere definito come una base di dati di database. In molte aziende ad esempio ci potrebbero essere molti DB, per effettuare ricerche di diverso tipo, in funzione del

Dettagli

Access - Lezione 02. Basi di dati. Parte seconda. (Per andare direttamente su un argomento, fare clic con il mouse sul titolo nell indice sottostante)

Access - Lezione 02. Basi di dati. Parte seconda. (Per andare direttamente su un argomento, fare clic con il mouse sul titolo nell indice sottostante) Access - Lezione 02 Basi di dati Parte seconda (Per andare direttamente su un argomento, fare clic con il mouse sul titolo nell indice sottostante) 1.0 Operazioni di base 1.1 Impostare e pianificare un

Dettagli

Sistemi Informativi Aziendali II

Sistemi Informativi Aziendali II Modulo 2 Sistemi Informativi Aziendali II 1 Corso Sistemi Informativi Aziendali II - Modulo 2 Modulo 2 La gestione delle informazioni strutturate nell impresa: La progettazione di un Data Base; Le informazioni

Dettagli

ARCHIVI E LORO ORGANIZZAZIONI

ARCHIVI E LORO ORGANIZZAZIONI ARCHIVI E LORO ORGANIZZAZIONI Archivio: - insieme di registrazioni (record), ciascuna costituita da un insieme prefissato di informazioni elementari dette attributi (campi) - insieme di informazioni relative

Dettagli

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

Dettagli

InfoTecna ITCube Web

InfoTecna ITCube Web InfoTecna ITCubeWeb ITCubeWeb è un software avanzato per la consultazione tramite interfaccia Web di dati analitici organizzati in forma multidimensionale. L analisi multidimensionale è il sistema più

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

Appunti lezione Database del 07/10/2015

Appunti lezione Database del 07/10/2015 Appunti lezione Database del 07/10/2015 Nelle lezioni precedenti si è visto come qualunque applicazione informativa è almeno formata da tre livelli o layers che ogni progettista conosce e sa gestire: Livello

Dettagli

Introduzione al data warehousing

Introduzione al data warehousing Introduzione al data warehousing, Riccardo Torlone aprile 2012 1 Motivazioni I sistemi informatici permettono di aumentare la produttività delle organizzazioni automatizzandone la gestione quotidiana dei

Dettagli

Informatica 2 Basi di dati

Informatica 2 Basi di dati Informatica 2 Basi di dati Prof. Giovanni Giuffrida e-mail: giovanni.giuffrida@dmi.unict.it DB - Introduzione 1 Recapiti Prof. Giuffrida Giovanni Email: giovanni.giuffrida@dmi.unict.it Info sul corso:

Dettagli

Data Warehouse: una sola lingua. Iolanda Salinari

Data Warehouse: una sola lingua. Iolanda Salinari Data Warehouse: una sola lingua Iolanda Salinari 2 Il Glossario: uno strumento prezioso Uno dei fattori critici per la realizzazione del data warehouse è costituito dalle difficoltà che si incontrano per

Dettagli