| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Work with all your cloud files (Drive, Dropbox, and Slack and Gmail attachments) and documents (Google Docs, Sheets, and Notion) in one place. Try Dokkio (from the makers of PBworks) for free. Now available on the web, Mac, Windows, and as a Chrome extension!

View
 

Corso di Informatica - Data Base - Caratteristiche Fondamentali

Page history last edited by Trapani Marco 12 years, 12 months ago

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.

  • Deve consentire l'accessso ad un numero di utenti virtualmente illimitato: nessuno può controllare quante agenzie sono attive nel mondo e quanti operatori faranno una richiesta in un certo momento.
  • Deve compiere l'aggiornamento del database in modo immediato: quando esco dall'agenzia devo essere sicuro che la prenotazione sia già attiva.
  • Deve "resistere" a disfunzioni ed errori: tipo guasti al computer o alla rete o l'errore di un operatore che chiede un volo inesistente.
  • Garantire la sicurezza mediante procedure che consentano di identificare gli operatori che sono abilitati ad accedere al database: l'impiegato di un'agenzia di viaggi deve poter accedere al sistema di prenotazione dei voli aerei ma io no.
  • Consentire l'accesso al database senza particolare competenze informatiche: l'impiegato di un'agenzia di viaggi non deve essere un esperto informatico.

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.

Comments (0)

You don't have permission to comment on this page.