Database

Cosa sono i database

I database (basi di dati) sono un sistema di gestione dei dati in grado di gestire una grande mole di dati in modo condiviso, persistente, affidabile.

Tra le caratteristiche peculiari dei database devo anche ricordare la privatezza, l'efficienza e l'efficacia.

A cosa serve il database

In passato i dati erano archiviati in singoli file nella memoria di massa dell'elaboratore.

Ogni programma accedeva a un file per leggere i dati.

Esempio. Un'azienda aveva un file ordini, un file clienti, un file vendite, un file dipendenti, ecc.

Questo modo di lavorare creava alcuni problemi

  • Duplicazione dei dati
    Spesso una stessa informazione era duplicata in più file (dati). La ridondanza dei dati causava il problema dell'aggiornamento. Alcuni file potevano contenere copie di dati non aggiornati, creando dei problemi di incoerenza nei dati.
  • Accesso e condivisione limitata
    Era possibile accedere a un file per cercare un'informazione. Tuttavia, ogni programma impegnava la risorsa durante l'accesso. Se due utenti (o programmi) accedevano contemporaneamente allo stesso file sorgevano dei problemi di condivisione e tempi di attesa.
  • Memoria limitata
    Gli archivi di grandi dimensioni richiedevano un'enorme memoria centrale disponibile nell'elaboratore.
  • Costi maggiori
    La gestione separata delle informazioni e la disponibilità della memoria dell'elaboratore aumentavano sensibilmente i costi del sistema informativo.

La nascita delle basi dati ha superato definitivamente tutti questi problemi.

Esempio

In un'azienda l'ufficio del personale lavora con il file dell'anagrafica del personale mentre l'ufficio stipendi lavora con il file delle buste paga.

un esempio pratico di ridondanza dei dati

Alcune informazioni come la matricola, la qualifica e la direzione sono ridondati perché sono presenti in entrambi gli archivi.

Di sicuro la matricola di un lavoratore non cambia nel tempo... la qualifica e la direzione invece possono cambiare. E' quindi necessario mantenere aggiornati entrambi gli archivi.

Usando una base di dati, invece, entrambi i reparti accedono alla stessa fonte dei dati tramite un software DBMS (Data Base Management System).

un esempio di gestione dei dati con il DBMS

Il DBMS è l'unico responsabile della gestione dati e si può accedere ai dati soltanto tramite il DBMS.

Al software DBMS spetta il compito di garantire l'accesso condiviso ai dati in modo integrato e flessibile, limitando la ridondanza e l'incoerenza.

Nota. I DBMS utilizzano anche la memoria secondaria dell'elaboratore. In questo modo, l'accesso ai dati di grandi dimensioni è consentito anche in elaboratori con una memoria centrale più contenuta e inferiore alla mole dei dati.

Inoltre, i dati comuni (es. matricola, qualifica, direzione) sono memorizzati in modo univoco in memoria, evitando la duplicazione e il rischio di incoerenza dei dati.

In questo modo non c'è più bisogno di mantenere allineati gli stessi dati su archivi diversi.

Quando non conviene l'uso dei DBMS? I DBMS hanno un costo e occupano molte risorse del sistema informatico. Quando un'applicazione è usata da pochi utenti e senza accessi concorrenti è preferibile lavorare con i file in modo convenzionale.

Come funziona una base dati

Un database è una collezione di dati di grandi dimensioni gestita da un sistema software detto DBMS (Data Base Management System).

Il DBMS ha le seguenti caratteristiche:

  • Condivisione
    Applicazioni e utenti diversi possono accedere ai dati comuni. Ogni dato è memorizzato in modo univoco, evitando la ridondanza le inconsistenze. L'accesso simultaneo ai dati da parte di più utenti è gestito dal DBMS tramite un sistema di controllo di concorrenza.
  • Persistenza
    Le basi di dati sono indipendenti dalla durata delle applicazioni che le utilizzano.
  • Affidabilità
    I DBMS svolgono attività di backup (salvataggio) e recovery (ripristino) dei dati in caso di malfunzionamenti o errori umani.
  • Privatezza
    Ogni utente interagisce con la base dati in base a un livello di autorizzazione che gli consente di compiere azioni (interrogazione, modifica) su alcuni dati ma non su altri.
  • Efficienza
    Il software DBMS gestisce automaticamente i dati per ridurre il tempo di accesso e lo spazio di memoria impegnato dalla base dati.
  • Efficacia
    Il DBMS deve svolgere tutti i punti precedenti senza penalizzare le esigenze degli utenti e l'obiettivo del sistema informativo.

L'organizzazione dei dati dipende dal modello dei dati adottato nel DBMS.

Esistono diversi modelli di dati (fisico, logico, gerarchico, reticolare, a oggetti, relazionale).

Il modello dei dati più diffuso è il modello relazionale.

Il linguaggio SQL

Il linguaggio SQL è il principale linguaggio usato nei DBMS sia per definire i dati (DDL Data Definition Language) che per immettere, interrogare e aggiornare i dati (DML Data Manipulation Language).

Posso usarlo direttamente in console digitando i comandi in modo interattivo.

In alternativa, posso usare i comandi del linguaggio SQL dentro un programma realizzato con un altro linguaggio di programmazione (es. C, Python, Java, ecc. ) detto linguaggio ospite.

I comandi SQL sono integrati anche nei software di gestione dei database come Microsoft Access.

Nelle varie versioni del linguaggio SQL potrebbero comunque esserci lievi differenze nella sintassi dei comandi.

Nota. SQL è il più diffuso linguaggio per gestire le basi dati ma non è l'unico. Esistono anche altri linguaggi con funzioni DDL, DML o entrambe.

E così via

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Basi di dati