martedì 23 giugno 2009

...Il pensiero...

Grande sarebbe il paragone con "Il pensatore" di Rodin. Tuttavia mi piace immagiare me stessa e i miei colleghi come intenti in una profonda meditazione tra gli angusti ma affascinanti cunicoli dei tecnicismi informatico-statistici.
Appunto come un pensatore, abbiamo iniziato il nostro percorso interrogandoci su temi generali per poi iniziare una riflessione più attenta su argomenti specifici.
Le prime domande che hanno affollato le nostre menti hanno sollecitato un pensiero più libero e forse anche più creativo: quale fosse il ruolo dei moderni software rispetto all'intelligenza umana? Quali le nuove soluzioni adottate dalla Web 2.0 per supporare la maggiore interazione ricercata dagli utenti, veri e propri "sovrani della rete"? Quali i nuovi tipi di socialità che riesconoa sdoganare le antiche barriere spazio-temporali?
La nostra attenzione si è così spostata sul percorso che conduce alla conoscenza, partendo dagli elementi che ci circondano: dati grezzi in attesa di essere scovati e trasformati in informazioni. Gli strumenti consacrati alla raccolta e alla gestione dei dati sono i DataBase, dei quali abbiamo studiato in maniera approfondita tipologie e strutture. Particolare attenzione è stata dedicata ad uno dei linguaggi più diffusi di interrogazione dei DB: SQL.
Poi ci siamo inoltrati nei sentieri della Business Intellgence. Abbiamo approfondito il discorso sui DBMS, avanzatissimi software per la gestione delle basi di dati, e sui report, documenti azendali che costituiscono fondamentali leve strategiche. Siamo così passati allo studio die software di Query reporting che servono per interrogare in maniera diretta e mirata i dabase, attraverso l'utilizzo del già citato linguaggio SQL.
Il mio percorso è stato in realtà parrallelo a quello svolto dai miei colleghi.
Sull'asse Roma-Madrid sono riuscita a ricostruire il pensiero sviluppato nel corso dell'insegnamento di "Software per la gestione dell'informazione statistica".
Il mio ultimo pensiero si rivolge a Voi: i vostri blog sono stati per me fonte di stimolo.


Flessibilità di un DataTime





La flessibilità di DataTime riguarda la possibilità di usufruire di due architetture:
A. Updatable: i report sono destinati alla sola consultazione. Tale architettura non pone vincoli di piattaforma per il server web.
B. Interactive: caso in cui si vuole consentire all'utente di interagire con i report.
Ma si rferisce anche agli elementi stilistici e grafici con cui arricchire il report, attraverso l'inserimento di testi, immagini grafici e gauge cn un elevato livello di personalizzazione:


  • Title text. I titoli possono essere creati attraverso la finestra “tex box proprieties”, che
    permette di personalizzarne elementi quali: dimensioni testo, colore, carattere,align, border
    style etc.

  • Stile tabella. La nostra tabella può essere modificata semplicemente cliccando sul tasto
    destro del mouse e poi selezionando nel menù a tendina: “grid styles”. Si aprirà a questo
    punto una schermata (bulk style changes) che permette di modificarne il layout, o tramite il
    ricorso a stili preselezionati, oppure sviluppandone di nuovi (tramite il tasto Bulk changes to
    styles).

  • Immagini. Data Time consente di inserire nel nostro report una serie di immagini, con la
    possibilità anche in questo caso di scegliere tra immagini preselezionate o tra quelle caricate
    sul proprio pc. Anche in questo caso si tratta di una operazione semplicissima, sarà infatti
    sufficiente cliccare sul tasto destro del mouse e selezionare nel menù a tendina “new image”.

  • Grafici. È possibile come detto, migliorare la comprensibilità del nostro report tramite il
    ricorso ai grafici. La schermata “Multichart designer” garantisce anche in questo caso una
    ampia personalizzazione dei grafici, con la possibilità di scegliere tra una serie di grafici bi/
    tridimensionali e modificarne le proprietà e i colori.

  • Gauge. Tra gli altri elementi stilistici offerti da Data Time ci sono i gauge (cruscotti). Si
    tratta di un oggetto molto simile ad un grafico, ma che si differenzia da quest’ ultimo per il
    fatto di rappresentare i valori delle singole celle (anche appartenenti a diversi ReportGrids).
    Anche qui abbiamo una ampia scelta e la possibilità di apportare molte modifiche operando
    sul menù “Multigauge Designer”.


Dal punto di vista della rappresentazione grafica il charting di Data Time utilizza un motore di rendering 3D per consentire massima flessibilità di posizionamento dei grafici e anche avanzate forme di interattività degli stessi. Tutti i grafici infatti hanno grande adattabilità e possono essere sezionati o ricolorati a piacimento. I chart sono direttamente linkati ai dati e li riflettono costantemente, attraverso le rigenerazione e i drill dell’utente.



Data Time Reporting Solution


Data Time Reporting Solution è la soluzione reportistica più moderna e potente attualmente disponibile sul mercato. La sua piattaforma di riferimento è Framework Net, cioè per esempio tutti i sistemi opertativi Windows.

Il punto di maggior forza è la connettività universale verso i Database, basata sul protocollo OleDb, parliamo dunque di Oracle, SQL server, Access, MySQL o anche semplici fogli EXCEL.

Per questo si può sostenere che Data Time Reporting Solution p il sistema di reportistica più flessibile: consente la creazione di qualsiasi tipo di Layout con possibilità quasi illimitare di Slice and Dice del cubo multidimensionale dei dati. Per queto crea un alto impatto visivo, dove tutti gli elementi grafici e stilistici possono essere controllati dall'utente.


I principali tool software di Query reporting: B.O., Microstrategy, Cognos e DataTime

i tool di query reporting sono software finalizzati ad elaborazioni, anche personalizzabili, e alla presentazione, generalmente secondo forme tabellari.

Tra i principali produttori di sistemi di REPORTISTICA troviamo:


- Business Object, è il principale fornitore mondiale di soluzioni per la BI, conta 3.000 aziende partner e 46.000 clienti in più di 80 paesi.
Gli strumenti che utilizza la Business Object sono: reporting, gestione di dashboard e scorecard, applicazioni per la costumer intelligence, reporting finanziario e extranet rivolte ai clienti.
Queste soluzion hanno l'obiettivo di ottenere una visione completa del proprio business, migliorare i processi decisionali e ottimizzare le prestazioni.


- Microstrategy, nata nel 1898 si fonda sull'utilizzo di funzionalità di monitoraggio, reporting e analisi unite in un'unica architettura. La mission della società si riassume in tre parole: Controllo, Report, Analisi.


Attraverso Microstrategy è possibile:
1. Un controllo delle prestazioni in tempo reale, fornendo agli utenti aziendali una tecnologia che permette un monitoraggio costante delle metriche per informare e allertare i responsabili di business circa le attività in corso e le decisioni da prendere sulla base di parametri prestabiliti;
2. Informazioni dettagliate per le decisioni operative, permettendo di ricavare informazioni preziose sulle performance passate e presenti, in modo da rilevare cosa accade nell'impresa e come procede il business. E tutto ciò attraverso una tecnologia avanzata di reporting, che consente un utilizzo davvero intuitivo da parte dell'utente, la possibilità di operare via Web e una grande scalabilità.
3. Anali dei dati per scoprire trend significativi nelle performance aziendali, consentendo di vedere le informazioni aziendali da molte angolazioni differenti. In questo modo i manager potranno evidenziare con maggiore facilità le cause di problemi nelle performance, scoprire nuove opportunità di business e prevedere i risultati dell'azienda.




