
lunedì 27 ottobre 2008
Sistemi informativi aziendali: I Datawarehouse. Che cosa sono e cosa li differenzia dai sistemi OLTP

domenica 26 ottobre 2008
CMS Content management system

-URL permanenti che aiutano l' ottimizzazione nei motori di ricerca
-Supporto a plugin esterni
-Gestione delle categorie
-Funzioni di Trackback e Pingback
-Editor WYSIWYG per la formattazione dei testi
-Creazione di pagine statiche
-Supporto multi-autori
-Log degli utenti che visitano il blog
-Blocco di utenti in base all'indirizzo ip
-Possibilità di specificare meta-tag
lunedì 20 ottobre 2008
JOIN

SELECT autore,voto FROM studenti WHERE resp = luca
SELECT autore,voto FROM studenti WHERE resp =Giuseppe
Giuseppe media dei voti: 16
SELECT autore,voto FROM studenti WHERE resp = Giovanni
SELECT autore,voto FROM studenti WHERE resp = Stefano
Stefano media dei voti: 16
Avendo estratto la media dei voti ho provveduto a creare la tabella responsabili per poterla poi "joinare" con quella studenti.
Attraverso una query di tipo JOIN è possibile ottenere come risultato di un'unica query un insieme di dati provenienti da tabelle differenti che presentino però una relazione tra di loro.
Se scrivo una istruzione del tipo: SELECT* from studenti, responsabili produrrà in uscita l'insieme di tutti i possibili accoppiamenti tra un elemento della prima tabella e un elemento della seconda; matematicamente si tratta del prodotto cartesiano tra le due tabelle, che avrà un numero di righe pari al prodotto tra il numero di righe delle due tabelle.
Un risultato questo di scarso interesse, mentre è sicuramente di maggiore utilità poter estrarre dal DB un sottoinsieme opportuno del prodotto cartesiano. Per esempio se volessi sapere la corrispondenza tra la tabella studenti e quella responsabili, per quanto concerne la votazione di ogni blog e la corrispondenza con la media aritmetica di voti del singolo assistente che ha valutato lo stesso, opererò la seguente join:
SELECT studenti.indirizzo, studenti.voto, responsabili.mediaVoti, responsabili.resp FROM studenti INNER JOIN responsabili ON studenti.resp = responsabili.resp
l'SQL ed esempi di SELECT

