mercoledì 9 dicembre 2009

Classificazione dei software web per la comunicazione delle informazioni (Social Networking, Newsgroup, Forum, Blog)


IL BLOG

Il blog è una realtà esplosa di recente,ma affonda le sue radici nella storia del Web fino alla metà degli anni ’90. La rapida crescita si trasforma in esplosione demografica dopo il 2002 quando diventa competitivo per il tempo e i costi necessari a organizzare una presenza on-line.
Il blog è uno strumento elementare per pubblicare contenuti in rete, ma il suo successo nonché elemento di novità che ha portato nel panorama mediatico si deve soprattutto al fatto che chi lo usa ha saputo fin ora esaltare la natura ipertestuale e profondamente relazionale di internet. Il blog associa una persona a un nodo della rete: attraverso i link(collegamenti ipertestuali), da ogni punto di presenza l’attenzione viene rilanciata ad altri punti di presenza e altri siti.
E’ a tutti gli effetti un sito web: dal punto di vista della Rete,dei linguaggi e dei protocolli, è costruito come un sito web e come se fosse un sito web tradizionale vi si accede. La sua particolarità sta nell’essere gestito da un software per la gestione dei contenuti (Contest Management System) che automatizza e rende elementare l’inserimento, la pubblicazione e l’archiviazione di testi, immagine ed elementi multimediali. Caratteristica di ogni sistema automatico per la gestione dei contenuti e la netta divisione tra i contenuti e la loro presentazione. Il testo, le immagini e gli altri contenuti multimediali sono raccolti in un magazzino ( un database) e da questo sono richiamati e di volta in volta posizionati sulla pagina finale in base a ciò che il visitatore chiede di consultare. Unità minima del blog e suo fulcro è il “post” la porzione di contenuto corrispondente a ciascun intervento. I post sono pubblicati in ordine cronologico inverso: il più recente compare in cima alla pagina, il più datato in fondo. Tutti gli interventi pubblicati restano accessibili nell’archivio del blog, composto da raccolte mensili o settimanali.


I SOCIAL NETWORK

La versione di Internet delle reti sociali è una delle forme più evolute di comunicazione in rete.
Le social network online ebbero un'esplosione nel 2003, grazie alla popolarità di siti web come Friendster, Tribe.net e LinkedIn. Il motore di ricerca Google, ha lanciato Orkut il 22 gennaio 2004. Kibop, una social network in spagnolo e portoghese, ha debuttato anch'essa nel 2004. In Italia il primo dei grandi portali passati verso questo tipo di social network è stato superEva, ma sono comunque vivissime le comunità di italiani su Orkut e LinkedIn.Attualmente, i due social network services più rilevanti per accessi sono attualmente Facebook e Myspace, rispettivamente con 132 e 117 milioni di utenti, con il sorpasso del primo sul secondo nell'aprile del 2008.
Le applicazioni basate su reti sociali (più note con il corrispettivo inglese social network) sono ambienti di Internet che forniscono un contesto operativo per l’interazione tra reti di contatti che hanno in ciascun partecipante il proprio fulcro.
Chi si iscrive a un servizio di questo tipo da vita innanzitutto a un punto di presenza personale secondo le regole e le caratteristiche di quella specifica comunità. Il legame con un nodo della rete,oltre che dare vita a uno scambio privilegiato e reciproco tra i due soggetti,mette in comunicazione le rispettive reti di contatti,espandendole per gradi di sfera sociale. Dentro un’applicazione del genere dunque, il capitale sociale di ogni singolo nodo della rete sociale diventa il metodo privilegiato di ricerca per idee,contenuti e persone. Dentro un social network tuti i nodi sono uguali, non esiste alcun centro ordinatore e ciascun partecipante vede l’universo a partire dalla propria finestra dlla quale inizia l’esplorazione. Una rete sociale riproduce al suo interno una porzione virtuosa di quello che potrebbe essere internet, è la porta d’accesso per raggiungere gli iscritti della comunità con cui è possibile entrare in contatto in maniera esponenziale in funzione del numero di persone inserite tra i propri contatti,del numero di persone inserite da ciascun amico nella rispettiva lista di contatti e via dicendo.

IL NEWSGROUP