- Cognos,è una società canadese nata nel 1969, nel novembre 2007 è stata acquistata da IBM.Caratteristica essenziale di questi tool è la facilità d’uso, Cognos8.4 come le versioni precedenti sfrutta l’interfaccia Excel per una maggiore facilità d’uso.





- Data Time Reporting Solution, La società DataTime produce DataTime Reporting Solution, si tratta di una società italiana. Questo strumento è estremamente versatile grazie al protocollo oleDB.




I software sopraelencati consentono tre livelli operativi fondamentali:
1. connettività universale verso i database, ossia la possibilità di creare report a partire da qualsiasi DBMS utilizzato,
2. regole di estrazione, cioè la possibilità di creare con semplici movimenti del mouse le proprie regole generali di ETL per l'estrazione dei dati.
3. Layout del report, overo la possibilità di impostare delle regole generali di organizzazione del layout che rimangono memorizzate facendo sì che il report possa ripristinarsi automaticamente con l'immissione dei dati più aggiornati.

lunedì 15 giugno 2009

Esempi di ETL

Alcuni esempi di ETL software:

•IBM InfoSphere DataStage
: supporta la raccolta, l'integrazione e la trasformazione di volumi elevati di dati, con strutture di dati semplici e complesse. Questo strumento consente di integrare tutte le informazioni dell’azienda, provenienti da fonti diverse e con notevoli risparmi di tempo. IBM InfoSphere DataStage infatti, è in grado di gestire sia l'ingresso dei dati entro pochi secondi dall'acquisizione, sia quantità elevate di dati di sistema, in intervalli di elaborazione giornalieri, settimanali o mensili.

•SQL Server Integration Services: questa piattaforma consente di integrare e trasformare i dati a livello aziendale. Integration Services offre la possibilità di risolvere problemi aziendali complessi, tramite operazioni di copia o download di file, invio di messaggi di posta elettronica in risposta a determinati eventi, aggiornamento di data warehouse, pulizia dei dati e data mining e gestione di oggetti e dati di SQL Server. Tra le varie funzioni, Integration Services possiede una serie di strumenti grafici che consentono di creare soluzioni senza scrivere una sola riga di codice.

•Oracle Data Integration Suite: è una piattaforma per l'integrazione dati in grado di collegare applicazioni e sorgenti dati eterogenee fornendo informazioni precise, a tutti i livelli aziendali. I componenti di Oracle Data Integration Suite danno vita a un framework aperto e omogeneo per l'integrazione dati che abbraccia applicazioni eterogenee come IBM DB2, MySQL, Microsoft SQL Server, Oracle Database, ecc.

•Altri esempi di ETL software: SmartDB Workbench, DataStudio, Informatica, PowerCenter, Integrator, ecc.

venerdì 12 giugno 2009

ETL



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.
ETL è l'acronimo di Extraction Transformation and Loading (Estrazione, Trasformazione e Caricamento). In pratica è lo strumento per caricare i dati in un sistema di sintesi estraendoli da fonti eterogenee, che possono essere basi di dati transazionali, stringhe di testo o altre fonti.
In origine nascono come strumento a supporto dei sistemi di Business Intelligence e/o di DataWarehouse:

* Extract: estrazione dai sistemi sorgente dei dati necessari per supportare i processi decisionali
* Transform: trasformazione dei dati in informazione, tramite processi di verifica, pulizia ed arricchimento
* Load: salvataggio delle informazioni in formati eterogenei

Oltre ad estrarli, questo strumento espleta funzioni di:
  • pulizia,

  • ordinamento,

  • raggruppamento,

  • selezione,

  • normalizzazione,

  • traduzione,

  • raggruppamento.




Il problema che si incontra nel trasferire dati è che questi si trovano sparsi su sistemi eterogenei, quindi è necessario leggere i dati dalla loro fonte, ripulirli e formattarli in modo uniforme (processo detto di consolidamento dei dati), e poi caricarli nel repository di destinazione per l'uso.

Difficoltà per ottenere un´implementazione efficiente ed affidabile dei processi ETL.

* I volumi di dati crescono in maniera esponenziale, e i processi ETL devono elaborare grandi quantità di dati (prodotti venduti, chiamate telefoniche, transazioni bancarie.).
Alcuni sistemi BI raramente vengono aggiornati incrementalmente mentre altri richiedono un caricamento completo ad ogni iterazione.
* Con l´aumento della complessità dei sistemi informatici, anche la disparità delle sorgenti aumenta. I processi ETL richiedono una connettività di vasta portata per i pacchetti di applicazioni (ERP, CRM, ecc.), database, mainframe, file, Servizi Web, ecc.
* Le strutture e le applicazioni di Business Intelligence comprendono data warehouse, data mart, applicazioni OLAP per l´analisi, il reporting, il dashboarding, lo scorecarding, ecc. Tutte queste strutture target hanno diversi requisiti di trasformazione dei dati e diverse latenze.
* Le trasformazioni coinvolte nei processi ETL possono essere altamente complesse. I dati devono essere aggregati, sottoposti a parsing, calcolati, elaborati statisticamente, ecc. Le trasformazioni specifiche BI sono anch´esse necessarie, come lo Slowly Changing Dimensions.
* Mentre la BI tende alla simultaneità real-time, i data warehouse e data mart devono essere aggiornati più spesso e le finestre di tempo del caricamento diventano sempre più brevi.

Di seguito vengono riportati alcuno tool ETL:

  • SmartDB Workbench
  • DataStudio
  • Integrator
  • Informatica PowerCenter
  • Datastage IBM
  • SSIS Microsoft
  • I-service IngeniumTechnology
  • Scriptella ETL
  • Benetl
  • Oracle Data Integration Suite
  • Kettle Pentaho Data Integration

Architettura per i sistemi informativi aziendali

Con lo sviluppo informatico, oggi, è piú facile poter produrre, archiviare, analizzare e gestire l'informazione.
Dati, informazione e conoscenza diventano valore aggiuntivo e fonte di vantaggio solo se opportunamente utilizzati e trasmessi.


I sistemi informativi aziendali svolgono la funzione di veicolare in maniera veloce ed efficiente le informazioni.

Sono costituiti da un complesso di strumenti, risorse e attività che rileva in modo sistematico, elabora, scambia e archivia dati con lo scopo di produrre e distribuire le informazioni nel momento e nel luogo adatto e per persone che in azienda ne hanno bisogno.
In altre parole, rappresentano il sistema nervoso dell'azienda, attraverso il quale si veicolano i segnali percepiti sia dall'interno dell'azienda sia dal contesto ambientale esterno.



L'immagine rappresenta un sistema informativo aziendale. Esso è costituito non solo da componenti software e hardware, ma anche da altri elementi quali, ad esempio, procedure, strumenti, persone e competenze tra le quali avvengono interazioni che portano alla produzione ed elaborazione delle informazioni.


Indipendentemente dalla loro composizione specifica, i sistemi informativi aziendali svolgono, secondo combinazioni differenti, tre funzioni principali:

· Acquisizione di dati e comunicazione

· Registrazione (storage) e ricerca dei dati

· Trattamento e reporting





In particolare, é costituito da due categorie di strumenti per la gestione dei dati:
- Database per l'elaborazione delle transizioni, cioé quei sistemi operazionali que identificano l'insieme delle applicazioni che supportano in tempo reale le attivitá business giornaliere dell'azienda;
- Database per il supporto delle decisioni, cioé i sistemi di supporto alle scelte strategiche di management, per esempio le applicazioni di reportistica e quelle di datawarehousing.
Esempi di sistemi informativi sono il basi di dati, datawarehouse e data mart.


