Per un programmatore, imparare i concetti di tabelle,
record, chiavi primarie, chiavi esterne e linguaggio SQL
costituisce una base indispensabile. Una volta acquisiti
questi elementi, sarà molto più semplice sviluppare
applicazioni desktop, siti web, servizi online e gestionali
professionali.
Introduzione ai
database relazionali per programmatori
Pubblicato il: 4-7-2026
Ultima Modifica: 4-7-2026
Introduzione ai database relazionali per programmatori
📚 Perché ogni programmatore dovrebbe conoscere i
database
Prima o poi, quasi tutti i programmi devono memorizzare
delle informazioni. Un semplice elenco di clienti, un
archivio di prodotti, gli utenti di un sito web, le
prenotazioni di un albergo o i messaggi di una chat sono
tutti esempi di dati che devono essere conservati in modo
sicuro.
Salvare queste informazioni in semplici file di testo può
andare bene per programmi molto piccoli, ma quando i dati
aumentano diventa necessario utilizzare uno strumento molto
più potente: il database relazionale.
Conoscere i database relazionali è una delle competenze
fondamentali per qualsiasi programmatore.
💾 Che cos'è un database?
Un database è un archivio organizzato di dati.
L'obiettivo principale è quello di:
memorizzare informazioni;
recuperarle rapidamente;
modificarle facilmente;
proteggerle da errori e accessi non autorizzati.
Pensiamo ad esempio ad una libreria.
Essa deve conservare informazioni su:
libri;
autori;
editori;
clienti;
prestiti.
Tutti questi dati possono essere organizzati in un
database.
🗃️ Cos'è un database relazionale?
Un database relazionale organizza le informazioni in
tabelle.
Ogni tabella rappresenta un tipo di dato.
Ad esempio:
Tabella Clienti
ID
Nome
Cognome
Città
1
Mario
Rossi
Roma
2
Luca
Bianchi
Milano
Tabella Ordini
ID Ordine
Cliente
Data
101
1
12/05/2026
102
2
15/05/2026
In questo esempio il campo Cliente
contiene l'identificativo del cliente che ha effettuato
l'ordine.
Ecco perché il database viene definito
relazionale: le tabelle sono collegate tra loro.
🧩 Le tabelle
La tabella rappresenta il contenitore principale dei
dati.
È molto simile ad un foglio elettronico.
Contiene:
colonne (campi)
righe (record)
Ad esempio:
ID
Nome
Età
1
Paolo
30
2
Marco
27
3
Anna
35
Ogni riga rappresenta una persona.
📌 I campi
I campi descrivono le informazioni.
Esempio:
Nome
Cognome
Data di nascita
Telefono
Email
Ogni campo possiede un tipo di dato.
Ad esempio:
Tipo
Descrizione
INTEGER
numeri interi
REAL
numeri decimali
TEXT
testo
DATE
date
BOOLEAN
vero/falso
📋 I record
Ogni record rappresenta un elemento completo.
Ad esempio:
ID
Nome
Età
15
Francesca
29
Questo record contiene tutte le informazioni relative ad
una persona.
🔑 La chiave primaria (Primary Key)
Ogni tabella dovrebbe avere un campo che identifica
univocamente ogni record.
Questo campo viene chiamato Primary Key.
Esempio:
ID
Nome
1
Mario
2
Paolo
3
Giulia
L'ID non può mai ripetersi.
È il modo più semplice per identificare un record.
🔗 La chiave esterna (Foreign Key)
La Foreign Key serve per collegare due
tabelle.
Ad esempio:
Clienti
ID
Nome
1
Mario
2
Anna
Ordini
Ordine
Cliente
100
1
101
2
Il numero presente nella colonna Cliente
corrisponde all'ID della tabella Clienti.
Grazie a questo collegamento è possibile sapere quale
cliente ha effettuato ogni ordine.
📈 Le relazioni
Esistono principalmente tre tipi di relazioni.
Uno a uno (1:1)
Una persona possiede una sola carta d'identità.
Una carta appartiene ad una sola persona.
Uno a molti (1:N)
È la relazione più comune.
Un cliente può effettuare molti ordini.
Ogni ordine appartiene ad un solo cliente.
Cliente
│
├── Ordine 1
├── Ordine 2
├── Ordine 3
Molti a molti (N:N)
Uno studente può frequentare molti corsi.
Ogni corso può avere molti studenti.
In questo caso viene creata una tabella intermedia.
Studenti
│
│
Iscrizioni
│
│
Corsi
⚡ Cos'è SQL?
SQL significa:
Structured Query Language
È il linguaggio utilizzato praticamente da tutti i
database relazionali.
Con SQL possiamo:
creare tabelle;
inserire dati;
modificare dati;
eliminare dati;
effettuare ricerche.
🛠️ Creare una tabella
Esempio:
CREATE TABLE Clienti
(
ID INTEGER PRIMARY KEY,
Nome TEXT,
Cognome TEXT,
Eta INTEGER
);
Questa istruzione crea una nuova tabella.
➕ Inserire dati
INSERT INTO Clienti
VALUES
(
1,
'Mario',
'Rossi',
35
);
Viene aggiunto un nuovo cliente.
🔍 Cercare dati
SELECT *
FROM Clienti;
Il simbolo * significa:
"Tutti i campi".
Possiamo anche cercare solo alcuni campi.
SELECT Nome, Cognome
FROM Clienti;
🎯 Cercare un cliente specifico
SELECT *
FROM Clienti
WHERE Eta > 30;
Restituisce tutti i clienti con età superiore ai 30 anni.
✏️ Modificare un record
UPDATE Clienti
SET Eta = 36
WHERE ID = 1;
Aggiorna l'età del cliente.
🗑️ Eliminare un record
DELETE
FROM Clienti
WHERE ID = 1;
Cancella il record.
🔍 Ordinare i risultati
SELECT *
FROM Clienti
ORDER BY Cognome;
I dati verranno ordinati alfabeticamente.
📊 Contare i record
SELECT COUNT(*)
FROM Clienti;
Restituisce il numero totale dei clienti.
🔎 Cercare dati in più tabelle (JOIN)
Uno dei grandi vantaggi dei database relazionali è la
possibilità di unire dati provenienti da più tabelle.
Esempio:
SELECT
Clienti.Nome,
Ordini.ID
FROM Clienti
INNER JOIN Ordini
ON Clienti.ID = Ordini.Cliente;
Il risultato mostrerà il nome del cliente insieme ai suoi
ordini.
🛡️ Integrità dei dati
I database relazionali aiutano ad evitare errori.
Ad esempio:
impediscono duplicati indesiderati;
evitano collegamenti inesistenti;
controllano i tipi di dato;
permettono backup affidabili.
Per questo motivo vengono utilizzati praticamente
ovunque.
🌍 I database relazionali più utilizzati
Tra i più famosi troviamo:
SQLite
MySQL
MariaDB
PostgreSQL
Microsoft SQL Server
Oracle Database
Per iniziare a studiare, SQLite è
probabilmente la scelta migliore perché è leggero, gratuito
e non richiede un server dedicato.
💻 Come si usano nei programmi?
Ogni linguaggio mette a disposizione librerie per
collegarsi al database.
Il flusso tipico è questo:
Programma
│
▼
Connessione
│
▼
Database
│
▼
Risultati
Ad esempio:
Pascal (Lazarus)
C
C++
Python
Java
C#
PHP
possono tutti dialogare con un database SQL.
🚀 Quando utilizzare un database?
È consigliabile utilizzare un database quando il
programma deve:
gestire clienti;
archiviare documenti;
memorizzare utenti;
registrare vendite;
gestire un magazzino;
conservare fotografie;
memorizzare password (in forma cifrata);
gestire un sito web;
realizzare un gestionale.
📖 Conclusione
I database relazionali rappresentano una delle tecnologie
più importanti nello sviluppo software. Consentono di
organizzare grandi quantità di informazioni in modo
ordinato, sicuro ed efficiente, mantenendo relazioni tra i
dati e garantendo prestazioni elevate anche con archivi di
notevoli dimensioni.
Per un programmatore, imparare i concetti di tabelle,
record, chiavi primarie, chiavi esterne e linguaggio SQL
costituisce una base indispensabile. Una volta acquisiti
questi elementi, sarà molto più semplice sviluppare
applicazioni desktop, siti web, servizi online e gestionali
professionali.
La buona notizia è che non serve iniziare con strumenti
complessi: grazie a database come SQLite è possibile fare
pratica fin da subito, imparando gradualmente le tecniche
che vengono utilizzate anche nei grandi sistemi informativi.