SISECO ::- I Database
Groupware, Data WareHouse & DSS
Definizione e funzionamento di database
Un database è un insieme di informazioni relative ad un particolare
oggetto o scopo, ad esempio tenere traccia degli ordini di un cliente o gestire una
collezione di dischi. Se il database non è memorizzato in un computer o vi sono
memorizzate solo parti di esso, si dovrà ricercare una serie di informazioni provenienti
da più fonti che sarà necessario coordinare e organizzare.
I database relazionali sono progettati partendo dall'analisi delle
informazioni che devono essere gestite, scomponendole in entità omogenee e analizzando i
legami esistenti tra queste ultime. Per esempio la gestione delle fatture implica la
memorizzazione delle entità clienti, articoli e fatture. I legami esistenti sono: i
clienti acquistano degli articoli ed ogni operazioni di acquisto viene registrata con una
fattura. Al fine di ottimizzare sia l'aspetto funzionale che tecnico occorre poi procedere
con successive analisi per individuare entità informative minori (es: modalità di
pagamento e spedizione della merce) ed analizzare le interdipendenze esistenti tra le
informazioni memorizzate. Si arriva quindi alla stesura di un progetto che inizialmente
non è conforme alle regole tecniche ma che attraverso step successivi ottiene tutte le
caratteristiche essenziali che costituiscono la differenza tra i database e gli altri
metodi di memorizzazione (fogli elettronici, agende, elenchi cartacei, cartelle, ecc...):
- integrità referenziale: garantisce a
livello di database engine che non sia possibile cancellare informazioni principali che
sia utilizzate da informazioni di livello inferiore (esempio: non è possibile cancellare
un cliente che ha almeno una fattura inserita). Le regole di integrità referenziale sono
insite nel progetto di database è funzionano al 100% soltanto se l'implementazione dello
stesso è stata realizzata a regola d'arte. Sempre attraverso queste regole è possibile
indicare aggiornamenti in cascata (esempio: viene aggiornato un codice di pagamento,
automaticamente viene cambiato in tutte le righe di informazione dove era utilizzato) e
cancellazioni in cascata (cancello un cliente e voglio che vengano cancellati anche tutti
gli indirizzi delle sedi secondarie che avevo inserito).
- sicurezza: tutti i database moderni
consentono di impostare la sicurezza a livello utente e con una notevole granularità,
consentendo di limitare l'accesso alle informazioni. E' possibile ad esempio impedire la
visualizzazione o la modifica di un particolare dato, come lo stipendio lordo, a tutti i
dipendenti, oppure è possibile concedere agli agenti la visualizzazione dell'elenco
clienti, limitatamente alla loro zona di rappresentanza.
- prestazioni: attualmente tutti i database
consentono di iniziare a lavorare con buone performance già da un normale PC, ma
garantiscono una notevole scalabilità verso l'alto, arrivando a soddisfare oltre un
miliardo di transazioni al giorno.
- multiutenza: è importantissimo dare la
possibilità a tante persone di accedere alle stesse informazioni contemporaneamente,
ovunque si trovino, eliminando i fattori spazio / tempo. Due impiegato potranno così
accedere e gestire le informazioni relative ad un cliente, demandando al database engine
l'onere di gestire tutti le problematiche relative al locking delle informazioni,
impedendo modifiche incogruenti delle informazioni.
- atomicità: attraverso l'uso delle
transazioni viene garantita l'esecuzione atomica, cioè totale, dell'operazione richiesta.
Ipotizziamo di dover trasferire 100 milioni da un conto corrente all'altro. Iniziamo a
verificare che sul conto A di Milano vi sia la disponibilità, quindi eseguiamo
l'operazioni diminuendo il saldo di A di 100 milioni. Prima di eseguire l'accredito sul
conto B di Roma il sistema si blocca per un guasto. Grazie all'utilizzo delle transazioni
atomiche viene automaticamente garantito il ripristino della situazione iniziale evitando
di polverizzare 100 milioni tolti dal conto A ma mai arrivati sul conto B.
- consistenza: i moderni motori di database
consentono di inserire a livello di progetto della struttura dei dati tutte le regole di
business desiderate, inserendo intelligenza all'interno del motore che gestisce
le nostre informazioni. Essendo quest'ultimo una specie di cassaforte delle informazioni,
alla quale si accede con regole standard e personalizzate, viene garantito che chiunque,
utente e programmatore, acceda a quelle informazioni, il database conceda di eseguire
soltanto le transazioni che non violano tali regole. Esempio: supponiamo che il Top
management detti la regola di business secondo la quale è possibile concedere un fido ad
un cliente fino al 50% del fatturato dello stesso, soltanto se abbia pagato regolarmente
le ultime 15 fatture a lui emesse. E' eviedente che un controllo di questo tipo lasciarlo
nelle mani dei programmatori che si susseguono negli anni è molto rischioso. Inserito
come TRIGGER nel database engine, ossia come regola intelligente nel database, sarà
quest'ultimo a garantire che tutte le transazioni richieste rispettino questa regola.
INTRODUZIONE
GROUPWARE
Il computer a
supporto del lavoro cooperativo (CSCW).
Aspetti tecnici del
funzionamento dei sistemi di groupware
Problemi
dinserimento
Esempi tecnologici
Microsoft Exchange e Lotus Notes
Internet/Intranet
Workflow e Intranet
Il workflow: oltre il
workgroup
DATA WAREHOUSE
Concetti
fondamentali
Fornire una visione
consistente delle informazioni dellimpresa
Fornire risposte agli utenti di alto livello
senza lassistenza dei tecnici.
Come funziona
I componenti del DWH
Estrazione dei
dati
Database di destinazione
Front End - OLAP
Sistemi di supporto alle
decisioni (DSS)
Vedi anche
TESI DEI RESPONSABILI R&S DI
SISECO
|