DBMS transazionali:

I dbms transazionali sono dbms ad alta diffusione che sono basati generalmente sul linguaggio SQL, e devono la loro diffusione alla semplicità del concetto di transazione cioè quell'operazione che si deve concludere sempre con un successo o un insuccesso (sono DBMS in cui le operazioni di scrittura sul database sono in grado di essere ripristinati se non sono compilati nel modo giusto).

DW

I datawarehouse sono dbms orientati all'analisi che non hanno bisogno di sistemi di sicurezza, di dinamicità e di normalizzazione che invece sono caratterizzanti dei sistemi transazionali. Possiamo definirli come tipi di sistemi decisionali, orientati all'analisi utente interattiva, intuitiva e veloce di dati corretti e consolidati.

DM
Un data mart è un sottoinsieme di un DW, è più piccolo, semplificato e funziona indipendentemente da esso. Un data mart contiene meno informazioni e quindi è più facile navigare in essi, non contiene dati operativi e si focalizza solo sui requisiti di un particolare dipartimento. Solitamente nelle grandi aziende c'e' l'esigenza di dividere il datawarehouse in diversi data mart.



lunedì 8 giugno 2009

datawarehouse



Un Data warehouse (o DW) (termine inglese traducibile con magazzino di dati), è un archivio informatico contenente i dati di un'organizzazione.
I DW sono progettati per consentire di produrre facilmente relazioni ed analisi.

Vengono considerati componenti essenziali di un sistema Data warehouse anche gli strumenti per localizzare i dati, per estrarli, trasformarli e caricarli, come pure gli strumenti per gestire un dizionario dei dati.
Mentre un database è una raccolta di dati fine a se stessa, con il datawarehouse ci troviamo nel campo della business intelligence che, appunto, si prefigge di fornire un supporto alle decisioni aziendali e alla risoluzione dei problemi.

Caratteristiche:
  • Orientato al soggetto;
  • Integrato;
  • Invariante nel tempo;
  • Non volatile.

Vediamo le caratteristiche in dettaglio:

1) Orientato al soggetto, il DW è orientato a temi aziendali specifici piuttosto che alle applicazioni o alle funzioni. In un DW i dati vengono archiviati in modo da essere facilmente letti o elaborati dagli utenti. Questo vuol dire che l’obiettivo, quindi, non è più quello di minimizzare la ridondanza mediante la normalizzazione, ma quello di fornire dati organizzati in modo tale da favorire la produzione di informazioni. Si passa dalla progettazione per funzioni ad una modellazione dei dati che consenta una visione multidimensionale degli stessi;

2) Integrato, requisito fondamentale di un data warehouse è l’integrazione dei dati raccolti. Nel data warehouse confluiscono dati provenienti da più sistemi transazionali e da fonti esterne. L’obiettivo dell’integrazione può essere raggiunto percorrendo differenti strade: mediante l’utilizzo di metodi di codifica uniformi, mediante il perseguimento di una omogeneità semantica di tutte le variabili, mediante l’utilizzo delle stesse unità di misura

3) Invariante nel tempo, i dati archiviati all’interno di un DW coprono un orizzonte temporale molto più esteso rispetto a quelli archiviati in un sistema operativo. Nel DW sono contenute una serie di informazioni relative alle aree di interesse che colgono la situazione relativa ad un determinato fenomeno in un determinato intervallo temporale piuttosto esteso. 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;

4) Non volatile, tale caratteristica indica la non modificabilità dei dati contenuti nel DW che consente accessi in sola lettura. Ciò comporta una semplicità di progettazione del database rispetto a quella di un’applicazione transazionale. In tale contesto non si considerano le possibili anomalie dovute agli aggiornamenti, né tanto meno si ricorre a strumenti complessi per gestire l’integrità referenziale o per bloccare record a cui possono accedere altri utenti in fase di aggiornamento.

Le diverse operazioni eseguibili, attraverso i datawarehouse, sono:

  • Integrazione tra fonti dati eterogenee.
  • Offerta dei dati stabili rappresentativi dell'evoluzione aziendale.
  • Organizzazione dei dati in strutture semplificate mirate a migliorare l'efficienza delle query analitiche.
  • Semplificazione dei requisiti di protezione.
  • Contenimento dei dati trasformati, validi, consolidati e formattati per l'analisi.
  • Aggiornamento dei datawarehouse stessi periodicamente con dati aggiuntivi.

Cosa differenzia i datawarehouse dai sistemi OLTP (On Line Analytical Processing)?
A differenza dei database OLTP, che hanno strutture complesse, il cui scopo è quello di acquisire volumi elevati di transazioni di modifica e aggiunta di dati, lo scopo dei datawarehouse consiste nell'organizzare grandi quantità di dati stabili per agevolare le operazioni di analisi e recupero.
I database relazionali OLTP sono ideali per la gestione di dati in evoluzione. Generalmente sono utilizzati da diversi utenti che eseguono contemporaneamente transazioni che comportano la modifica dei dati in tempo reale. Sebbene le singole richieste di dati da parte degli utenti facciano in genere riferimento a poche righe, vengono eseguite contemporaneamente molte di queste richieste. I database OLTP sono progettati per consentire alle applicazioni transazionali di scrivere solo i dati necessari per la gestione di una singola transazione nel modo più rapido possibile.

ANSI SLQ


L'SQL (Structured Query Language della American National Standard Institute ) nasce nel 1974 ad opera di Donald Chamberlin, nei laboratori dell'IBM. Si propone come uno strumento in grado di lavorare con un data base seguendo un modello relazionale.Nel 1975 viene sviluppato un prototipo chiamato SEQUEL-XRM; con esso si eseguirono sperimentazioni che portarono, nel 1977, a una nuova versione del linguaggio chiamato SQL. Su di esso si sviluppò il prototipo System R, che venne utilizzato da IBM esclusivamente per usi interni. Ma visto il suo trionfo, anche altre società iniziarono subito a sviluppare prodotti basati su SQL. Nel 1981 IBM iniziò così a vendere alcuni prodotti relazionali. SQL divenne subito lo standard industriale per i software che utilizzano il modello relazionale.

L'American National Standards Institute - Istituto Americano di Normalizzazione, più noto come ANSI, un'organizzazione privata non a fini di lucro che produce standard industriali per gli Stati Uniti, lo adottò con l'obiettivo di standardizzare il linguaggio SQL nelle diverse piattaforme. Negli anni successivi si realizzarono altre versioni, che furono SQL/89, SQL/92 e SQL/2003. Tale processo di standardizzazione mirava alla creazione di un linguaggio che funzionasse su tutti i DBMS relazionali, ma questo obiettivo non fu mai raggiunto. Tanti sono i linguaggi SQL che presentano differenze sostanziali l’uno con l’altro. Tra i più noti ricordo Oracle SQL e My SQL.
L'ANSI lo adottò come standard fin dal 1986. Questo processo di standardizzazione mirava alla creazione di un linguaggio che funzionasse su tutti i DBMS (Data Base Management System) relazionali, ma in realtà lo standard si limita alla sintassi ed al nome dei comandi poiché ogni DBMS parla un dialetto che si differenzia, sia pur minimamente, dagli altri.
Lo standard prevede tre diversi livelli del linguaggio caratterizzati da una complessità crescente: Entry SQL, Intermediate SQL e Full SQL. L’ obiettivo è quello di permettere lo sviluppo di implementazioni a stadi successivi che permettano quindi passare nel tempo dal livello Entry fino a quello Full.
1) Livello entry: costituisce un sotto insieme del livello intermediate (abbastanza simile a SQL-89).
2) Livello intermediate: costituisce un sotto insieme del livello full SQL e contiene le caratteristiche ritenute più importanti per rispondere alle esigenze del mercato (supportato dai DBMS commerciali).
3) Livello full: rappresenta lo standard SQL completo
Si può intendere che il primo sia il livello di compatibilità minima e l'ultimo rappresenti la compatibilità totale

