Torna all'elenco degli articoli Articoli
Tempo di lettura: 7 minuti

Che cos'è un database SQL?

I database SQL sono utilizzati da decenni e sono cresciuti in popolarità, diventando uno degli strumenti di gestione dei dati più comuni. Offrono all'utente un modo efficiente per memorizzare i dati e un modo intuitivo per accedervi o modificarli.

In questo articolo, inizieremo spiegando cos'è un database e mostrando alcuni esempi. Passeremo poi a spiegare come i database possono essere utilizzati per lavorare in modo efficiente con grandi quantità di dati strutturati. Poi mostreremo alcuni esempi di diversi tipi di database SQL e quando utilizzarli. Non entreremo nei dettagli della scrittura di query SQL, ma se siete alla ricerca di materiale didattico, un buon punto di partenza è il corso SQL Basics . Si parte da un livello iniziale per arrivare a query più avanzate. Include inoltre un sacco di esercizi interattivi.

Che cos'è un database?

Forse avete familiarità con l'archiviazione dei dati in un foglio di calcolo, che è utile per piccole quantità di dati. Queste quantità di dati vengono in genere memorizzate localmente sul computer. I fogli di calcolo sono ottimi per i singoli utenti che non hanno bisogno di manipolare troppo i dati. Ad esempio, questi utenti non combinano spesso i dati provenienti da fogli diversi. Ma se dovete lavorare con grandi quantità di dati provenienti da fonti diverse, potreste aver bisogno di funzionalità più avanzate.

È qui che entrano in gioco i database. Un database è un prodotto software progettato per contenere grandi quantità di informazioni in modo altamente strutturato. Un database può essere memorizzato localmente sul vostro computer o in remoto su un server esterno. In quest'ultimo caso, è necessario utilizzare un programma per connettersi al server attraverso una rete, in modo da poter accedere ai dati.

Dietro le quinte, un database fa alcune cose per semplificarvi la vita. Gestisce in modo efficiente la memorizzazione di grandi quantità di dati, cioè milioni o miliardi di righe, cosa che non è possibile nemmeno con un foglio di calcolo. In un database, ci sono controlli interni di coerenza per garantire che ogni nuovo dato aggiunto al database sia conforme ai tipi di dati predefiniti. Ad esempio, alcune voci possono contenere solo testo o numeri.

Nei progetti più grandi, di solito molte persone lavorano sugli stessi dati. Un database può gestire l'accesso e la modifica simultanei dei dati. Ciò significa che più persone possono utilizzare il database contemporaneamente senza interferire l'una con l'altra. Inoltre, è possibile gestire i permessi degli utenti per garantire la sicurezza: ad esempio, alcuni utenti possono solo leggere i dati, mentre altri possono anche aggiungerli o modificarli.

Database relazionali

Abbiamo detto che i dati di un database sono altamente strutturati. Ma come sono strutturati esattamente? Il tipo di database più comune è quello relazionale, in cui i dati sono organizzati in tabelle che contengono colonne e righe, con una chiave unica che identifica ogni riga. Le colonne rappresentano diverse variabili (o attributi) e le righe sono misure (o istanze) di tali variabili. Se lavorate con i fogli di calcolo, questo concetto potrebbe esservi familiare.

In un database relazionale, i dati sono tipicamente archiviati in più tabelle. Tuttavia, i dati provenienti da tabelle diverse possono essere combinati. Questo può rendere l'intero database molto flessibile.

Consideriamo il seguente esempio: abbiamo un'azienda con diversi dipendenti. Possiamo memorizzare il nome e la qualifica di ciascun dipendente in una tabella denominata Employee. La tabella avrebbe il seguente aspetto:

FirstNameLastNameJobTitle
SarahWilcoxCEO
LiYangDepartment Head
EveTaylorDeveloper
LiamNelsonDeveloper

Oltre a questa, possiamo definire un'altra tabella chiamata Job. Essa contiene gli stipendi e le ore di lavoro settimanali per ogni mansione:

JobTitleSalaryHoursPerWeek
CEO160,00050
Department Head130,00045
Developer115,00035

Possiamo memorizzare queste tabelle in un database relazionale e combinare le informazioni di ciascuna tabella per scoprire facilmente quante ore alla settimana deve lavorare ogni sviluppatore o il suo stipendio annuale.

Ogni riga ha un tipo di dati specifico. Le voci della colonna JobTitle possono contenere solo informazioni testuali, mentre la colonna Salario può contenere solo un numero. Se un nuovo sviluppatore entra a far parte dell'azienda, è sufficiente aggiungere una riga alla tabella Employee per conoscere automaticamente il suo stipendio e il numero di ore di lavoro.

