Corso di Informatica - Data Base - Caratteristiche Fondamentali


I database (basi di dati) sono gli archivi informatici utilizzati oggi per memorizzare e gestire informazioni strutturate. I database pervadono ogni aspetto della nostra vita. La prenotazione di un treno o di un aereo, l'accettazione in un ospedale, un bonifico bancario, un prelievo al bancomat, un messaggio nel forum di questa piattaforma, la visualizzazione di una immagine TAC in un servizio di radiologia, la consultazione di un satellitare, il recupero di una voce bibliografica con Pubmed, la verbalizzazione di un vostro esame, una ricerca con Google, sono tutti esempi che coinvolgono l'accesso ad un database.

 

In modo un po' impreciso, si usa il termine database per indicare tutto il sistema ma in realtà il database è giusto un archivio di informazioni memorizzate in un sistema di elaborazione di dati. In ultima analisi, il database consiste in un insieme di dati scritti in dei file su dei dischi rigidi di uno o più computer. I dati sono strutturati in un modo ben determinato che è molto importante ai fini dell'utilizzo del database. Vedremo dopo qualcosa in proposito.

 

Affinché il database possa essere utilizzato, è necessario che vi sia anche un software che deve consentire agli utenti di cercare le informazioni che desiderano, di vederle in modo appropriato e, eventualmente, di modificarle. Tutta questa componente prende il nome di sistema transazionale.

 

Una delle prime importanti applicazioni dei sistemi transazionali è la gestione delle prenotazioni aeree. Grazie a questo sistema un numero enorme di agenzie di viaggio sparse in tutto il mondo può accedere alle informazioni sui posti disponibili in un qualsiasi volo e questo deve avvenire, come si suole dire, in tempo reale. Vale a dire che, se in un'agenzia io chiedo di prenotare un posto su un volo e questo mi viene prenotato perché era libero, da quel momento in poi, il posto deve risultare prenotato in modo che non sia più possibile prenotarlo da qualsiasi altra agenzia del mondo!

 

Ecco le caratteristiche fondamentali di un sistema transazionale.

L'operazione fondamentale su cui si basano i sistemi transazionali è, appunto, la transazione, con la quale si può accedere ad un database e modificarne il contenuto. La transazione è una qualsiasi operazione che consente l'accesso o la modifica al database. Le transazioni devono soddisfare dei requisiti ben precisi.

 

Si dice che le transizioni hanno la caratteristica dell'atomicità, cioè non posso avere luogo in parte: o avvengono in modo completo o non avvengono. Vi ricordate il concetto di atomo? L'ultima particella di un elemento che non può più essere divisa, pena la perdita delle caratteristiche dell'elemento: una quantità di ferro più piccina di un atomo di ferro non si può avere. Per le transizioni è fondamentale. Supponiamo che si blocchi il computer durante l'esecuzione di una transazione che realizza un bonifico bancario. Potrebbe succedere che il bonifico è stato addebitato sul conto corrente di origine ma non è stato accreditato sul conto corrente di destinazione: i soldi sono svaniti nel nulla ...

 

Hanno poi la caratteristica della consistenza. Ogni transazione deve lasciare il database in una forma coerente, dopo una modifica. Per esempio, le cifre degli accrediti, degli addebiti e del saldo finale di un conto corrente per un certo periodo di tempo devono tornare!

 

La transazione deve garantire l'isolamento. Più transazioni concorrenti non si devono influenzare a vicenda, vale a dire che i dati toccati da una transazione devono essere tabù per le altre, finché questa non ha finito.

 

Ed infine gli effetti delle transazioni devono avere durabilità, cioè i cambiati apportati al database dalla transazione devono essere persistenti nel tempo.