Particolarità riscontrate lavorando con l'SQL in Access, differenze rispetto agli altri DBMS



Access è un DBMS realizzato da Microsoft che consente la creazione di un database o tramite un DB vuoto, oppure seguendo modelli reimpostati per i meno esperti .

Può essere utilizzato con due modalità: come gestore di base di dati su personal computer e come interfaccia verso altri sistemi.
A differenza di altri DBMS, in Access un unico file comprende tutti gli strumenti per lo sviluppo delle applicazioni: tabelle, query, maschere e report.

Per definire lo schema di una nuova tabella Access offre diverse modalità:

1. Visualizzazione foglio dati: con cui si definisce lo schema della tabella come se si operasse su un foglio EXCEL

2. Visualizzazione struttura: attraverso tale impostazione si definiscono per prima cosa i campi poi una serie di domini ( ad es. testo, numerico, data/ora, etc.). Per ogni campo possono poi esser specificate ulteriori proprietà ( ad es. dimensione campo, formato, etichetta, valido se, etc.). l’ultimo passaggio sarà quello di specificare la chiave primaria (anche selezionando Chiave primaria dal menù VISUALIZZA)

3. Creazione guidata: opera attraverso uno strumento che permette di costruire la nostra tabella attraverso domande ed esempi a cui far riferimento.

4. Importa e collega tabella: tali opzioni permettono di importare o collegare dall’esterno una tabella.

Ovviamente la creazione di tabelle può esser realizzata anche operando in SQL. Ogni tabella verrà quindi definita associandole un nome e gli attributi che ne definiscono lo schema.

Alcune delle peculiarità delL' SQL adottato dalla microsoft per Access sono:
•La clausola top può essere usata per selezionare un certo numero di tuple dal risultato.
•Vengono usate le parentesi quadre per racchiudere gli identificativi di tabelle e attributi.
•L’operatore join deve essere sempre qualificato con il termine inner od outer.
•La valutazione dell’operatore count è diversa: se si dà come argomento un attributo, non
•vengono restituiti i distinti valori dell’attributo, bensì il numero dei valori non nulli.
•L’opzione distinct non è riconosciuta."*
•Il carattere jolly per indicare la parte di campo da confrontare con una condizione data in Access diventa “*” invece di “%”.
•Il dialette SQL di Access accetta sia l’apice singolo (‘) che i doppi apici (“) per identificare le stringhe alfanumeriche.
•Per le stringhe riportanti le date MS Access fornisce la possibilità di adottare la notazione latina GG/MM/AAAA mentre per alcuni DBMS di origine anglosassone ciò non è possibile. Nei comandi le date vanno racchiuse nell’apice songolo (‘) per la maggior parte dei dialetti SQL, mentre per il dialetto Access si usa il cancelletto (#).

Inoltre, vi sono molte critiche sull'utilizzo pratico dell'Sql:

  • il linguaggio è piuttosto complesso;
  • non fornisce un modo standard per suddividere un lungo comando in comandi più brevi a cui ci si possa riferire tramite un nome (sebbene molte implementazioni in realtà forniscano questa funzionalità);
  • le diverse implementazioni sono generalmente incompatibili tra loro.

SQL

SQL (Structured Query Language) è un linguaggio di programmazione per database pogettato per leggere, modificare e gestire dati memorizzati in un sistema basato su modello relazionale.
SQL è un linguaggio per interrogare e gestire basi di dati mediante l'utilizzo di costrutti di programmazione denominati query.
E' composto da Data Definition Language (DDL), che permette di creare e cancellare database o modificarne la struttura, dal DML (Data Manipulation Language), che permette di inserire, modificare e leggere i dati, e il DCL (Data Control Language) che gestisce utenti e permessi.

Per cadauna delle parti costitutive esistono diverse opzioni.
DDL:
create table, drop table, alter table, create index, drop indez.
DML:
insert, delete, uppdate, select.
DCL:
grant, revoke.

Il comando insert serve per inserire una o più nuove tuple nella tabella. Una tupla, detta anche record, è ognuna delle righe che forma una tabella.
L'istruzione che dovremmo scrivere sarà: INSERT INTO nome_tabella (nome_campo) Values 'valore').
UPDATE permette di modificare i dati della tabella: UPDATE nome_tabella SET nome_campo= 'valore'
DELETE permette di cancellare dati.
GRAND permette di concedere i privilegi della risorsa agli utenti.
REVOKE sottrae, invece, a un utente i privilegi che gli erano stati concessi adoperando la seguente sintassi: revoke privilegi on Risorsa from Utenti [restrict cascade ].

Glo operatori messi a disposizione dall'SOL standard si dividono in quattro categorie:
operatori di confronto, servono a determinare uguaglianze e disuguaglianze tra i valori ed effettuare richieste all'interno dei dati;
gli operatori aritmetici servono ad effettuare calcoli all'interno di una ricerca;
gli operatori condizionali come il WHERE servono a definire i criteri di ricerca mirati;
gli operatori LOGICI sono AND, OR, NOT e possono essere ripetuti più volte all'interno della ricerca.

CMS: una spiegazione

Un Content Management System (CMS), letteralmente "Sistema di gestione dei contenuti" è un software che si installa su un server web per la gestione automatizzata dei siti tramite pannello di controllo protetto da password. In pratica è indispensabile per chi deve gestire siti e portali a carettere informativo.


Esistono due tipi principali di CMS:

CMS specializzati o personalizzati: sono quei sistemi intenzionalmente progettati per un tipo preciso di contenuti, un'enciclopedia on-line o un blog, per esempio, generalmente usati dai portali di una certa importanza.

• CMS generici; che tendono ad essere più duttili per consentire la pubblicazione di diversi tipi di contenuti.

Il CMS è tecnicamente diviso in due parti: la sezione di amministrazione (back-end), che serve ad organizzare e supervisionare la produzione dei contenuti, e la sezione applicativa (front-end), che l'utente web usa per fruire i contenuti e le applicazioni del sito.

Una delle applicazioni più utili dei sistemi di CMS si ha nella gestione dei portali, dove vengono impiegati i CMS come strumento di pubblicazione flessibile e multiutente.
I CMS sono solitamente orientati alla gestione di testi (news, articoli ecc.), immagini, liste di discussione, forum, materiale scaricabile; a volte danno la possibilità di gestire anche più versioni dello stesso sito (ad esempio, HTML o WAP).
I CMS consentono di definire utenti, gruppi e diritti, in modo da poter permettere una distribuzione del lavoro tra più persone. Per esempio, sarà possibile definire una classe di utenti abilitati esclusivamente all’inserimento delle novità, mentre si potrà riservare la scrittura di articoli ad un altro gruppo, e limitare tutti gli altri alla sola consultazione.

Problemi di gestione:
chi pubblica o gestisce il sito può usare il CMS per intervenire sui contenuti e sull’aspetto, ma generalmente non è in grado di intervenire direttamente (o far intervenire) sulla struttura del CMS stesso; questo è un limite strettamente connesso al vantaggio primario dei CMS: pubblicare un portale senza doverne progettare la struttura o senza possedere le conoscenze tecniche (o le risorse finanziarie) per uno sviluppo personalizzato.

Utilizzando software open source si ha la possibilità di accedere al codice sorgente del prodotto permette di personalizzare il software sulla base delle proprie esigenze a patto di non avere necessità di apportare modifiche al prodotto adottato. In questo caso, vanno messi in conto i costi per lo sviluppo di moduli personalizzati o funzioni particolari a meno di non possedere in proprio o nella propria struttura aziendale le conoscenze tecniche per intervenire nel codice sorgente.
Ecco una lista di alcuni tra i più utilizzati CMS open source:

Alfresco
ASP Nuke
ASPCode CMS
ASPNukers CMS
CMSaccessibile
CMSimple
CMS Made Simple
CoCoComs
Contenido
dBlog CMS Open Source
dir2web
Docebo CMS
DotNetNuke
Drupal
eZ publish
Fedora Commons
Flatnuke
Geeklog
GuppY
Galatolo WebManager
ICE Integrated content management
iTCms
JAPS
JBoss Portal
Joomla
LG-Nuke
Liferay
LucidCMS
Magnolia
Mambo
Md-Pro
MemHT Portal
MKPortal
MovableType
New-CMS
Nuke-Evolution
Nuxeo
OpenASP
OpenCms
Pepsi CMS
Phoenix Portal
PhPeace
PHPNuke
PHP-Fusion
phpwcms
Plone
PostNuke
Rainbow
Rockchock
SPIP
Syntax Desktop
Textpattern
Typo3
WebGUI
WebPortal
Webmatic
Website Baker
WordPress
Xaraya
XCMS
XOOPS
Zen Cart





Tecniche di visualizzazione del report

Le tecniche di visualizzazione del report servono per facilitare l'analisi dei dati.
Le più note sono: drill-down, slice&dice, roll-up e filtering Vediamole in dettaglio:

Drill-down: con questa espressione il cui significato è "perforare un terreno", si intende la possibilità di esplorare tutta la gerarchia di un determinato dato complessivo, relatico ad una dimensione gerarchizzata di analisi. Un classico esempio di dimensione gerarchizzabile è quella temporale: il dato annuale può essere esplorato per sottoreport che visualizzano gli aggregati mensili e questi ultimi possono essere a loro volta disaggregati secondo i dati giornalieri.

Slice&dice:



letteralmente "fetta e dati", è una tecnica che permette di restringere l'analisi solo ad alcune delle occorrenze delle dimensioni e solo ad alcune delle dimensioni proposte. È possibile esplorare le vendite annuali solo di alcune regioni e di queste regioni solo di alcune città. I dati visualizzati si riferiranno unicamente alle occorrenze selezionate.

Roll-up: "arrotolare" è una tecnica che induce ad un aumento nell' aggregazione dei dati, eliminando un livello di dettagli da una gerarchia. Per esempio, si supponga che l' utente stia visualizzando gli incassi mensili degli anni '07 e '08 per ciascuna regione del cliente; qui effettuare un rull-up vuol dire eliminare il dettaglio sui singoli mesi per visualizzare gli incassi trimestrali complessivi per ciascuna regione.
Il roll-up puo portare anche alla riduzione della dimensionalità del risultati passando cosi da una tabella multidimensionale a una bidimensionale.

In sintesi l’operazione di roll-up può essere di due tipi:
1. Il primo tipo consiste nell’applicare una funzione aggregata (aggregating functions)

2. Il secondo tipo consiste nell’eliminazione completa di una dimensione (dimension measures).

Filtering: è tecnica attraverso la quale si filtrano i dati attraverso l'utilizzo di un algoritmo. Ad eesempio, si possono usare tecniche di filtering per individuare la posta spam nella nostra casella elettronica.



domenica 7 giugno 2009

Un esempio di cubo multidimensionale


L'ipercubo informativo è la rappresentazione del report aziendale ed è costituito da una raccolta di dati di cui si conoscono più dimensioni di analisi. Ogni componente di un dato è rappresentata su una dimensione spaziale del cubo. Spesso si fa riferimento al cubo indipendentemente dal numero di dimensioni. Difatti è possibile associare la rappresentazione di una tabella a doppia entrata ad un ipercubo informativo bidimensionale.

Vediamo un esempio:


Inizialmente può essere descritto uno spazio informativo a tre dimensioni e perciò con tre assi. Al suo interno vogliamo rappresentare lo spazio delle vendite di un'attività per:

1)Ambito Regionale (prima dimensione informativa)