Esistono molte altre situazioni in cui è possibile utilizzare i database relazionali. Un database universitario potrebbe avere una tabella per tutti gli studenti di un dipartimento, i corsi a cui sono iscritti e i voti degli studenti. Nello stesso database potrebbe esserci un'altra tabella con i nomi dei docenti, i corsi che insegnano e l'orario in cui si tengono le lezioni. Un database relazionale potrebbe memorizzare le informazioni di un negozio online, comprese le informazioni sui clienti, le vendite e gli ordini e le informazioni sui prodotti (cioè ciò che vendono).

Ma non sono solo le informazioni relative a persone o prodotti a poter essere archiviate in un database relazionale. I dati delle serie temporali potrebbero essere memorizzati in tabelle; ogni riga rappresenterebbe un diverso punto nel tempo.

Immaginate di misurare la temperatura ogni 10 minuti durante il giorno. Le registrazioni potrebbero essere memorizzate in una tabella; le registrazioni della quantità di precipitazioni ogni ora potrebbero essere memorizzate in un'altra tabella dello stesso database. In questo modo, i database relazionali possono essere molto flessibili.

Database SQL

Abbiamo fatto un po' di strada per arrivare a capire cos'è un database SQL.

Il termine database SQL è più o meno un sinonimo di database relazionale. Si tratta di un database con la stessa struttura che abbiamo descritto sopra: è composto da una o più tabelle che contengono dati.

I database relazionali sono chiamati database SQL perché SQL è il linguaggio progettato per parlare con i database relazionali. Ciò significa che il linguaggio SQL viene utilizzato per accedere e modificare i dati all'interno di un database SQL. Questo è il motivo per cui il linguaggio è stato originariamente sviluppato, come abbiamo discusso nel nostro articolo Cos'è SQL?

Un database SQL è generalmente costruito con SQL e progettato per funzionare in modo ottimale quando il linguaggio SQL viene utilizzato per gestire i dati al suo interno. Con un database SQL, è possibile utilizzare la sintassi intuitiva e facile da imparare di SQL per sfruttare le funzionalità avanzate del database e gestire grandi quantità di dati e molti utenti.

L'SQL è stato sviluppato con i database relazionali, ma oggi viene utilizzato con molte altre tecnologie di dati. Per saperne di più, consultate il nostro articolo Le tecnologie SQL sono più comuni di quanto pensiate.

Opzioni per i database SQL

Esistono numerosi prodotti software che consentono di creare e gestire un database SQL. Se lavorate in un team, probabilmente non potrete scegliere con quale database lavorare. Tuttavia, è importante sapere quali sono le opzioni disponibili e quando devono essere utilizzate. Nel nostro articolo A cosa serve l'SQL? approfondiamo le modalità di utilizzo dei database SQL.

Uno dei prodotti più diffusi è MySQL. Questo prodotto viene generalmente eseguito su un server esterno, il che significa che è necessario connettersi al server per iniziare a utilizzare i dati.

SQLite, invece, è utile per i progetti più piccoli, dove è sufficiente un database sul computer locale. È una buona opzione per i principianti che vogliono acquisire un po' di esperienza con i database SQL.

SQL Server è un altro sistema di gestione di database molto popolare. È una soluzione facile da usare che rappresenta una buona scelta per le situazioni con requisiti più complessi. Tuttavia, è necessario pagare per utilizzarlo.

PostgreSQL, noto anche come Postgres, è un'altra opzione gratuita. Si tratta di una soluzione molto matura e popolare, in grado di gestire diversi formati di dati.

L'ultimo sistema di database che citiamo è Oracle. È comunemente utilizzato per l'elaborazione delle transazioni online e per il data warehousing. Tuttavia, non è particolarmente adatto ai principianti.

È ora di imparare l'SQL

In questo articolo abbiamo parlato dei database relazionali e di come l'SQL possa essere utilizzato per lavorare con i dati memorizzati in un database. Vorremmo incoraggiarvi a fare il passo successivo e iniziare a imparare l'SQL. Per alcuni suggerimenti su come procedere, consultate il nostro articolo Come imparare velocemente l'SQL. Questo può diventare un altro linguaggio di programmazione da inserire nel vostro CV per la prossima domanda di lavoro. E sì, SQL è un linguaggio di programmazione; ne spieghiamo i motivi in L'SQL è un linguaggio di programmazione?