Cos’è un database?

Cos'è? - Miniatura della rubrica di marcogarosi.it
Cos'è? - Miniatura della rubrica di marcogarosi.it

Cos’è un database – in breve: un database è un sistema informatico che permette di memorizzare permanentemente le informazioni, rendendole disponibili per successive elaborazioni. Più tecnicamente, è un archivio strutturato che conserva i dati omogenei per formato e contenuto.

Schema di un database
Schema di un database

Memorizzare (e trovare) le informazioni

I compiti fondamentali di un database, indipendentemente dal tipo e dal funzionamento, sono quelli di memorizzare le informazioni e di ritrovare i dati salvati. Per questo motivo un DB non è un semplice archivio: grazie a determinati linguaggi consente ai programmatori di effettuare ricerche tra i record.

Nelle aziende, inoltre, la necessità di memorizzare – ed elaborare – informazioni disomogenee è evidente: personale, buste paghe, spese e gestione delle risorse sono solo alcuni esempi. Con l’avvento delle basi di dati, però, questo viene reso più semplice: una volta sviluppato un software in grado di interagire con i dati, la loro gestione è resa molto più semplice, poiché sono organizzati.

Un database, quindi, è da immaginare come una stanza contenente tutti i documenti (ossia le informazioni) di un’azienda (in questo caso di un programma), organizzate organicamente. Con l’unica differenza che è estremamente più rapido e impiega un tempo nettamente inferiore per trovare tutto ciò che è richiesto.

SQL o NoSQL?

Ad oggi ci sono due principali tipologie di base di dati: quelle SQL e quelle NoSQL. In realtà, in passato, ci sono stati altri modelli che, tuttavia, sono caduti in disuso.

I database SQL sono tra i più diffusi per l’integrazione con piccole/medie applicazioni, poiché sono semplici e, al contempo, molto prestanti. Sono organizzati in tabelle, in cui ogni riga è detta record (o tupla) e ogni colonna attributo. Il numero di colonne rimane costante, mentre il numero di righe è (solitamente) in costante cambiamento.

I database NoSQL, invece, non sfruttano solo tabelle e, a discapito di quanto possa suggerire il nome, non le escludono a priori. Il “No”, infatti, significa “Not only”, “Non solo”. Questi enormi archivi consentono l’organizzazione in documenti, grafi, chiave-valore, ecc. e sono ottimi per la gestione di grandi quantitativi di informazioni.

Ciononostante, entrambe le tipologie permettono di:

  • recuperare e selezionare le informazioni sulla base di determinati criteri di ricerca;
  • modificare i dati precedentemente inseriti al fine di correggerli o aggiornarli;
  • aggiungere nuovi dati;
  • cancellare i dati che non sono più utili.

DBMS – DataBase Management System

Un database, in realtà, ci permette ben poco se non è affiancato da un DBMS. Questi sono sistemi software che permettono di crearemodificare e – soprattutto – interrogare i database.

Un Database Management System, infatti, ha diversi compiti:

  • verifica l’integrità dei dati (un record non è modificabile contemporaneamente da più utenti);
  • gestisce i permessi, rendendo possibile selezionare quali utenti possono accedere a quali informazioni;
  • creano, modificano e interrogano i database: oltre a creazione e popolamento, consentono di ritrovare i dati.

I DBMS, sostanzialmente, costituiscono una sorta di interfaccia tra l’utente (o il programmatore) e i dati, consentendo una veloce e precisa implementazione di basi di dati.

Di frequente i DBMS sono eseguiti da degli speciali server, il cui unico compito è gestire le informazioni: ne è un esempio l’implementazione MySQL che puoi trovare nella mia guida dedicata.

Conclusione

I database rappresentano un enorme fetta dell’informatica moderna. Sono strumenti potentissimi, ma richiedono lunghi studi per essere perfettamente padroneggiati: le difficoltà risiedono principalmente nell’avere tante informazioni e nel decidere loro struttura. I dati, oggi, sono fondamentali: gestirli correttamente è molto importante e non si può, in diversi casi, rinunciare alle basi di dati. Queste strettamente legate ai DBMS, a tal punto che spesso si confondono i ruoli e le caratteristiche dei due. Talvolta, se ne parla come fossero un’unica entità.

In quest’articolo hai imparato cos’è un database e a cosa serve. Le sue applicazioni nella quotidianità sono pressoché infinite, così come il numero di argomenti ad esso legati. Oggi ne hai letto le caratteristiche fondamentali, tuttavia in futuro troverai, proprio qui, altri articoli di approfondimento. Sei pronto?

Marco Garosi 87 Articoli
Sono un informatico, appassionato di programmazione e progettazione di sistemi.