2)Settore Merceologico (seconda dimensione informativa)

3)Ambito Temporale (terza dimensione informativa).

Ogni punto dello spazio così costituito rappresenta una misura delle Vendite per le dimensioni informative considerate. Analogamente ogni cella del cubo rappresenta il valore assunto all'intersezione delle occorrenze delle dimensioni scelte, ed in questo senso esso può essere visto come l'oggetto di un'analisi statistica di tipo multivariato.

Aggiungendo una nuova dimensione di analisi, ad esempio il Punto Vendita, si otterrebbe uno spazio quadri-dimensionale e analogamente un ipercubo a 4 dimensioni.


Formalizzazione dei concetti statistici di base: Unità,Caratteri, Classificazione, Matrice dei dati, Dimensioni,Funzioni di aggregazione, Misure, Spaz

Un collettivo statistico ( persone, oggetti, transazioni, ecc.) è costituito da unità statistiche. Per ciascuna unità statistica si possono rilevare k caratteri, ottenendo dunque altrettanti k valori. Inserendo tali rilevazioni all'interno di una tabella otterremo una matrice di dati, la quale rappresenterà appunto la realizzazione dei k caratteri su una stessa unità. I k caratteri possono comprendere un range dei valori che può assumere ( per esempio, se il carattere è "nome", il range sarà l'insieme dei nomi possibili: "marco, luca, stefano,ecc." ): questi vengono definiti come Modalità del carattere. Tali modalità possono essere formate da caratteri quantitativi ( discrete continue e sempre ordinabili) oppure da caratteri qualitativi (discrete sconnesse o ordinate). Nel momento in cui all'interno della matrice di dati avremo più valori per una unità, bisognerà aggregare i valori attraverso quella che viene definita Funzione di aggregazione.


Unità: l'oggetto dell'osservazione di ogni fenomeno individuale che costituisce il fenomeno collettivo è l'unità statistica.
Carattere:
fenomeno oggetto di studio, le cui diverse manifestazioni, dette modalità , vengono rilevate o misurate sulle singole unità che costituiscono la popolazione.
Classificazione: il termine viene utilizzato per varie attività che si possono ricondurre alla gestione delle conoscenze. Le attività di classificazione hanno il fine di organizzare le entità del dominio in esame, la collocazione delle entità nei diversi contenitori si basa sulla individuazione di differenze di rilievo tra le entità stesse, cioè su processi di distinzione.
Matrice dati: consiste in un insieme rettangolare di numeri o più in generale di caratteri, dove in riga abbiamo le unità statistiche ed in colonna le variabili; in ogni cella derivante dall'incrocio tra riga e colonna abbiamo un dato, ossia il valore registrato per una particolare variabile ed un particolare caso.
dimensione: A
ttributo strutturale di un cubo, ovvero una gerarchia organizzata di categorie (livelli) che descrivono i dati della tabella dei fatti.
Funzione di aggregazione:
funzione che esegue un calcolo su una colonna in un set di righe e restituisce un unico valore.
Aggregazione: tabella o struttura contenente dati precalcolati per un cubo.
Cubo: set di dati organizzati e riepilogati in una struttura multidimensionale definita da un set di dimensioni e misure.
Ruolo del cubo: raccolta di utenti o gruppi con le stesse autorizzazioni di accesso al cubo, In un cubo, set di valori, in genere numerici, basati su una colonna della tabella dei fatti del cubo stesso.
Misura: le misure sono i valori su cui si basano l'aggregazione e l'analisi.
Aggregatefunction: forniscono informazioni statistiche relative ad un
set di records (domain). Per esempio, è possibile utilizzare una aggregate.