Un newsgroup è uno degli spazi virtuali creato su una rete di server interconnessi (storicamente una sottorete di internet USENIX network o più semplicemente Usenet) per discutere di un argomento (topic) ben determinato. In italiano a volte viene utilizzato il termine gruppo di discussione.
I news server comunicano fra loro (attraverso il protocollo NNTP) in modo che i messaggi inviati ad un server si trovino duplicati su tutti gli altri server. Per diversi motivi (economie di spazio, interesse degli utenti, censura), non tutti i server contengono gli stessi NG. Ogni gestore di news server (spesso gli stessi provider ISP) può decidere infatti quali NG tenere.
L'accesso a queste aree tematiche avviene per mezzo di programmi chiamati news clients o newsreader (oggi a volte integrati nei programmi di posta elettronica come ad esempio Mozilla Thunderbird, SeaMonkey, Outlook Express, Sylpheed), a una sorta di “stanza delle bacheche” (news server) che raccoglie i vari NewsGroup (o in breve NG)

IL FORUM


Struttura informatica contenente discussioni e messaggi scritti dagli utenti, a una sua sottosezione oppure al software utilizzato per fornire questa struttura. Un senso di comunità virtuale si sviluppa spesso intorno ai forum che hanno utenti abituali. La tecnologia, i videogiochi, la politica, l'attualità e lo sport sono temi popolari, ma ci sono forum per un enorme numero di argomenti differenti. I forum vengono utilizzati anche come strumenti di supporto on-line per vari prodotti e all'interno di aziende per mettere in comunicazione i dipendenti e permettere loro di reperire informazioni.
Ci si riferisce comunemente ai forum anche come board, message board, bulletin board, gruppi di discussione, bacheche e simili.
Molti forum richiedono la registrazione dell'utente prima di poter inviare messaggi ed in alcuni casi anche per poterli leggere. Differentemente dalla chat, che è uno strumento di comunicazione sincrono, il forum è asincrono in quanto i messaggi vengono scritti e letti anche in momenti diversi.
Pacchetti per la gestione di forum sono ampiamente disponibili su Internet, alcuni gratuitamente ed altri a pagamento. Possono essere scritti in una grande varietà di linguaggi di programmazione, come PHP, ASP, Perl e Java ed i loro contenuti vengono solitamente memorizzati in file di testo o in DBMS.
I più utilizzati tra i software gratuiti sono phpBB, Simple Machines Forum e Snitz Forums 2000, mentre tra quelli a pagamento troviamo vBulletin e Invision Power Board (che fino all'ormai obsoleta versione 1.3 era disponibile gratuitamente).
Infine, per chi non disponesse delle competenze o dei mezzi necessari all'installazione di un software come questi su un server, esistono anche alcuni forum in outsourcing o la possibilità di utilizzare software p2p appositi come Osiris che consente la creazione di forum decentralizzati e distribuiti tra i vari nodi.

Riflessioni sulle relazioni tra dati, fatti, informazioni, conoscenza. Interrelazioni, differenze, forme di manipolazione


Tutta la nostra vita è caratterizzata dall’atto del conoscere e se guardiamo la conoscenza dal punto di vista evolutivo essa rappresenta un vantaggio per l’evoluzione umana. E’ difficile anche solo immaginare un sistema vivente senza l’atto del conoscere. Questa è la “conoscenza organica”,che serve agli organismi per adattarsi all’ambiente,ma gli esseri umani sono dotati anche di altri due tipi di conoscenza: la “conoscenza del senso comune” cioè sono coscienti del loro sapere e lo organizzano per poterlo utilizzare al meglio nella loro vita quotidiana e la “conoscenza formalizzata”il sapere sviluppato per accrescere il sapere e riguarda quegli uomini che non si limitano a sapere le cose e ad imparare le cose che sanno gli altri.

La conoscenza va gestita e per gestire e comunicare la conoscenza,naturalmente,bisogna conoscere.

La conoscenza è un attributo della capacità cognitiva ed è proprio questo che distingue conoscenza e informazione. L’informazione è inerte,passiva,senza qualcuno che possieda la conoscenza per interpretarla,ha un valore solo se innesca un circolo che permette l’accrescimento della conoscenza. Conoscenza(qualità) e Informazione(quantità) si trovano su piani diversi e si completano vicendevolmente. Quando ci riferiamo alla Conoscenza attribuiamo implicitamente ad essa un senso qualitativo, perché è proprietà del soggetto conoscente,fa parte della sua esperienza che può essere trasmessa con processi lunghi di educazione e istruzione ed ha un valore d’uso particolare,nel senso che trasmetterla non comporta una “perdita”. Quando ci riferiamo all’informazione tendiamo a mettere in evidenza qualche cosa esterna al soggetto che produce informazione. L'informazione é costituita da dati raccolti, organizzati ed interpretati. Se i dati sono lettere, organizzare le lettere in parole intelligibili, è informazione.

Gestione della conoscenza o Knowledge Managment si rappresenta con una piramide dove alla base vi è la “conoscenza tacita”e questa deve essere interpretata perché possa diventare un dato. “Sappiamo sempre più di quanto non possiamo dire”(Polany).La conoscenza tacita è contenuta nelle persone e non nei sistemi informativi e per questo è difficile da formalizzare e condividere con gli altri. Subito sopra la conoscenza tacita vi sono i dati. I dati sono fatti sugli eventi che raccolti che organizzati ed interpretati costituiscono l’informazione. L’informazione che ha rilevanza porta ad una raccolta dati che l’osservazione sistematica traduce in conoscenza esplicita o formalizzata .Tale conoscenza verrà poi legittimata,certificata da un meccanismo istituzionale e diverrà il Sapere, all’apice della piramide che rappresenta il processo che porta alla conoscenza.

Dati: Il materiale grezzo dell’informazione

• Informazione: Dati organizzati e presentati da qualcuno

Conoscenza: Informazione letta, ascoltata o vista, compresa e rielaborata

• Sapienza: Conoscenza e comprensione distillata e integrata

martedì 8 dicembre 2009

Architetture per i sistemi informativi aziendali: DW, DATA MART E DBMS TRANSAZIONALI


Quando parliamo di sistemi informativi aziendali ci riferiamo alla capacità di estrarre, integrare ed elaborare informazioni pervenuti da sorgenti informative eterogenee in real-time, amalgamandole con le informazioni già storicizzate e memorizzate nei diversi data mart.
Data Warehouse è l’insieme di dati tematici, integrati, temporali, permanenti finalizzato al supporto dei processi decisionali. Viene “nutrito” da processi di propulsione e trasformazione utilizzando dati contenuti nei database operazionali ed eventualmente dati esterni.

Una struttura DW ha l’arduo compito di rappresentare l’attività aziendale in modo trasparente e documentata. Questo sistema informativo ha una complessità architetturale: è costituito da una serie di componenti accoppiate tra di loro(ossia stretti legami di interdipendenza poco mascherati da interfacce standardizzate). Alcune di queste componenti (sistemi sorgente), sono tipicamente al di fuori dal controllo di chi gestisce il sistema di DW, malgrado ciò sono parte integrante del sistema stesso. Una variazione significativa su un sistema sorgente spesso si ripercuote su tutte la sua architettura: dalle procedure di alimentazione fino alla reportistica e alle funzioni analitiche. Pur essendo presenti strumenti di separazione fra i diversi passi del processo di trasformazione del dato in informazione (staging area, edw, data marts, strati semantici, ecc.). Si realizzano mutamenti significativi nelle regole di business o nella modellazione concettuale dell’informazione.

Tra i vari vantaggi, ricordiamo la possibilità di fornire una visione consistente delle informazioni dell’impresa, con ambienti informativi ed eterogenei (hardware e sistemi operativi diversi, ecc.), e fornire risposte agli utenti di alto livello senza l’assistenza dei tecnici.

All’interno dell’azienda esistono molti “depositi di informazione” talvolta incompleti ma sempre possibile, in ogni caso, usufruire di alcune fonti informative da cui è possibile prelevare informazioni utili per il DWH. Mi riferisco ai sistemi legacy, i dati delle applicazioni desktop di office automation (database desktop, fogli elettronici, documenti, presentazioni, oggetti multimediali, ecc.) e potenzialmente a tutti i documenti che vengono prodotti all’interno dell’azienda o vengono ricevuti dall’esterno (fax, offerte, comunicati stampa, posta elettronica semistruttura e strutturata, ecc.).

Funzionamento: è possibile utilizzare dei tools di estrazione e/o pulizia dei dati per renderli omogenei ed introdurli nel database di destinazione. Nei primi progetti di DWH questa operazione di conversione e “pulizia” dei dati veniva eseguita una tantum; la conseguenza era quella di poter effettuare le analisi su dati non sempre aggiornati. Adesso molti prodotti software di estrazione consentono di effettuare estrazioni on-line per interrogazioni sempre aggiornate (real-time).

Progettare soluzioni di data warehouse è generalmente molto interessante, appunto per le sue varie fasi: individuazione dei requirements, modellazione della soluzione, individuazione delle politiche di ETL, implementazione della base dati, creazione della reportistica e dei contesti di analisi.

I vantaggi del DWH si possono riassumere facilmente utilizzando le seguenti relazioni:

VANTAGGI AUTOMAZIONE = RIDUZIONE COSTI

VANTAGGI INFORMAZIONI = RIDUZIONE COSTI + CRESCITA FATTURATO (nuovi prodotti e nuovi mercati) + RIDUZIONE DEI RISCHI (maggiore controllo e flessibilità).

In altre parole i sistemi informativi direzionali ed in particolare il Data Warehouseing hanno lo scopo di superare i limiti dei sistemi tradizionali (mancanza del supporto alle interrogazioni estemporanee e complesse, al lancio dei nuovi prodotti, al controllo qualità ed alle nuove opportunità) e dare un reale supporto a chi in azienda decide o contribuisce a decidere le strategie, le verifica nel tempo e le adegua ai cambiamenti sempre più repentini dell’ambiente esterno ed interno all’azienda. Un processo lungo ma in grado di creare valore per l’azienda.

Il DWè una collezione di dati a supporto del processo decisionale, dando al management l’opportunità concreta di trovare le risposte a tutte quelle domande che hanno un alto impatto sulle performance aziendali. Chi ricopre ruoli decisionali deve avere la possibilità di usufruire di tutti gli strumenti che possono rendere la guida dell’azienda massimamente sicura.

Se analizziamo in dettaglio le problematiche delle aziende noteremo che i problemi si focalizzano soprattutto in fruizione di dati che possono essere riassunte in:

- Assenza di sintesi nella reportistica

- Risultati diversi da fonti diverse per la stessa tematica

- Impossibilità di navigare nei dati ragionando con oggetti “business”

- Inaffidabilità di alcuni dati critici

- Costi elevati per sintetizzare report e analisi

- Scarsa “collaborazione” o impossibilità di comunicazione dei sistemi informativi transazionali per interrogare i dati

- Assenza di coerenza fra i dati.

- Lentezza nell’interrogazione di dati non ottimizzati per l’analisi

Queste problematiche sono veramente universali, ed è qui che nacse l’esigenza di un sistema di Data Warehouse, difatti il DW consente:

* l’accesso a dati aziendali garantendo bassi tempi di attesa fra l’interrogazione dei dati e l’output di risultati.

* Consistenza dei dati (le vendite del prodotto A nella città B nel periodo di tempo C) .

* I dati esposti possono essere combinati e separati

* Inserimento di altri strumenti software necessari a facilitare l’interrogazione dei dati e a garantire una presentazione della sintesi.

* Dati sempre coerenti e “ripuliti”: parte fondamentale del processo di realizzazione di un sistema di Data Warehouse è rappresentata proprio da attività di recupero, trasformazione e pulitura dei dati.

Un Data Mart (DM), è l’ insieme di dati organizzati per supportare specifiche esigenze di un gruppo di utenti (es. dipartimento) che viene alimentato da processi di estrazione e trasformazione utilizzando i dati del DWH. Nel data warehouse i dati sono raffigurati in dettaglio e storicizzati, raggiungendo dimensioni poco compatibili con l’interrogazione diretta attraverso tool di analisi: vengono così generati dal data warehouse aggregati tematici di dati (datamart), sui quali verranno scatenate le query per le analisi.

I Datamart possono essere costruiti in rapporto ai dati relazionali e multidimensionali, con i relativi sistemi di alimentazione dagli archivi dei software operativi e di ERP, applicazioni di interrogazione ed analisi di dati ed applicazioni di reportistica, continuamente alimentate, da fonti di dati eterogenee e profilate in base agli utenti.

Dal modello informativo comune possono essere sviluppati, in maniera coerente, modelli dati dei datamart ; questi possono essere sia dipendenti che indipendenti.

L’implementazione prevede di mettere a fattor comune tra diversi progetti di datamart i processi di acquisizione di dati dai sistemi transazionali.

Sempre fondamentale segnalare che è comunque opportuno l’eliminazione dei datamart indipendenti, non appena sviluppati quelli derivanti direttamente dall’ambiente integrato del data warehouse.

NB: E' importante verificare tempi e costi dello sviluppo temporaneo di datamart indipendenti.

La figura seguente rappresenta uno schema di un data mart con i fatti di vendita di una ipotetica azienda. Si tratta di uno schema a stella con una tabella dei fatti “vendite giornaliere”, le sue misure “quantità” e “ammontare” e le varie dimensioni.


L’aggiornamento del data mart viene eseguito normalmente quando il data warehouse e fuori linea (di notte), e comporta sempre una forte diminuzione delle prestazioni del sistema. Inoltre, contemporaneamente all’aggiornamento delle viste, il sistema viene sottoposto ad altre operazioni periodiche (backup, sincronizzazione). Di conseguenza il tempo necessario dedicato a questo tipo di compito è limitato.

Invece per le fasi di caricamento dei dati nel data mart conviene associare a ogni record il tipo di operazione che ne ha determinato la variazione: in questo modo il processo di caricamento potrà stabilire a priori come trattare ciascun record.

DBMS(Data Base Management System), si tratta di un sistema, con programmi coordinati, centralizzato o distribuito (rete), che permette di memorizzare, cambiare ed estrarre informazioni da un database.

Suggerisce molti vantaggi, come una garanzia per i dei dati (unica raccolta di dati anziché copie distinte scoordinate che potrebbero causare duplicazioni inconsistenti); dispone le informazioni del database secondo una struttura gerarchica, di un database di rete o di un database relazionale; permette l’accesso alle informazioni solo al personale autorizzato, tramite password e account. Infine fissa schemi organizzativi e di controllo, rendendo le informazioni accessibili agli utenti, solitamente tramite query.

Altro compito del DBMS e’ quello di offrire il controllo delle modifiche dei dati, difatti, apportando una modifica su un campo del database, il sistema dovrebbe riportate un aggiornamento su tutti i campi. Se venisse a mancare tale controllo, non si saprebbe più quali dei diversi valori sia quello corretto.

Ricordiamo che i dati cambiano rapidamente, provocando delle variazioni non solo sui record, ma anche negli attributi dei database. Per evitare ciò si possono usare metodi incrementali per l’aggiornamento dei modelli e trattare le variazioni dei dati.

Un sistema per la scoperta di conoscenza è meno efficace quando non è integrato nel sistema globale dell’organizzazione. Tra i vari problemi tipici di integrazione ricordiamo: integrazione con i DBMS, integrazione con fogli di calcolo e con strumenti di visualizzazione e adattamento a sensori che leggono i dati in tempo reale.

Nell’ambito dell’informatica aziendale si parla spesso dei DBMS come esempio di legacy systems . Un DBMS, componente fondamentale per l’azienda, può essere un’ eredità non sempre gradita, nel senso che potrebbe avere una struttura monolitica e obsoleta, quindi limitata rispetto alle funzionalità delle nuove applicazioni. In alcuni casi, per evitare i costi di riammodernamento del DBMS si cerca di realizzare nuovi prodotti software in grado di operare con il system legacy (si parla quindi di backward compatibility).

Il vertice del s.i. (sistema informativo) è rappresentato dalla sintesi di tutti i dati raccolti nelle procedure operative e dalla loro disponibilità sottoforma di indici, grafici, report all’alta direzione, per lo studio e la valutazione di tutti i fenomeni che hanno determinato i risultati d’impresa.

La fase di implementazione consiste nella personalizzazione del software, nell’installazione, nella formazione e nell’avviamento di tutte le procedure operative, seguendo un piano di lavoro stabilito assieme all’imprenditore ed articolato, normalmente, su un anno (il tempo necessario per valutare il sistema in un intero esercizio aziendale).

Il data warehouse è un sistema informativo, dove i dati sono organizzati e strutturati per un facile accesso da parte dell’utente e per supportare i processi decisionali, comunemente rappresentati nei cosiddetti DSS (Decisional Support System) e EIS (Executive Information System). Il primo viene utilizzato per comprendere particolari problemi, mentre il secondo è utilizzato per soddisfare una circolazione continua dei dati.

venerdì 4 dicembre 2009

Approfondimenti su SQL: clausole where, having e group by

La clausola Group By viene applicata alle selezioni per suddividere i risultati in gruppi distinti per valore nei campi specificati e raggruppare i risultati di una SELECT in base al campo specificato dopo il BY. L'operatore va usato in congiunzione con una funzione statistica secondo la seguente sintassi:

SELECT

FROM

[WHERE ]

GROUP BY

dove deve essere lo stesso nella SELECT e nel GROUP BY


L'obiettivo della clausola Where è quello di limitare la query solo a certe righe.

La clausola HAVING rappresenta un vincolo sui dati risultanti dall'operazione di raggruppamento. Il suo funzionamento è molto simile a quello della clausola WHERE ma anziché operare sui campi del database opera sui raggruppamenti; i campi richiesti possono essere sia quelli delle funzioni di aggregazione sia quelli indicati nelle clausole GROUP BY.

venerdì 27 novembre 2009

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

L'SQL "standard" può presentare delle variazioni più o meno marcate a seconda del DBMS preso in considerazione.Access, a tal proposito, è fondamentalmente un DBMS sui generis.
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. Le tabelle sono i contenitori dove vengono memorizzati i dati; le query sono gli strumenti idonei all'interrogazione ed alla manipolazione dei dati che avvengono attraverso un mini-SQL; le maschere consentono di interagire con i dati delle tabelle o delle query attraverso un'interfaccia grafica; i report, infine, consentono principalmente di visualizzare dei risultati basati sui dati.
Negli anni '90 Microsoft inserisce Access nel pacchetto dei prodotti Office e Access, oltre ad essere un programma in grado di gestire le informazioni "depositate" in un database relazionale, si rivela potente e flessibile ma soprattutto user friendly, tanto che può essere utilizzato sia per progetti "semplici" (si pensi ad una rubrica telefonica) che "complessi" (una ricerca scientifica). Access rientra in quella categoria di RDBMS che possono relazionarsi con il linguaggio SQL.
Per poter usare SQL in Access è necessario definire una query e scegliere l’opzione "Visualizza SQL", cosi facendo è possibile aprire una finestra di testo (la c.d. "Finestra SQL") in cui riportare le istruzioni SQL.
Gli elementi che caratterizzano il linguaggio SQL di Access sono:

- Non accetta il costrutto CHECK (è un vincolo).

-Cambia la valutazione dell’operatore COUNT: se l’argomento è un attributo, non vengono restituiti i singoli valori dell’attributo, ma il numero dei valori non nulli.
-La clausola DISTINCT non può essere utilizzata.

- L'operatore JOIN deve essere sempre identificato con il termine INNER od OUTER, mentre con Oracle utilizzeremmo, per esempio, l'operatore WHERE.
- Il carattere JOLLY (corrisponde a qualsiasi stringa composta da zero o più caratteri) viene indicato con il segno asterisco (*) e non con il simbolo della percentuale (%).

-Riconosce sia il singolo apice (') che i doppi apici (") nell’identificazione delle stringhe alfanumeriche.
- Per le stringhe che contengono date Access permette di adottare la formula latina GG/MM/AAAA mentre per alcuni DBMS di origine anglosassone ciò non è possibile. Nei comandi le date vanno racchiuse attraverso l'apice singolo ('), per la maggior parte dei dialetti SQL, mentre in Access si usa il cancelletto (#).

- La clausola TOP può essere utilizzata per selezionare un certo numero di tuple dal risultato.

- Le parentesi quadre racchiudono gli identificativi di tabelle

mercoledì 18 novembre 2009

SQL : Istruzioni di base per Estrazione, Inserimento, Update dei dati

SQL (Structured Query Language) è un linguaggio creato per l'accesso a informazioni memorizzate nei database.
Questo linguaggio può essere suddiviso in tre parti:
-DATA DEFINITION LANGUAGE (DDL): permette di creare, modificare o cancellare il database, definendo la struttura dello stesso con dei dati –contenuti.
-DATA MANIPULATION LANGUAGE (DML): permette di inserire, cancellare, modificare e leggere i dati, fornendone gli strumenti.
- DATA CONTROL LANGUAGE (DCL): permette di gestire gli utenti e i permessi che gli consentono di agire sulla struttura del database.
SQL ha tre aspetti fondamentali:
1- l’estrazione delle informazioni (query);
2- l’inserimento dei dati (insert to);
3- la modifica dei dati (update).
Gli operatori messi a disposizione dall’ SQL standard si dividono in 4 categorie:
- OPERATORI DI CONFRONTO: determinano le uguaglianze e disuguaglianze tra valori ed effettuare ricerche all’interno dei dati;
- OPERATORI ARITMETICI: effettuano calcoli all’interno di una ricerca; (ad esempio il “+” effettua una addizione, il “-” una sottrazione, il “*” una moltiplicazione ed il “/” una divisione);
- OPERATORI CONDIZIONALI: unico operatore condizionale di SQL è il WHERE (dove) e serve a definire i criteri di ricerca mirati;
- OPERATORI LOGICI: sono AND (e), OR (o), NOT (non) e possono essere ripetuti più volte all’interno della ricerca.
Il comando SELECT abbiamo la possibilità di estrarre i dati in modo mirato dal database. Sintassi del comando SELECT:
SELECT lista elementi
FROM lista_riferimenti_tabella
[WHERE] espressione condizionale
[GROUP BY lista colonne]
[ORDER BY lista colonne]
La nota ORDER BY serve per ORDINARE e viene sempre applicato al primo attributo inserito nella SELECT. Il comando INSERT ha la funzione di inserire i dati nelle tabelle. (INSERT TO….). Il comando UPDATE ha la funzione di modificare i dati nelle tabelle. Il nome di ogni campo che deve essere modificato va dopo la parola SET e deve essere seguito dal simbolo “=” e dal nuovo valore che deve assumere. Il comando DELETE ha la funzione di cancellare i dati dalle tabelle. Una tabella priva di clausola WHERE cancella tutte le righe della tabella specificata. Esiste un altro modo per svuotare completamente una tabella, con il comando TRUNCATE TABLE. L’unica pecca dell’SQL riguarda il suo linguaggio, considerato da molti molto complicato e non fornisce un modo standard per suddividere un lungo comando in comandi più brevi.

venerdì 6 novembre 2009

Multidimentional Cube, Slice & Dice, Roll Up, Drill Down, Filtering


Come ho già spiegato nel post dal titolo Elementi teorici e strutturali del report, il report aziendale è uno strumento che consente di valutare, attraverso informazioni prelevate da archivi diversi, lo stato di salute di una qualsiasi società di persone o di capitali.Esso è anche un documento formato da tabelle e grafici esposti in modo sinottico con l’obiettivo di supportare le decisioni strategiche di un’azienda in base ad un determinato fenomeno d’interesse che è analizzato a sua volta secondo più dimensioni.
Le dimensioni sono i caratteri che si rilevano sulle unità statistiche. Si possono considerare anche più caratteri per singola unità statistica per agevolare la lettura del Report. Il Multidimentional Cube si può associare un database relazionale ad un database multidimensionale. L’accesso ai dati è semplificata dal costante tracciato del cammino che lo identifica.

Per rendere ancora più semplice la lettura di un Report sono state messe a punto alcune tecniche di visualizzazione come:

_ drill down ( termine che indica la perforazione di un terreno) è la possibilità di esplorare tutta la gerarchia a partire da un dato complessivo relativo ad una dimensione gerarchizzata.

_ slice & dice ( è l’insieme di operazioni di divisione di una torta) è la possibilità di restringere l’analisi solo ad alcune dimensioni.

_ Roll up è la possibilità di aumentare l’aggregazione dei dati eliminando i dettagli di gerarchizzazione. Il Roll Up può dividersi poi in due tipi: il primo che consiste nell’applicazione di una funzione aggregata e il secondo nell’eliminazione di una dimensione.

_ Filtering attraverso di esso si filtrano i dati con un algoritmo.