giovedì 3 giugno 2010
KEY PERFORMANCE INDICATORS (KPI)
I KPI si differenziano da organizzazione ad organizzazione, ma qualunque siano i KPI scelti, essi devono riflettere gli obiettivi dell'organizzazione, devono essere le chiavi per misurarne il successo. I Key Performance Indicators sono generalmente indicatori di lungo periodo e non cambiano spesso visto che sono strettamente legati agli obiettivi dell'organizzazione.
Ci sono tre tipi di indicatori:
- Gli indicatori di efficienza misurano la produttività e i costi unitari relativi agli output di uno o più processi, che possono avere come destinatari clienti esterni e interni.
- Gli indicatori di qualità misurano la qualità dell'output di processo, in base a determinati standard.
- Gli indicatori di servizio valutano la qualità dei servizi, la flessibilità e la reattività dei fornitori nei confronti delle richieste dei clienti.
mercoledì 2 giugno 2010
ACCESS, EXCEL E POWERPOINT
Microsoft Access è utilizzato per creare e gestire database. Con Access è possibile creare archivi di dati come tabelle, query, maschere, report.
Le tabelle possono essere create utilizzando la funzione "visualizzazione struttura" in cui occorre denominare i campi specificandone la tipologia di appartenenza (testo, numerico, data/ora, valuta...). Dopo aver creato la tabella e le colonne di cui è composta si possono inserire al suo interno i dati di interesse. Le query servono per estrarre o manipolare i dati all'interno del DB. Le maschere, l'interfaccia primaria tra utente e database in Access, consentono di visualizzare, modificare, inserire o eliminare i dati in maniera più semplice. I report infine ci permettono di visualizzare in maniera ordinata le informazioni richieste tramite le query.
EXCEL
Excel è un foglio elettronico che permette di creare tabelle tra loro collegate. Il principio su cui si basa il foglio di calcolo è semplice: fornire una tabella, detta anche foglio di lavoro, formata da celle in cui si possono inserire dati, numeri o formule. Le celle sono la base fondamentale del foglio di calcolo, esse, per essere riconoscibili, sono costituite da una lettera e un numero. Le colonne sono indicate dalle lettere, le righe dai numeri.
Per ogni cella può essere scelta una determinata formattazione: carattere, dimensione e colore del carattere, grassetto, corsivo, colore e elementi dello sfondo.
Una cella può contenere un numero o del testo, o eseguire una formula e una funzione su altre celle.
POWERPOINT
PowerPoint è un'applicazione software che consente di creare schermate con foto e testi colorati, illustrazioni, disegni, tabelle, grafici, filmati e transazioni da un elemento all'altro da visualizzare come una sequenza di diapositive. È inoltre possibile animare mediante l'apposita funzionalità le illustrazioni e i testi visualizzati, nonché aggiungere effetti sonori e commenti audio. È infine possibile stampare il materiale da distribuire nel corso di una presentazione.
DATA MINING E CRM
Le tecniche maggiormente utilizzate, in questo ambito, sono: clustering, reti neurali, alberi di decisione ed analisi delle associazioni.
Database marketing: (segmentazione della clientela) applicazione di tecniche di clustering per individuare i raggruppamenti impliciti nei dati, omogenei in termini di comportamento d’acquisto e di caratteristiche socio-demografiche.
Customer retention: applicazione di tecniche previsive per individuare i clienti a rischio di abbandono.
Fraud detection: individuazione di comportamenti fraudolenti.
Market basket analysis: (analisi delle associazioni) processo che analizza le abitudini di acquisto dei clienti nella vendita al dettaglio, trovando associazioni su diversi prodotti comprati, tale processo è utile per l'adozione di strategie di marketing ad hoc.
Sequential patterns: individuazione di comportamenti ricorrenti in sequenze temporali di eventi
Competitive intelligence: applicazione di tecniche di clustering a documenti estratti da banche dati internazionali di tipo tecnicoscientifico volte ad individuare le tecnologie emergenti, le loro relazioni, l’evoluzione temporale e le aziende coinvolte
Text mining: (analisi testuale) è una particolare applicazione che consente di individuare sequenze di parole (pattern) che accomunano e caratterizzano un insieme di documenti e che consentono perciò il raggruppamento tematico. Questo tipo di applicazione è particolarmente utile quando si deve analizzare il contenuto di una collezione di documenti.
In questo contesto, per progetto si intende l’applicazione di tecniche di data mining in un ambito specifico e circoscritto, per il raggiungimento di uno specifico obiettivo.
Ogni progetto si articola nelle seguenti fasi:
- Individuazione delle fonti di dati
- Estrazione / acquisizione dei dati
- Pre-processing (Pulizia dei dati – Analisi esplorative - Selezione - Trasformazione - Formattazione)
- Data Mining (Scelta dell'algoritmo - Individuazione dei parametri - Elaborazione - Valutazione del modello)
- Interpretazione / valutazione dei risultati
- Rappresentazione dei risultati
Il concetto di Customer relationship management (CRM) è legato al concetto di fidelizzazione dei clienti.
In un'impresa "Market-oriented" il mercato non è più rappresentato solo dal cliente ma dall'ambiente circostante, con il quale l'impresa deve stabilire relazioni durevoli di breve e lungo periodo, tenendo conto dei valori dell'individuo/cliente, della società e dell'ambiente. Quindi l'attenzione verso il cliente è cruciale e determinante. Per questo motivo il marketing management deve pianificare e implementare apposite strategie per gestire una risorsa così importante.
Il CRM si spinge sostanzialmente secondo quattro direzioni differenti e separate:
- L'acquisizione di nuovi clienti (o "clienti potenziali")
- L'aumento delle relazioni con i clienti più importanti
- La fidelizzazione più longeva possibile dei clienti che hanno maggiori rapporti con l'impresa
- La trasformazioni degli attuali clienti in procuratori, ossia consumatori che lodano l’azienda incoraggiando altre persone a rivolgersi alla stessa per i loro acquisti
Alcune aziende cercano di non tenere conto di clienti che hanno poca importanza (definiti in gergo "clienti sotto-zero") e attuano delle implicite tecniche definite come "Demarketing".
Il CRM si articola in 3 tipologie:
- CRM operativo: soluzioni metodologiche e tecnologiche per automatizzare i processi di business che prevedono il contatto diretto con il cliente.
- CRM analitico: procedure e strumenti per migliorare la conoscenza del cliente attraverso l'estrazione di dati dal CRM operativo, la loro analisi e lo studio revisionale sui comportamenti dei clienti stessi.
- CRM collaborativo: metodologie e tecnologie integrate con gli strumenti di comunicazione (telefono, fax, e-mail, ecc.) per gestire il contatto con il cliente.
Il CRM si avvale, in maniera sempre più massiccia, di strumenti informatici o comunque automatizzati, per implementare il management, è un concetto strettamente legato alla strategia, alla comunicazione, all'integrazione tra i processi aziendali, alle persone ed alla cultura, che pone il cliente al centro dell'attenzione.
Le applicazioni CRM servono a tenersi in contatto con la clientela, a inserire le loro informazioni nel database e a fornire loro modalità per interagire in modo che tali interazioni possano essere registrate e analizzate.
DATATIME
DataTime Reporting Solution è il software di reportistica sviluppato dalla società italiana DataTime ed è la soluzione di reportistica più moderna e potente attualmente disponibile sul mercato. Potente ma allo stesso tempo "user friendly", questo programma consente di creare report di qualsiasi tipo (verticali, orizzontali, misti) e dotati di una grafica veramente eccellente.
Per quanto riguarda la connettività, DataTime si basa sul protocollo universale OleDB e grazie ad esso è in grado di connettersi a svariati DBMS come Access, Oracle, MySql. I DBMS possono inoltre essere collocati su qualsiasi computer e sistema operativo e dislocati in qualsiasi parte del mondo.
Per quanto riguarda la pubblicazione del report in rete, DataTime offre all'utenza due distinte possibilità:
-Updatable: procedura tramite cui il report pubblicato on-line risulta solamente consultabile.
-Interactive: l'utenza in questo caso può interagire con il report ed ha la possibilità di effettuare su di esso delle modifiche e addirittura un redesign remoto.
Inoltre i report web di DataTime essendo validati come html "4.01 strict" risultano compatibili con tutti i browser e possono essere esportati verso EXCEL e trasformati in file PDF o pagine HTML.
Il termine Charting usato in DataTime indica tutti quei processi e operazioni riguardanti la rappresentazione grafica del report.
Il sistema di rappresentazione grafica di DataTime è uno dei più potenti in circolazione e offre grafici molto flessibili che possono essere sezionati, modificati e ricolorati a discrezione dell'utenza. Inoltre ad ogni report possono essere aggiunte immagini, grafici e cruscotti personalizza che riflettono i valori presenti nelle tabelle del report.
Il software di reportistica DataTime consente di creare report secondo due distinte modalità:
1) QUICK: cliccando sul comando "Quick Report" il software genera in automatico le regole di estrazione dati per la creazione di Report standard. Questo approccio semplifica e abbrevia il processo di creazione di documenti aziendali.
2) NON QUICK: seguendo questa modalità invece è possibile creare in un primo momento il proprio personale Data Source (file contenente le regole di estrazione dei dati dal database) e sulla base di questo generare successivamente i Datagrid (griglie di dati) e i Report.
Per dare prova della semplicità d'uso di DataTime, qui di seguito saranno elencate le operazioni da eseguire per creare un report:
- Dopo aver aperto il programma, cliccare su "New Project" per avviare un nuovo lavoro e dargli un nome.
- Per aprire la schermata del proprio progetto cliccare su "Open Project" e in seguito su "New Connection" per collegare DataTime al DBMS in cui sono contenuti i dati di nostro interesse
- Dopo aver creato e salvato la connessione possiamo aprire la schermata che ci illustra il contenuto del database con le relative tabelle.
-In seguito occorre selezionare la tabella che vogliamo rappresentare nel report e cliccare su "Quick Report". E' in questo frangente che possono essere effettuate le operazioni di Slice and Dice sul data cube e stabilire il layout del report.
- A questo punto cliccando sul comando "Generate" avremo la rappresentazione grafica finale del nostro report, in cui volendo possiamo cambiare i colori delle tabelle e aggiungere altri elementi grafici.
ESEMPIO CREAZIONE REPORT:
SISTEMI DI REPORTISTICA
Le organizzazioni raccolgono informazioni per trarre valutazioni e stime riguardo al contesto aziendale proprio e del mercato cui partecipano (Ricerche di mercato e Analisi del contesto Concorrenziale). Le organizzazioni utilizzano le informazioni raccolte attraverso una strategia di business intelligence per incrementare il loro vantaggio competitivo.
Generalmente le informazioni vengono raccolte per scopi direzionali interni e per il controllo di gestione. I dati raccolti vengono opportunamente elaborati e vengono utilizzati per supportare concretamente – sulla base di dati attuali – le decisioni di chi occupa ruoli direzionali (capire l’andamento delle performance dell’azienda, generare stime previsionali, ipotizzare scenari futuri e future strategie di risposta). In secondo luogo le informazioni possono essere analizzate a differenti livelli di dettaglio e gerarchico per qualsiasi altra funzione aziendale: marketing, commerciale, finanza, personale o altre.
I sistemi di Reportistica hanno favorito la nascita ed il proliferare di una categoria di prodotti per la cosiddetta ‘Office Automation’. Tali prodotti – per lo sviluppo dei quali si sono fatte concorrenza le maggiori software-house mondiali – si sono nel corso degli anni evoluti ed hanno allargato il loro spettro di standardizzazione fino a divenire strumenti integrati con quelli propri della Business Intelligence convergendo verso vere e proprie piattaforme di ‘Desktop Automation’.
I software commerciali più diffusi sul mercato sono:
- Actuate
- Business Objects
- Cognos
- DataTime
- Microstrategy.
martedì 1 giugno 2010
Sistemi informativi aziendali: Data Warehouse, Data Mart, DBS federati, DSS. Situazione DBMS industry: DB2, Informix, sistemi ERP.
Nei vari Database transazionali dell'organizzazione vengono inizialmente archiviati i dati, che in seguito, tramite gli strumenti ETL, vengono ripuliti e inviati al Data Warehouse, l'archivio centrale dell'azienda.
Un data warehouse è letteralmente un magazzino di dati, ovvero un archivio informatico che contiene una determinata mole di dati. I DW sono progettati per gestire le informazioni e predisporle ad analisi e relazioni. Il Data Warehouse, quindi, descrive il processo di acquisizione, trasformazione e distribuzione di informazioni presenti all'interno o all'esterno delle aziende come supporto ai decision maker. Un DW comprende anche gli strumenti finalizzati alla estrazione, alla modifica e all’update dei dati, nonché quelli atti al recupero dei metadati e gli strumenti di business intelligence.
Secondo William H. Inmon, il primo a parlare di Data Warehouse, è una raccolta di dati integrata, orientata al soggetto, variabile nel tempo e non volatile, di supporto ai processi decisionali. L'integrazione dei dati costituisce la principale caratteristica distintiva del DW rispetto ad altri sistemi di supporto alle decisioni. Il termine integrazione si riferisce al fatto che in un DW convergono dati provenienti da diversi sistemi transazionali e da fonti esterne. Questa convergenza avviene mediante l'utilizzo di metodi di codifica uniformi, oppure attraverso il perseguimento di una omogeneità semantica di tutte le variabili, o ancora mediante l'utilizzo delle stesse unità di misura. Il DW è orientato a temi aziendali specifici. I dati vengono archiviati in modo da essere facilmente letti o elaborati dagli utenti. I dati archiviati all'interno di un DW riguardano lassi temporali nettamente superiori rispetto a quelli dei dati archiviati in un sistema operativo. Difatti i DW contengono informazioni relative ad aree di interesse contingenti, con tutto il background di riferimento. Ciò comporta che i dati contenuti in un DW siano aggiornati fino ad una certa data che, nella maggior parte dei casi, è antecedente a quella in cui l'utente interroga il sistema. Ciò differisce da quanto si verifica in un sistema transazionale, nel quale i dati corrispondono sempre ad una situazione aggiornata, solitamente incapace di fornire un quadro storico del fenomeno analizzato. I dati contenuti nei DW non sono volatili, nella misura in cui non possono essere modificati dagli utenti, ma solo letti. Il Data Warehouse è un sistema OLAP (On-Line Analytical Processing, tecniche software per l'analisi interattiva e veloce di grandi quantità di dati) che differisce dai sistemi OLTP (On Line Transaction Processing), sebbene i dati provengano da questi ultimi.
I sistemi OLAP sono sistemi orientati al soggetto, sono integrati, storici e permanenti. Non comprendono dati analitici e statici come i sistemi OLTP, inoltre i dati OLAP non sono adatti ad uso corrente, ma vengono usati per analisi.
I dati filtrati dai sistemi transazionali possono essere memorizzati anche all'interno di un Data Mart.
Il Data Mart è un DW di piccole dimensioni specializzato in una particolare area di business. Quindi in un sistema informativo aziendale possiamo avere molteplici Data Mart indirizzati a differenti attività e scopi.
La differenza fondamentale consiste nel fatto che la creazione del DW avviene in maniera generalizzata per poi venire incontro alle specifiche esigenze, mentre il Data Mart viene generalmente creato per venire incontro ad un'esigenza specifica e già determinata.
Il DBS federato definisce un tipo di meta-DBMS che integra più database autonomi in un unico DBS federato. Tali database sono interconnessi attraverso una rete di computer, e possono essere geograficamente decentrati.
Attraverso l'estrazione dei dati, i sistemi di database federati sono in grado di fornire un'interfaccia utente front-end, che permette agli utenti di memorizzare e recuperare i dati in database multipli non contigui con una singola query. A tal fine, i DBS federati devono essere in grado di decomporre le query in sottoquery, dopo di che il sistema deve aver composto la serie di risultati della sotto-query. Dato che i vari sistemi di gestione di database utilizzano diversi linguaggi di query, i sistemi di database federati possono applicare i wrapper alle sotto-query per tradurle in un linguaggio query appropriato.
Un Sistema di Supporto Decisionale (DSS) è un software basato su sistema interattivo creato per aiutare i responsabili istituzionali a raccogliere informazioni utili a partire da una combinazione di dati grezzi, documenti, conoscenza personale, o modelli di business per identificare e risolvere i problemi e prendere decisioni.
Le tre componenti fondamentali di un DSS sono il database, il modello (contesto decisionale e i criteri degli utenti) e l' interfaccia utente. Gli utenti stessi sono componenti importanti dell'architettura.
DBMS industry:
DB2: relational database managment (RDBMS)della Ibm, secondo molti è stato il primo prodotto a utilizzare il linguaggio SQL. Oggi DB2 risulta il primo database ibrido, con modello relazionale e XML. Questo favorisce la gestione di applicazioni che interagiscono con documenti XML.
Informix è l'altro RDBMS acquistato dalla Ibm nel 2001.
L' ERP ( Enterprise Resource Planning): letteralmente "pianificazione delle risorse d'impresa " serve a facilitare il flusso d'informazioni tra tutte le funzioni interne alla società quali vendite, acquisti, gestione magazzino, logistica, finanza e risorse umane.
Gli ERP sono dei software progettati per automatizzare le "routine organizzative" Tali applicazioni, riducono i costi di coordinamento delle transazioni, ma non ne modificano la natura. Il loro vantaggio è quello di permettere la realizzazione di collegamenti tra le diverse fasi della catena del valore a costi inferiori e più velocemente dei sistemi informativi tradizionali, consentendo d'acquisire un vantaggio competitivo sostenibile nei confronti dei concorrenti che non utilizzano tali sistemi.
Dashboard è un'applicazione per il sistema operativo Mac OS X sviluppata dalla Apple Inc., che consente di attivare con un tasto delle mini-applicazioni, chiamate widget, quando servono, e successivamente di farle sparire dal desktop quando non servono più. I widget sono programmi che per la maggior parte del tempo vengono ignorati dall'utente tranne per un breve periodo in cui gli sono utili. Quando il Dashboard è attivato, il desktop dell'utente si oscura e i widget appaiono in primo piano. Come le finestre delle applicazioni, essi possono essere spostati, riordinati, eliminati e ricreati. L'utilizzo effettivo di Dashboard è ampiamente ritenuto basso e la produzione di nuovi widget è rallentata notevolmente dopo la produzione della prima applicazione
ANSI E SINTASSI DI BASE DELL'SQL
L'acronimo ANSI SQL sta per Structured Query Language dell'American National Standards Institute e si riferisce ad uno standard creato per il famoso linguaggio di interrogazione SQL. Oltre allo standard ANSI esiste quello ISO (International Organization for Standardization). L'American National Standards Institute è una organizzazione privata no-profit statunitense che si occupa della creazione e dello sviluppo di standard per prodotti, servizi e sistemi. Si occupa altresì di coordinare gli standard realizzati con quelli internazionali, al fine di creare un linguaggio informatico e tecnologico proteso alla universalità. SQL nasce a metà degli anni settanta nei laboratori dell'IBM e viene adottato dall'ANSI come standard nel 1986, seguita l'anno successivo dall'ISO. La prima versione standard è denominata SQL/86. Successivamente furono messe a punto ulteriori versioni: SQL/89, SQL/92 e SQL/2003. Questo processo di standardizzazione aveva come fine ultimo l'intento di creare un linguaggio universale che funzionasse su tutti i DBMS relazionali, obiettivo quanto mai ambizioso che non fu mai raggiunto completamente. Difatti le versioni che furono immesse nel mercato si attenevano solo in minima parte allo standard ANSI ed ognuna di esse presentava importanti differenze.
SQL
Il linguaggio SQL (Structured Query Language) è il codice utilizzato dai DBMS relazionali per formulare le cosiddette "Query", le domande attraverso cui possiamo interrogare il database e ottenere da esso le informazioni che ci interessano.
In base alle funzioni svolte, possiamo individuare tre tipologie di linguaggio SQL:
- Data Definition Language (DDL): la sua funzione è quella di creare o cancellare database, nonché di modificarne la struttura.
- Data Manipulation Language (DML): il suo scopo è quello della manipolazione delle informazioni contenute nel database. E' utilizzato per inserire, modificare, leggere e cancellare i dati.
- Data Control Language (DCL): utilizzato per fornire o revocare agli utenti i permessi necessari per poter utilizzare i sopracitati linguaggi (DDL, DML).
Una delle peculiarità di SQL è quella di essere un linguaggio "dichiarativo", in quanto attraverso le query dichiara "cosa" si vuole ottenere e non "come" si deve ottenere. Inoltre SQL, per la formulazione delle query, si serve non di simboli matematici ma di parole chiave prese dal linguaggio corrente.
Sintassi di base dell’SQL
Le operazioni basilari svolte dal linguaggio SQL sui dati contenuti nel DB sono quelle di inserimento, estrazione, cancellazione e update.
Inserimento: l'inserimento dei dati nella tabella avviene utilizzando il comando INSERT.
ES. INSERT INTO (nome tabella)
VALUES (elenco dei valori da inserire che devono necessariamente rispettare l'ordine dei campi della tabella)
Estrazione: I dati possono essere estratti dalle tabelle attraverso il comando SELECT.
ES. SELECT (campo o lista dei campi da estrarre)
FROM (tabella o lista tabelle)
WHERE (condizione da soddisfare)
Cancellazione: per eliminare dati o intere tabelle dal DB si utilizza il comando DELETE.
ES. DELETE FROM (nome tabella)
per eliminare un'intera tabella (Delete generico)
DELETE FROM (nome tabella)
WHERE (nome campo= 'valore')
per eliminare singoli dati (Delete con condizione)
Update: il comando update ha la funzione di modificare i dati all'interno delle tabelle. Anche in questo caso possiamo avere un "Update generico", in cui vengono modificate indiscriminatamente tutte le righe di una tabella, oppure un "Update con condizione" in cui vengono selezionate le righe da modificare.
ES. UPDATE (nome tabella)
SET (nome campo1 = 'valore1 nuovo', nome campo2 = 'valore2 nuovo", ...)
Questa è la sintassi da utilizzare per un "update generico". La seguente è la sintassi per l'"update con condizione":
ES. UPDATE (nome tabella)
SET (nome campo1 = 'valore1 nuovo', nome campo2 = 'valore2 nuovo")
WHERE (nome campo3 = 'valore')
L' ETL
Extract, Transform, Load (ETL) si riferisce al processo di estrazione, trasformazione e caricamento dei dati in un sistema di sintesi. I dati vengono estratti da sistemi sorgenti quali database transazionali (OLTP), comuni file di testo o da altri sistemi informatici. Subiscono quindi un processo di trasformazione, che consiste ad esempio nel selezionare solo quelli che sono di interesse per il sistema; normalizzare i dati (per esempio eliminando i duplicati); tradurre dati codificati; derivare nuovi dati calcolati; eseguire accoppiamenti (join) tra dati recuperati da differenti tabelle; raggruppare i dati. Tale trasformazione ha lo scopo di consolidare i dati (cioè rendere omogenei dati provenienti da sorgenti diverse) e di fare in modo che siano più aderenti alla logica di business del sistema di analisi per cui viene sviluppato. Vengono infine memorizzati nelle tabelle del sistema di sintesi.
Gli ETL essendo strumenti “dedicati”, forniscono risultati tangibili in termini di documentazione e di velocità di sviluppo, per contro necessitano di un gruppo di lavoro specializzato in questo “linguaggio”.
Da qualche anno si sente sempre più spesso parlare di ETL, tipicamente parlando di progetti di Business Intelligence. Molte aziende li stanno adottando, generalmente spinte dall’ufficio IT.
Questa tipologia di strumenti viene spesso introdotta all’interno delle aziende in occasione di grandi progetti di Business Intelligence, spesso di DataWarehouse. Questo perché le loro potenzialità li rendono uno strumento ottimo per la realizzazione di questi sistemi.
Per sfruttare appieno l’investimento, però, questi strumenti non devono essere considerati solo come il “programma per caricare il DataWarehouse”, ma come lo strumento tramite cui far passare le grandi movimentazioni di informazioni sempre più presenti all’interno delle aziende. In questo modo si potranno sfruttare appieno ad esempio le caratteristiche di documentazione, rendendo molto più trasparente l’interoperabilità tra i diversi sistemi aziendali. In quest’ottica l’ETL non è più solo un software che velocizza il lavoro dell’ufficio IT, ma diventa parte integrante della Business Intelligence aziendale e permette di rendere esplicito molto know-how spesso isolato all’interno di poche persone, conoscenza questa difficilmente documentabile e tramandabile senza degli strumenti adeguati a causa del suo evolversi spesso frammentato e sedimentato negli anni.
In quest’ottica l’ETL non deve quindi essere interpretato come l’ennesima licenza software da acquistare, ma come uno strumento che se correttamente interpretato può portare un vero cambiamento all’interno dell’azienda, specie per le realtà dove siano presenti molti sistemi eterogenei, o dove le necessità di interoperabilità dei sistemi costringano a numerosi e frequenti sistemi di allineamento delle informazioni per poter mantenere consistenza nei dati aziendali.
Tra i software più comuni di ETL troviamo DataStudio, Integrator, SSIS Microsoft, Oracle Data e Integration Suite.
lunedì 31 maggio 2010
DATABASE MULTIDIMENSIONALI (OLAP)
Un database multidimensionale (OLAP) è un sistema software che organizza i dati all'interno di una struttura cubica chiamata "data cube". I dati, dunque, vengono immagazzinati all'interno di tale database tendendo conto di tre dimensioni e non due, come nei classici database relazionali, che organizzano le informazioni in una struttura bidimensionale composta da righe e colonne.
Inoltre, rispetto al database relazionale, il sistema OLAP consente di studiare una maggiore quantità di dati e permette di osservare tali dati da diverse prospettive.
Le operazioni che possono essere eseguite su database multidimensionali sono le seguenti:
- DRILL-DOWN (perforare): con questo termine si intende la possibilità, una volta visualizzato il dato complessivo relativo ad una dimensione gerarchizzata di analisi, di esplorare tutta la gerarchia, in pratica consente di disaggregare i dati.
- ROLL-UP (accumulare): svolge la funzione opposta al drill-down, in quanto consente di ricompattare e raggruppare i dati sotto una modalità.
- SLICE AND DICE (affettare e ruotare): indicano la possibilità di restringere l'analisi solo ad alcune delle occorrenze delle dimensioni e solo ad alcune delle dimensioni proposte, queste operazioni, consentono appunto di ritagliare e ruotare i cubetti che compongono il data cube.
- FILTERING: tecnica utilizzata per filtrare i dati attraverso l'uso di un algoritmo.
- PIVOTING: in matematica e in informatica il "pivot" di una matrice è il primo elemento della matrice scelto da un algoritmo. Lo scopo del pivot è quello di far funzionare correttamente l'algoritmo e proprio per questo motivo esso deve rispettare determinate proprietà. Il "pivoting" è la tecnica che, attraverso una serie di scambi di righe e colonne della matrice, consente al pivot di rispettare le proprietà necessarie al corretto funzionamento dell'algoritmo.
TABELLE DI CONTINGENZA
Per fare un esempio, si possono prendere in considerazione due variabili: "età" e "luogo di nascita". Per ciascuna unità in esame avremo una coppia di modalità associate a queste due variabili e probabilmente avremo coppie di modalità simili, ovvero soggetti che hanno la stessa età o nati nello stesso luogo. Lo scopo delle tabelle di contingenza è proprio quello di riportare, per ogni coppia di modalità, le unità corrispondenti ad esse.
Nella presente tabella di contingenza, ad esempio, la coppia di modalità "LUOGO DI NASCITA- Roma" e "ETA'- 25" anni compare con la frequenza di 70 volte, ossia è associata a 70 unità di analisi.
CONCETTI STATISTICI DI BASE
Unità statistiche: l'oggetto di osservazione della ricerca, l'entità sulle quali si opera il processo di quantificazione, possono essere persone, oggetti, transazioni, o qualunque entità che rappresenti una fonte di interesse dal punto di vista del trattamento dei dati.
Carattere: il carattere o variabile è il fenomeno oggetto di studio. Le diverse manifestazioni attraverso cui si esprime il fenomeno sono dette "modalità del carattere".
Abbiamo due tipologie distinte di caratteri: i caratteri "qualitativi", che sono discreti, sconnessi e ordinati, e i caratteri "quantitativi", che possono essere discreti o continui ma sempre ordinabili.
Su ogni unità statistica possono essere rilevati diversi caratteri ottenendo in questo modo dei "valori",che sarebbero appunto le modalità del carattere.
Classificazione: procedimento finalizzato all'organizzazione della conoscenza. Consiste nel disporre le entità appartenenti ad un determinato dominio in opportune classi o categorie. Questa operazione si basa sull'individuazione di differenze tra le entità, che possono in questo modo essere classificate in classi distinte.
Matrice dei dati: tabella in cui i dati sono organizzati in righe e colonne. Nelle righe troviamo le unità statistiche, nelle colonne i caratteri. Nelle celle risultanti dall'intersezione di righe e colonne troviamo i "valori", che rappresentano dunque la combinazione di una unità statistica con un particolare carattere.
Funzioni di aggregazione: eseguono un calcolo su un set di valori e restituiscono un valore singolo. Vediamo in che senso. La dimensione di un report si riferisce ad uno spazio K-dimensionale in cui si collocano le unità statistiche, è una forma di visualizzazione geometrica. Nel momento in cui più unità presentano le medesime modalità in più caratteri, sarà possibile aggregarle mediante una funzione che vada a sintetizzarle per poterle poi rappresentare in una semplice matrice di dati.
La funzione di aggregazione è detta "misura", per ricondurre il tutto ad uno schema matriciale, io opero una misurazione di ciascuna modalità, per l’appunto metto in atto una sintesi, una aggregazione.
Nei database, le funzioni di aggregazione più diffuse sono Count, Sum, Avg, Min, Max.
COUNT
Restituisce il numero di righe che soddisfano la condizione specificata nella clausola WHERE.
SUM
Questa funzione somma tutti i valori di una colonna. La funzione SUM opera soltanto con i numeri, se viene applicata a un campo non numerico, si ottiene un messaggio di errore.
AVG (average)
Calcola la media aritmetica dei valori di una colonna, anche questa funzione opera soltanto con i numeri.
MAX
Questa funzione serve a trovare il valore massimo di una colonna. La funzione MAX opera anche con i caratteri.
MIN
Questa funzione opera in modo analogo a MAX, ad eccezione del fatto che restituisce il valore minimo di una colonna. La funzione MIN opera anche con i caratteri, ad esempio, la stringa ‘AA’ è minore della stringa ‘BB’.
Dimensione: gerarchia organizzata di livelli che descrivono i dati della tabella e dei fatti.
Cubo multidimensionale: struttura attraverso la quale i dati sono rappresentati in dimensioni multiple attorno ad un soggetto centrale, i fatti.
venerdì 28 maggio 2010
NORMALIZZAZIONE INFORMATICA
Si fonda su un assunto tanto semplice quanto basilare: se una relazione presenta più concetti tra loro indipendenti, la si decompone in relazioni più piccole, una per ogni concetto. Questo tipo di processo non è purtroppo sempre applicabile in tutte le tabelle, dato che in taluni casi potrebbe comportare una perdita d'informazioni. Due concetti sono fondamentali all'interno della normalizzazione, quello di ridondanza,che si riferisce alla situazione in cui gli stessi dati vengono memorizzati inutilmente più volte e il concetto di anomalia, che si riscontra nel momento in cui si verificano irregolarità dei dati.
Tornando alle forme normali,la decomposizione di una relazione dovrebbe sempre garantire che non avvenga una perdita, affinché possa esserci la ricostruzione delle informazioni originarie e che si conservino le dipendenze, per il mantenimento dei vincoli di integrità originari.
Di seguito le forme normali:
Prima forma normale:
Una relazione si dice in prima forma normale (1NF) se e solo se tutti i suoi attributi sono valori atomici.
Ciò implica che né gli attributi, né i valori da questi assunti possono essere scomposti ulteriormente.
Ad esempio, la relazione NOME e INDIRIZZO non è in prima forma normale, in quanto l’attributo INDIRIZZO non è atomico: può essere suddiviso in Indirizzo e Città. La relazione si normalizza trasformandola in NOME, INDIRIZZO e CITTA’.
Seconda forma normale:
Una relazione è in seconda forma normale se e solo se soddisfa la 1NF e inoltre ciascun attributo che non fa parte della chiave è indipendente funzionalmente da una qualunque chiave candidata.
Per normalizzare la relazione è necessario estrarre la dipendenza funzionale riscontrata tra un sottoinsieme della chiave e l’attributo in questione, che darà luogo ad un’altra relazione.
Esempio:
Abbiamo una relazione che rappresenta delle scrivanie da ufficio prodotte da una azienda industriale, la chiave primaria è data Tipo_tavolo e Tipo_legno.
Tipo_finitura è dipendente funzionalmente da un sottoinsieme della chiave primaria, ovvero da Tipo_legno, dunque la tabella non è in 2NF.
È possibile normalizzare la relazione trasformandola in:
Terza forma normale:
La terza forma normale ha come scopo l’eliminazione dalla relazione delle dipendenze funzionali transitive.
Una relazione è in terza forma normale (3NF) se, oltre ad essere in 2NF, ciascun attributo che non partecipa alla chiave non è transitivamente dipendente da una qualunque chiave candidata.
lunedì 15 marzo 2010
SOFTWARE PROPRIETARI E SOFTWARE OPEN SOURCE
Con il termine software proprietario si indica quel software che ha restrizioni sul suo utilizzo, sulla sua modifica, riproduzione o ridistribuzione, solitamente imposti da un proprietario. Queste restrizioni vengono ottenute tramite mezzi tecnici o legali.
I mezzi tecnici rendono pubblico solo il codice binario del software, trattenendone il codice sorgente. In questi casi la modifica del software risulta molto difficile, ottenibile solo grazie a disassemblatori e ad elevate capacità informatiche, mentre, attraverso i mezzi legali si ottengono licenze, copyright e brevetti.
Alcuni pacchetti software liberi sono disponibili anche con termini di software proprietario, come per esempio MySQL e SSH. I possessori del copyright originale di un determinato software libero, anche se rilasciato con copyleft, possono utilizzare una doppia licenza per far sì che sia loro, sia gli altri, possano ridistribuirne versioni proprietarie. Il software libero senza copyleft, o software libero "con licenza permissiva", permette a chiunque di creare delle versioni proprietarie da ridistribuire. Accanto a questi pacchetti troviamo anche il codice sorgente di un software proprietario, in questi casi gli utenti sono liberi di usare ed anche studiare e modificare il software, ma sono vincolati da licenze o accordi di non divulgazione per la ridistribuzione delle modifiche o anche per la semplice condivisione del software.
Alcuni esempi di software proprietario sono: Microsoft Office, RealPlayer, Winzip, Adobe Photoshop.
OPEN SOURCE
In informatica, open source indica un software i cui autori ne permettono il libero studio e l'apporto di modifiche da parte di altri programmatori indipendenti e questo perché, la collaborazione di più parti, permette al prodotto finale di raggiungere una complessità maggiore di quanto potrebbe ottenere un singolo gruppo di lavoro. L'open source ha tratto grande beneficio da Internet, perché esso permette a programmatori geograficamente distanti di coordinarsi e lavorare allo stesso progetto.
I software open source attualmente più diffusi sono Firefox, OpenOffice, VLC.
Alla filosofia del movimento open source si ispira il movimento open content (contenuti aperti): in questo caso ad essere liberamente disponibile non è il codice sorgente di un software ma contenuti editoriali quali testi, immagini, video e musica.
sabato 13 marzo 2010
SPREADSHEET E DBMS
SPREADSHEET
Lo spreadsheet è un software di produttività personale. È un programma che permette di effettuare calcoli, elaborare dati e tracciare efficaci rappresentazioni grafiche.
L’invenzione del foglio elettronico si deve a Bricklin. L’idea gli venne vedendo un suo professore universitario che disegnava una tabella di risultati di calcoli su una lavagna. Quando il professore rilevò un errore, dovette cancellare e riscrivere un’intera sequenza di valori nella tabella, facendo venire in mente a Bricklin che si poteva replicare il procedimento in un computer.
La sua idea divenne VisiCalc, il primo foglio elettronico, nonché la “killer application” che trasformò il personal computer da hobby per appassionati di computer in strumento di lavoro.
Tra i vari fogli elettronici Microsoft Excel, oggi, è più diffuso.
Il principio su cui si basa il foglio di calcolo è semplice: fornire una tabella, detta anche foglio di lavoro, formata da celle in cui si possono inserire dati, numeri o formule. Le celle sono la base fondamentale del foglio di calcolo, esse, per essere riconoscibili, sono costituite da una lettera e un numero. Le colonne sono indicate dalle lettere, le righe dai numeri.
Per ogni cella può essere scelta una determinata formattazione: carattere, dimensione e colore del carattere, grassetto, corsivo, colore e elementi dello sfondo.
Una cella può contenere un numero o del testo, o eseguire una formula e una funzione su altre celle. Per eseguire una formula o una funzione, la prima cosa da scrivere nella cella è il simbolo "=".
Ad esempio, se la cella A1 contiene il numero 3, la cella B1 contiene il numero 2 e noi vogliamo avere il risultato nella cella C1 per poter sommare il tutto si deve scrivere in quest’ultima "=A1+B1", oppure “=SOMMA(A1:B1).
La formula può essere propagata ad altre righe e/o colonne, trascinando la cella.
Software
Tra i software più diffusi nel mondo dei fogli elettronici, possiamo citare:
• Microsoft Excel, incluso nella suite commerciale Microsoft Office
• OpenOffice.org Calc, incluso nel pacchetto libero OpenOffice.org
• Gnumeric, nato per Linux dal progetto Gnome è anch'esso software libero.
• NeoOffice, open source, installabile su sistema operativo Macintosh.
• Apple Numbers, per Macintosh, fa parte del pacchetto iWork di Apple
DATABASE MANAGEMENT SYSTEM
Un DBMS è costituito da un complesso insieme di programmi software che controllano l'organizzazione, la memorizzazione e il reperimento dei dati (campi, record e archivi) in un database. Nello specifico un DBMS accetta richieste di dati da parte del programma applicativo e "istruisce" il sistema operativo per il trasferimento dei dati appropriati. I DBMS sono regolati da meccanismi di autorizzazione mediante l’utilizzo di password che tutelano i contenuti nell’intero database o in una parte di esso.
I tre tipi di organizzazione più comuni sono il modello gerarchico, il modello reticolare e il modello relazionale: il modello dominante oggi è quello relazionale, normalmente utilizzato con il linguaggio di interrogazione SQL.
I DBMS relazionali sono detti anche RDBMS (Relational DBMS). Si tratta di un modello di database che consiste di diversi file separati che sono correlati l'un l'altro attraverso un campo chiave, ovvero un identificatore univoco della tupla. Si può accedere alle informazioni memorizzate in un file attraverso uno o più file, grazie alle relazioni stabilite tra questi.
Ad esempio, un database relazionale vede il collegamento fra un database anagrafico degli impiegati in una società ed il database delle retribuzioni, tramite un codice univoco che identifica il singolo impiegato.
Un DBMS fornisce agli utenti questi servizi:
- Persistent storage: permette la memorizzazione di grandi quantità di dati, ma garantisce una flessibilità molto più elevata
- Programming interface: permette agli utenti di accedere e modificare i dati attraverso un potente linguaggio di interrogazione
- Transaction management: supporta l'accesso concorrente ai dati evitando conseguenze indesiderate dovute a crash del sistema o dell'applicazione.
Tra i DBMS più diffusi il più conosciuto è sicuramente ACCESS, ideato dalla Microsoft, che ha la grande qualità di poter essere usato a più livelli, sia da programmatori esperti che da utenti alle prime armi. A differenze degli altri software, in Access un unico file comprende tutti gli strumenti per lo sviluppo delle applicazioni.
Altri DBMS sono:
- Oracle
- Microsoft SQL Server
- Sybase SQL Server
- Pico SQL.