Accessibilità come qualità

Attualmente si parta di Internet come patrimonio comune, per questo motivo è necessario introdurre un nuovo concetto: l'accessibilità.

Cosa intendiamo per accessibilità?Grassetto
Pensandoci brevemente direi che accessibilità è la facilità di orientamento, di navigazione e di comprensione all’interno dei documenti on-line.
Nel campo informatico rappresenta la capacità di un dispositivo, di un servizio o di una risorsa d'essere fruibile con facilità da una qualsiasi categoria d'utente.

Tutti possono accedere facilmente alla web? Se pensiamo a quelle persone che si trovano in una situazione di discapacità fisica, vediamo come sia facile rispondere a questa domanda con un sempile "no".
Tuttavia attraverso il web molte persone con discapacità possono raggiungere e accedere più facilmente e velocemente alla informazione.

Introduciamo dunque un nuovo termine: W3C (World Wide Web Consortium): stabilisce che il contenuto di un sito web è accessibile "quando può essere usato da qualcuno che ha una disabilità".

In un suo libro Tim Berners-Lee afferma che il web "deve consentire un accesso paritario a chi si trova in una situazione economica e politica differente, a chi ha handicap fisici o cognitivi, a chi appartiene a una cultura diversa e a chi usa lingue diverse con caratteri diversi che si leggono in diverse direzioni sulla pagina"; questa affermazione estende il concetto di accessibilità fino a comprendere tutti quei soggetti che rischiano di essere esclusi dalle trasformazioni in atto nella società. Il W3C ha varato le direttive WAI (Web Accessibility Initiative), linee guide per costruire siti web accessibili.

Ora passiamo alla Usabilità, cos'è?
Questo termine si riferisce alla facilità di utilizzo di un sito web. n questo senso è opportuno dotare un sito di un linguaggio chiaro e semplice, integrandolo magari con immagini e simboli che rendono la comunicazione più efficace. Importante è anche la coerenza del linguaggio e della grafica nonché la coerenza nella presentazione, per cui ad esempio gli oggetti contenenti informazioni affini vanno collocati nella medesima posizione. Infine assolutamente da evitare è l'uso smisurato di applicazioni multimediali e animazioni,che oltre ad essere scarsamente rilevanti a scopi informativi rallentano l'apertura di un sito, generando perdita di tempo per l'utente.

Secondo indicazioni internazionali, recepite e divulgate in Europa dal consorzio Euroaccessability, i livelli di accessibilità si suddividono in tre categorie: A, AA e AAA.
A= must, quando si risolvono problemi che "devono essere risolti" , perché impediscono l'accesso ai contenuti a determinate categorie di utenti.
AA= should, problemi che "dovrebbero essere risolti" per facilitare l'uso della pagina a determinate categorie di utenti.
AAA= may, quando si eliminano problemi che "possono essere risolti" al fine di migliorare l'utilizzo della pagina da parte di alcune categorie di utenti.
Per rendere accessibile un sito si devono correggere subito i problemi con priorità A e in seguito i problemi di livello AA. Con accessibilità AAA si raggiunge poi il livello più elevato

Quindi ora possiamo capire più facilmente perchè la accessibilità è una qualità: un sito web accessibile è certamente un sito web di qualità che dimostra attenzione da parte del team di sviluppo per le esigenze degli utenti, compresi quelli disabili.

Elementi teorici e strutturali del Report

Cos'è un report?
La Camera di commercio lo definisce come: "un documento nel quale si aggregano tutte le informazioni indispensabili per esaminare in modo dettagliato la situazione economica, finanziaria e societaria di qualsiasi impresa italiana, per valutare rapidamente la solidità patrimoniale di fornitori, clienti e concorrenti e per mantenere sotto controllo i rischi di credito e commerciali".

E' possibile compiere questa funzione grazie all'accesso alle fonti pubbliche di tutto il territorio nazionale.

Attraverso un ipercubo informativo è possibile una rappresentazione grafico-spaziale del report, dunque si deduce come, attraverso questo strumento, sia possibile studiare le dipendenze tra i dati raccolti.

Gli elementi che formano l'ipercubo sono: dimensioni e misure, aggregazioni di dati (
che permette una visione congiunta di dati e informazioni ) e funzioni aggregate (permetto di supportare le funzionalità del provider di dati, e di ridurre la rappresentazione a uno schema matriciale ).

Le funzioni di aggregazione più diffuse sono:
Count
Restituisce il numero di righe che soddisfano la condizione specificata nella clausola WHERE. Per esempio, se voglio conoscere il numero di impiegati che appartengono al dipartimento produzione
SELECT COUNT (*)FROM IMPIEGATOWHERE DIPARTIMENTO = 'PRODUZIONE';

Risultato--> 2

COUNT(DISTINCT)
Questa funzione restituisce il numero delle diverse combinazioni che non contengono il valore NULL.
Ad esempio, se in una colonna abbiamo 10 righe: 5 contenenti la parola "calcio", 3 contenenti il termine "tennis" e le ultime 2 con "golf", effettuando un COUNT(DISTINCT) avremo il numero di combinazioni diverse, ovvero 3 (calcio, tennis, golf).

SELECT(DISTINCT nomeCampo) FROM nomeTabella;

Per riassumere quindi, se avessimo una tabella di MySQL che raccoglie le registrazioni a un determinato sito, SELECT COUNT(DISTINCT) può essere utile per sapere quanti nomi diversi sono stati usati, oppure quanti diversi titoli di studio ecc.

COUNT BIG:
Funzione che restituisce il numero di elementi in un gruppo. Il funzionamento di COUNT_BIG è analogo a quello della funzione COUNT. L'unica differenza è il valore restituito. COUNT_BIG infatti restituisce sempre un valore di tipo bigint mentre COUNT restituisce sempre un valore di tipo int: COUNT_BIG ( { [ ALL DISTINCT ] expression } * )

SUM
Questa funzione somma tutti i valori di una colonna, per esempio, sevoglio ottenere la somma di tutti gli stipendi
SELECT SUM(STIPENDIO)FROM IMPIEGATO;

Risultato-->L.29.390.0000


La funzione SUM opera soltanto con i numeri, se viene applicata a un campo non numerico, si ottiene un messaggio di errore.


Avarage
Calcola la media aritmetica dei valori di una colonna. Per esempio, se voglio conoscere lo stipendio medio della tabella IMPIEGATO.
SELECT AVG(STIPENDIO)FROM IMPIEGATO;

Risultato--> L. 3.673.750
La funzione AVG opera soltanto con i numeri.


MAX
Questa funzione serve a trovare il valore massimo di una colonna. Per esempio se voglio sapere a quanto ammonta lo stipendio maggiore.
SELECT MAX(STIPENDIO)FROM IMPIEGATO;

Risultato-->L. 7.300.000

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. Per esempio se voglio trovare il minimo stipendio della tabella IMPIEGATO si usa la seguente espressione:
SELECT MIN(STIPENDIO)FROM IMPIEGATO;

Risultato-->L. 360.000


La funzione MIN opera anche con i caratteri: la stringa ‘AAA’ è minore della stringa ‘BB’.

CHECKSUM_AGG