-MDX, un QL per i database OLAP.
-Datalog, per i database deduttivi.
-XQuery, per le fonti di dati in XML .
-SuprTool, un QL proprietario per SuprTool, un programma per accedere ai db usato per dati in Image/SQL (TurboIMAGE) e per i database Oracle.
Data Definition Language (DDL) - permette di creare e cancellare database o di modificarne la struttura.
Data Manipulation Language (DML) - permette di inserire, cancellare, modificare e leggere i dati
Data Control Language (DCL) - permette di gestire gli utenti e i permessi
Questo linguaggio di interrogazione è stato confezionato per interagire con i database relazionali. I database appartenenti a questa categoria, dei quali abbiamo già trattato in questo blog, si basano sul modello relazionale la cui struttura principale è per l'appunto la relazione, cioe' una tabella bidimensionale composta da righe e colonne. Ciascuna riga, chiamata tupla, rappresenta un'entita' che noi vogliamo memorizzare nel database. Le caratteristiche di ciascuna entita' sono definite invece dalle colonne delle relazioni, che vengono chiamate attributi. Entita' con caratteristiche comuni, cioe' descritti dallo stesso insieme di attributi, faranno parte della stessa relazione. I teorici fanno però notare come le caratteristiche originali dell'Sql, ispirate al calcolo delle tuple, in realtà lo violino. Le sue estensioni più recenti supportano pienamente il Modello relazionale, ma secondo gli esperti hanno implementato lo spettro di tali violazioni. Svariate sono inoltre le critiche mosse all'utilizzo pratico di SQL, a partire dalla presunta complessità del linguaggio, fino ad arrivare alla mancanza di una procedura standard per suddividere un lungo comando in comandi più brevi a cui ci si possa riferire tramite un nome.
SELECT * FROM nome_tabella
dove * sta per "tutti i campi".
sabato 18 ottobre 2008
IL REPORT INFORMATIVO AZIENDALE

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:
2)Settore Merceologico (seconda dimensione informativa)
3)Ambito Temporale (terza dimensione informativa).
Aggiungendo una nuova dimensione di analisi, ad esempio il Punto Vendita, si otterrebbe uno spazio quadri-dimensionale e analogamente un ipercubo a 4 dimensioni.
Torniamo ora ai report, prendendo in considerazione le tecniche di visualizzazione. Al fine di evolvere verso documenti maggiormente informativi, gli strumenti informatici si sono dotati di alcune tecniche di visualizzazione per facilitare l'analisi dei dati. Tecniche note nella visualizzazione dei report sono:
1)drill-down
2)slice & dice
Con drill-down ("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 a loro volta disaggregati secondo i dati giornalieri.
Per slice & dice ("dividere una torta") si indica 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.
I sistemi di reportistica sono un sottoambito dei Sistemi Informativi e per generalità di attribuzione anche dei Sistemi di Business Intelligence e ne costituiscono una estensione legata all'evoluzione informatica. Per sistemi di business intelligence (BI) ci si riferisce solitamente a:
-un insieme di processi aziendali volti alla raccolta e all’analisi di informazioni strategiche.
-la tecnologia utilizzata per realizzare questi processi,
-le informazioni ottenute mettendo in atto tali processi.
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 i vantaggi di un'elaborazione centralizzata dei documenti si palesano nei tempi di esecuzione dei singoli report: la particolare configurazione hardware delle postazioni su cui vengono materialmente ospitate le risorse del sistema permette l'ottimizzazione delle richieste al sistema e ne diminuisce il carico di attività rispetto alla situazione in cui singoli utenti ricercano informazioni individualmente. La standardizzazione dei documenti consente inoltre - secondo l'approccio all'informazione come bene aziendale - 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.
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
Architettura di un sistema di reportistica
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.
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 e BI software convergendo verso vere e proprie piattaforme di 'Desktop Automation'.
Produttori di tools:
Actuate
Business Objects
Cognos
DataTime
Microstrategy
Oracle
mercoledì 15 ottobre 2008
Elementi teorici e strutturali del report:Dimensioni, Misure, Aggregazione, funzioni di aggregazione e formalizzazione dei concetti statistici di base

I caratteri quantitativi sono discreti nel momento in cui l’insieme delle modalità assumibili può essere messo in corrispondenza biunivoca con un sottoinsieme di numeri interi (ad esempio numero di figli). Sono invece continui quando l’insieme delle modalità assumibili può essere messo in corrispondenza biunivoca con un sottoinsieme di numeri reali (peso, altezza, etc).
I caratteri qualitativi invece possono essere sconnessi e ordinati. Alla prima categoria appartengono quei caratteri per i quali date due o più modalità sarà possibile affermare solo se sono uguali o diverse (ad es. Luogo di nascita, Sesso.). Mentre per i caratteri ordinati è possibile stabilire un ordine tra le modalità (ad es. titolo di studio: senza titolo, licenza elementare, diploma di maturità, laurea di primo livello, etc).
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. Vediamo di cosa si tratta, illustrando un semplice esempio pescato dal web:

COUNT
Restituisce il numero di righe che soddisfano la condizione specificata nella clausola WHERE. Vediamo un esempio: voglio conoscere il numero di impiegati che appartengono al dipartimento produzione
SELECT COUNT (*)FROM IMPIEGATOWHERE DIPARTIMENTO = 'PRODUZIONE';
Risultato--> 2
SUM
Questa funzione somma tutti i valori di una colonna, vediamo un esempio: voglio 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.
AVG (average)
Calcola la media aritmetica dei valori di una colonna. Vediamo un esempio: 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 vogliamo 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 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’.
Il formato ideale per il documento software di relazione aziendale (soggetto a revisioni nel tempo): Presentazioni, relazioni, progetti.

· Le relazioni aziendali riguardanti il fatturato annuo, le politiche adottate, i progetti sposati, o qualunque altro aspetto di interesse per l’azienda, debbono essere in primo luogo chiare e dettagliate. È preferibile evitare uno stile retorico ed è necessario tenere bene in conto le competenze tecniche e il know how del pubblico di riferimento in modo da confezionare una relazione comprensibile a tutti. La stessa, nel rispetto dei canoni dell’ identità visiva, sarà impaginata utilizzando il font aziendale, i colori e la formattazione istituzionali, sarà affiancata dal marchio logo e veicolata in formati testuali laddove se ne faccia una diffusione cartacea o tramite mail, oppure in ppt se la stessa dovrà essere presentata da un responsabile ad una riunione così come ad un meeting.
IL SOFTWARE PER LA CREAZIONE DI PAGINE WEB PERSONALI: UNA REVIEW

Dreamweaver: è un editor prodotto da Macromedia ed è tra i programmi più utilizzati per realizzare siti web. Questo software dà un'interfaccia visuale: con esso si possono allestire pagine web, scrivendo semplicemente del testo, inserendo immagini e collegamenti ipertestuali, senza dover conoscere il linguaggio html.
Nvu: è un editor web che si affianca a Mozilla Firefox e Mozilla Thunderbird per sostituire la suite Mozilla. La pronuncia dovrebbe essere "enview", che sta per new view. "Nuova vista" è rivolto ad una utenza non tecnica o comunque semi-professionale: non mira quindi a sostituire Adobe Dreamweaver quanto piuttosto Microsoft FrontPage. Nvu inoltre è totalmente gratuito!
KompoZer: è una evoluzione di Nvu. È mantenuto da una community di sviluppatori ed è un progetto di Sourceforge.
Expression Web: Un editor della Microsoft che nella sua seconda versione presenta innovative funzioni facilmente utilizzabili anche dai meno esperti. Crea siti Web basati su stili CSS e compatibili per impostazione predefinita con le specifiche XHTML 1.0 Transitional. Grazie a un migliore utilizzo dei browser, semplifica le attività di deployment e manutenzione. Consente di realizzare siti web e con applicazioni e toolset con un'interfaccia grafica che unisce la professionalità alla semplicità d'uso, permettendo di intervenire direttamente sulle impostazioni e nello stesso tempo di pensare allo sviluppo dei contenuti.
lunedì 13 ottobre 2008
-->DbMs...i software più diffusi...

...I vantaggi dell'informazione on line...

Accessibilità dei siti WeB...

giovedì 9 ottobre 2008
Statistici versus Informatici, una sfida all’ultimo numero.

La Normalizzazione dei DataBase

Prima forma normale
Definizione: Si dice che una base dati è in 1NF (prima forma normale) se vale la seguente relazione per ogni relazione contenuta nella base dati:
- una relazione è in 1NF se e solo se:
non presenta gruppi di attributi che si ripetono - esiste una chiave primaria (ossia esiste un insieme di attributi, che identifica in modo univoco ogni tupla della relazione)
Seconda forma normale
Definizione: Una base dati è invece in 2NF (seconda forma normale) quando è in 1NF e per ogni tabella tutti i campi non chiave dipendono funzionalmente dall'intera chiave primaria e non da una parte di essa.
Terza forma normale
Definizione: Una base dati è in 3NF (terza forma normale) se è in 2NF e per ogni dipendenza funzionale è vera una delle seguenti condizioni:
- X è una superchiave della relazione
- Y è membro di una chiave della relazione
Teorema: Ogni relazione può essere portata in 3NF.
Quarta forma normale
Una base dati è detta invece essere in 4NF quando per ogni relazione di dipendenza funzionale molti a molti X Y, X sia una superchiave.
Quinta forma normale
Infine, una base dati si dice in 5NF se e solo se:
- è in 4NF;
- ogni relazione di dipendenza è implicata dalle chiavi candidate.
lunedì 6 ottobre 2008
Dati, informazione e conoscenza.

I canali di comunicazione software e la comunicazione sociale

...Software Platonici...