Questa funzione restituisce il valore di checksum dei valori di un gruppo: CHECKSUM_AGG (

STDEV:
Questa funzione restituisce la deviazione statistica standard di tutti i valori nell'espressione specificata: STDEV

STDEVP
Restituisce la deviazione statistica standard relativa alla popolazione di tutti i valori dell'espressione specificata: STDEVP

GROUPING
Indica se un'espressione della colonna specificata in un elenco GROUP BY è aggregata. GROUPING restituisce 1 per le espressioni aggregate o 0 per le espressioni non aggregate nel set di risultati. È possibile utilizzare GROUPING solo in un elenco di SELECT e nelle clausole ORDER BY quando GROUP BY è specificato: GROUPING ( column_expression )

VAR
restituisce lo scostamento statistico di tutti i valori dell'espressione specificata: VAR

VARP
restituisce la varianza statistica della popolazione per tutti i valori nell'espressione specificata: VARP

Alcune delle funzioni aggregate non esistono in access ma sono riproducibili in altri DBMS. Tra le funzioni più comuni, quelle non esistenti in access sono STDEV e VAR.

L'obiettivo di un Sistema di Reportistica all'interno di una organizzazione è quello di documentare in maniera dettagliata ed anlitica le attività di preminente interesse: questo patrimonio informativo deve essere sempre aggiornato e corretto secondo un'univoca prassi organizzativa che lo tuteli da lacune ed incongruenze. I Sistemi di Reportistica vengono sviluppati in ambiti aziendali complessi che hanno previsto una soluzione di Datawarehouse. Una delle finalità di un processo di Datawarehouse è proprio quella di strutturare un contesto informativo hardware e software capace di rispondere alle esigenze dello scenario organizzativo nel senso più ampio possibile.

In tali contesti si hanno coerenza e consolidamento dei dati, velocità nell’accesso alle informazioni e supporto per l’analisi delle stesse. Con l'aumentare della mole di dati a disposizione di una organizzazione l'elaborazione centralizzata di documenti permette :
  • l'ottimizzazione delle richieste al sistema
  • ne diminuisce il carico di attività rispetto alla situazione in cui singoli utenti ricercano informazioni individualmente,
  • consente una distribuzione ottimale delle conoscenze ed una visione dell'attività più conforme e concorde fra le varie funzioni dell'organizzazione, di continuo aggiornata sulla base della disponibilità della fonte dei dati.

Fasi di sviluppo di un sistema di reportistica :

1)Identificazione delle Esigenze Informative e di Visualizzazione

2)Identificazione del Contesto Informativo e delle Fonti

3)Identificazione della Configurazione del Sistema Hardware/Software

4)Fase di Integrazione Hardware/Software delle Risorse Informative

5)Preparazione del Report

6)Validazione del Report

7)Fase di Collaudo del Sistema

8)Fase di Esercizio del Sistema di Reportistica

9)I Sistemi di Reportistica - integrati in progetti di Business intelligence - permettono all'utente finale di disporre di una serie di funzionalità in aggiunta ai report veri e propri

10)Metadati (una descrizione dei dati, così da assicurarne la comprensione)

11)Analisi di tipo tradizionale statistico

12)Rappresentazione con GIS (Sistema informativo geografico)

13)Esecuzione di Script personalizzati con linguaggi di basso livello

14)Uso di Componenti Web



Per facilitare l'analisi dei dati sono state create differente tecniche, in seguito verranno illustrate le più comuni.

- Drill-down: (dal termine anglosassone che esprime l’azione di perforare un terreno) si intende la possibilità, una volta visualizzato il dato complessivo relativo ad una dimensione gerarchizzata ,di analisi di esplorare tutta la gerarchia. Un classico esempio di dimensione gerarchizzabile è quella temporale: il dato annuale può essere esplorato per sottoreport che visualizzano gli aggregati mensili e questi ultimi possono essere disaggregati secondo i dati giornalieri.

- Slice & Dice (dall’inglese, il termine si riferisce nel complesso all’operazione di divisione di una torta) si intende la possibilità di restringere l’analisi solo ad alcune delle occorrenze delle dimensioni e solo ad alcune delle dimensioni proposte. È possibile nell’esempio visto sopra, esplorare le vendite annuali solo di alcune regioni e di queste regioni solo di alcune città. I dati visualizzati si riferiranno unicamente alle occorrenze selezionate.


Si parla di Architettura di Sistema_client/server di un Sistema di Reportistica informatizzato se esso è funzionalmente strutturato in modo da conservare in un singolo Repository - un Dominio, logicamente associato al Server - i documenti prodotti rendendoli accessibili dalle postazioni Client dei fruitori. La funzione di centralizzazione può essere prevista da architetture complesse ed integrate all'interno di Reti e può prevedere differenti livelli di autorizzazioni e di relativa operatività sul sistema (utenti amministratori, utenti visualizzatori, utenti modificatori e creatori di nuovi documenti, etc..). La fruizione dei documenti finali può essere allargata anche agli utenti di una comunità più ampia . Più in generale, sempre più spesso i siti di Enti ed Istituzioni possono prevedere Sistemi di Reportistica via web che permettano da un lato di documentarne le attività, dall'altro di rendere disponibili dati di sintesi per approfondimenti tematici. I documenti - una volta strutturati e prodotti - vengono resi disponibili alla visualizzazione da parte degli utenti e da questi possono essere salvati sulla postazione locale. Laddove il sistema lo preveda e lo permetta il singolo utente può a sua volta modificare il documento salvato e renderlo fruibile reinviandolo al repository. Il sistema può mantenere traccia delle variazioni e dei relativi autori e assicurare che il documento sia aggiornato in conseguenza a nuovi caricamenti di dati sui sistemi alimentanti.

mercoledì 3 giugno 2009

Sistemi di reportistica


I sistemi di reportistica sono un sottoambito dei sistemi informativi e servono per fornire documentazione analitica sulle attività di rilievo dell'organizzazione.
Attraverso il loro utilizzo si ottiene coerenza e consolidamento dei dati, velocità nell'accesso delle informazioni, supporto per l'analisi dei dati.
Il Report Impresa integra:

* i dati identificativi del soggetto richiesto.

* per le società di capitali, i dati sintetici di bilancio su fatturato, valore della produzione e numero di dipendenti.

* i codici RAE (Ramo di Attività Economica) e SAE (Settore di Attività Economica)

* l'elenco dei soci e degli esponenti d'impresa e le loro cariche in altre società.

* i protesti su sede ed esponenti d'impresa.

* le informazioni pregiudizievoli su sede ed esponenti d'impresa.

* l'elenco delle società controllate e collegate.

* le informazioni sulla sede e sulle unità secondarie.

* gli abstract delle notizie pubblicate da oltre 130 quotidiani nazionali, regionali e locali sull'impresa.

* il rating, che consente di avere immediatamente un quadro generale dell'affidabilità di un'impresa.

* a richiesta, i Bilanci Riclassificati, per conoscere il reale stato economico delle società di capitali e per contestualizzarne le performance all'interno del settore d'appartenenza.

Funzioni:

Ogni report ha diverse funzioni: dimensione, misura, aggregazioni, funzioni.

Le 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.

Architettura:

Si parla di Architettura di Sistema client/server di un Sistema di Reportistica informatizzato se esso è funzionalmente strutturato in modo da conservare in un singolo Repository - un Dominio, logicamente associato al Server - i documenti prodotti rendendoli accessibili dalle postazioni Client dei fruitori. La funzione di centralizzazione può essere prevista da architetture complesse ed integrate all'interno di Reti e può prevedere differenti livelli di autorizzazioni e di relativa operatività sul sistema (utenti amministratori, utenti visualizzatori, utenti modificatori e creatori di nuovi documenti, etc..).

La fruizione dei documenti finali può essere allargata anche agli utenti di una comunità più ampia - un sito web. Più in generale, sempre più spesso i siti di Enti ed Istituzioni possono prevedere Sistemi di Reportistica via web che permettano da un lato di documentarne le attività, dall'altro di rendere disponibili dati di sintesi per approfondimenti tematici.

I documenti - una volta strutturati e prodotti - vengono resi disponibili alla visualizzazione da parte degli utenti e da questi possono essere salvati sulla postazione locale. Laddove il sistema lo preveda e lo permetta il singolo utente può a sua volta modificare il documento salvato e renderlo fruibile reinviandolo al repository.

Il sistema può mantenere traccia delle variazioni e dei relativi autori e assicurare che il documento sia aggiornato in conseguenza a nuovi caricamenti di dati sui sistemi alimentanti.

Principali DBMS



Il DBMS è un sistema di software progettato per consentire la creazione e manipolazione efficiente di database da parte di più utenti.
Svolgono un ruolo molto utile in diversi ambiti: contabilità, risorse umane, finanza, telefonia.
Se in passato i DBMS erano diffusi principalmente presso le grandi aziende e istituzioni (che potevano permettersi l'impegno economico derivante dall'acquisto delle grandi infrastrutture hardware necessarie per realizzare un sistema di database efficiente), oggi il loro utilizzo è diffuso praticamente in ogni contesto. L'espressione applicazione enterprise, che nel gergo informatico si riferisce ad applicazioni legate al business delle aziende che le utilizzano, implica quasi "per definizione" la presenza di una o più basi di dati amministrate da uno o più DBMS.
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 principali prodotti software per l'archiviazione delle informazioni (DBMS) sono:

Software proprietario
-4th Dimension
-ADABAS (Software AG)
-AskSam
-DB2 (IBM)
-DATAllegro
-Caché (InterSystems)
-FileMaker Pro (FileMaker, Inc., in precedenza Apple)
-FrontBase
-IMS/DB (IBM)
-Informix (IBM)
-Ingres (Computer Associates)
-Microsoft SQL Server (Microsoft)
-Microsoft Access (Microsoft)
-Mimer SQL (Mimer AB)
-mSQL
-Netezza
-Oracle (Oracle Corporation)
-Ovrimos
-Progress RDBMS (Progress Software Corporation)
-SESAM
-SQL Anywhere Studio
-Sybase SQL Server
-Teradata (NCR Corporation)
-TimesTen (TimesTen, Inc.)

Open source o free software
-Berkeley DB (Sleepycat Software)
-Dataman
-DBM
-Drizzle
-Emdros
-Firebird SQL (The FirebirdSQL Foundation)
-GigaBASE
-HSQL Database Engine
-HyperNetDatabase
-MaxDB (prima SAP DB e Adabas)
-Metakit
-MySQL (MySQL AB)
-Ozone
-PicoSQL (un Dbms italiano)
-PostgreSQL (in precedenza Postgres) (PostgreSQL Global Development Group)
-SQLite (di pubblico dominio)
-tdbengine
-ZODB

Esistono differenti tipo di Database:

navigazionali (come IMS), relazionali (come SLQ), multidiensionali come (ORACLE).

A seguito alcune definizioni di alcuno DBMS:

- ORACLE: è uno tra i piu’ famosi database management system di tipo multidimensionale. Ha coperto e copre tuttora un ruolo fondamentale nel campo dei DBMS, è il pioniere per eccellenza nello studio delle basi di dati, infatti è il primo. in termini di tempi di sviluppo, ad implementare nuove tecnologie. La societa’ informatica che lo produce è la Oracle Corporation, una delle piu’ grandi nel mondo, fonadata nel 1977 e con sede in California. ORACLE è stato il primo DBMS commerciale basato su SQL, era infatti già disponibile nel lontano 1979.

- MySQL: la sua popolarita’ è amplificata grazie alla presenza del DBMS all’interno della piattaforma LAMP, orientata allo sviluppo per le applicazioni Web. Infatti tutti i software usati in questa piattaforma vantano grandi successi, riconoscimenti internazionali e grande stabilità. MySQL è rilasciato con licenza GPL e cio’ significa che i sorgenti sono di pubblico accesso.

- PostGreSQL: è un database indipendente al 100%. Non è gestito da nessuna azienda. E’ nato come un esperimento e continua ad esserlo dopo oltre 20 anni; viene sviluppato da una grande comunita’ di programmatori ed è supportato da una serie di aziende. E’ un DBMS open source.

- Sequel Service: è il database prodotto dalla Microsoft. Nelle prime versioni era utilizzato per basi dati medio-piccole, ma dalla versione 2000 è stato utilizzato anche per la gestione di basi dati di grandi dimensioni.

- Access: creato da Microsoft, è inserito nel pacchetto Office Professional ed unisce il motore relazionale Microsoft Jet Database Engine con una interfaccia grafica. Access presenta il doppio vantaggio di poter essere utilizzato sia da sviluppatori software esperti, sia da programmatori alle primissime armi. A differenza di altri ambienti di sviluppo, in Access un unico file comprende tutti gli strumenti per lo sviluppo delle applicazioni: tabelle, query, maschere, report. Nelle tabelle vengono memorizzati i dati; le query sono gli strumenti per l'interrogazione ed la manipolazione dei dati che usufruiscono di un mini-SQL; le maschere permettono l’interazione con i dati delle tabelle attraverso un'interfaccia grafica; i report consentono di visualizzare dei risultati basati sui dati.

Software: vantaggi e svantaggi


Tutti, sempre, utilizziamo software: anche solo quando accendiamo il nostro computer.
Il termine indica un programma o un insieme di programmi in grado di funzionare su un elaboratore.
Possiamo individuare vantaggi e svantaggi per chi lo produce e per l'utente finale.

Vantaggi per chi lo produce:

- la produzione di software richiede la disponibilità di un altro software (per esempio i compilatori e le librerie standard); così la produzione di software libero parte avvantaggiato dalla disponibilità del software libero già esistente, senza i costi per l’ acquisizione dei diritti necessari, riducendo di conseguenza i tempi per lo sviluppo;

- la produzione di software libero pone l’ accento sulle persone che scrivono il codice e non su un marchio particolare.

Vantaggi per l’utente finale :

- il software può essere modificato per adottarlo alle proprie esigenze;

- la concorrenza mette a disposizione il software a costi inferiori;

- la concorrenza consente di scegliere liberamente il fornitore;

- con le dovute conoscenze il software può essere verificato, soprattutto quando si utilizza in ambiti critici dal punto di vista della sicurezza;

- il software può essere studiato, consentendo la diffusione della conoscenza.

Svantaggi per chi produce

- il software libero non consente di mantenere una posizione privilegiata nel mercato;

- i margini di reddito sono ridotti per l’ assenza di ” rendite di posizione”.

Svantaggi per l’ utente finale

- il software libero richiede una maggiore consapevolezza sul piano informatico;

- il software libero richiede una maggiore consapevolezza sul funzionamento del singolo prodotto software e sull’ organizzazione del sistema operativo;

- l’ utente deve fare le proprie scelte e seguirne la strada

Attraverso la piattaforma Internet, si è sviluppata la cosi detta democratizzazione dell'informazione: il processo di comunicazione online permette una diffusione di contenuti più libera e veloce. Nasce un nuovo tipo di produttore di informazione: il cittadino. La partecipazione individuale si diffonde sempre più, tutti possiamo creare informazione.

Internet permette un aggiornamento minuto per minuto: l'informazione è fresca!
Internet permette un'informazione personalizzata: il percorso di creazione è personale, grazie all'utilizzo di link.