Guida aggiornata: settembre 2026 · a cura di Skooly · tutte le guide · altre domande di programmazione
Domande d'esame sulle basi di dati e SQL: le 12 che escono davvero, con le risposte
Su questo argomento il docente di solito ti chiede di passare dal modello concettuale al modello relazionale, e poi di dimostrare che sai interrogare e ragionare sui dati con SQL. Vuole vedere se conosci bene chiavi, vincoli, normalizzazione, transazioni e indici, cioè i meccanismi che garantiscono correttezza ed efficienza del database.
I termini che il prof si aspetta: DBMS · schema · istanza · modello entità-relazione · entità · relazione · chiave primaria · chiave esterna · vincolo di integrità · normalizzazione · transazione · ACID · indice.
Le domande che escono all'esame
-
Che cos’è una base di dati e che ruolo ha il DBMS?
Una base di dati è una collezione organizzata di dati correlati, memorizzata in modo persistente e condivisa tra più applicazioni. Il DBMS è il software che la gestisce: si occupa di memorizzazione, interrogazione, sicurezza, concorrenza e recupero dai guasti. Il suo scopo è fornire indipendenza dei dati e garantire coerenza e integrità.
Cosa vuole sentire: Vuole una definizione precisa di database e DBMS, non una descrizione generica di archivi. Errore tipico: Confondere il database con il programma applicativo o dire solo che è “un insieme di dati”.
-
Qual è la differenza tra schema e istanza di una base di dati?
Lo schema è la descrizione logica della struttura del database, quindi le tabelle, gli attributi, le chiavi e i vincoli. L’istanza è il contenuto attuale del database in un certo momento. Lo schema cambia raramente, mentre l’istanza cambia continuamente con inserimenti, cancellazioni e aggiornamenti.
Cosa vuole sentire: Vuole che distingui struttura e contenuto con terminologia corretta. Errore tipico: Dire che schema e istanza sono sinonimi o usare “schema” per indicare i dati presenti.
-
Come descrivi un modello entità-relazione?
Il modello entità-relazione è un modello concettuale che rappresenta il dominio tramite entità, attributi e relazioni. Le entità corrispondono a oggetti del mondo reale, gli attributi alle loro proprietà e le relazioni ai legami tra entità. Serve nella progettazione concettuale prima della traduzione nel modello relazionale.
Cosa vuole sentire: Vuole sentire gli elementi fondamentali del modello ER e il suo ruolo nella progettazione. Errore tipico: Dire solo che “serve a fare il diagramma” senza spiegare cosa rappresenta.
-
Cosa sono chiave primaria e chiave esterna?
La chiave primaria è l’insieme minimo di attributi che identifica univocamente una tupla in una relazione. La chiave esterna è un attributo, o insieme di attributi, che riferisce la chiave primaria di un’altra relazione e realizza un vincolo di integrità referenziale. La prima garantisce unicità, la seconda collegamento consistente tra tabelle.
Cosa vuole sentire: Vuole il significato formale delle chiavi e il ruolo dei vincoli. Errore tipico: Dire che la chiave esterna è “una chiave di un’altra tabella” senza parlare di riferimento e integrità.
-
Come si passa dal modello ER al modello relazionale?
Il passaggio consiste nel tradurre entità e relazioni in tabelle, scegliendo chiavi primarie e introducendo chiavi esterne dove serve. Le relazioni uno-a-molti si traducono di solito con una chiave esterna nel lato molti, mentre le relazioni molti-a-molti richiedono una tabella di intersezione. Bisogna anche tradurre gli attributi multivalore o deboli secondo le regole del mapping relazionale.
Cosa vuole sentire: Vuole vedere che conosci la traduzione concettuale-relazionale e i casi tipici. Errore tipico: Mettere una chiave esterna ovunque senza capire la cardinalità della relazione.
-
Che cos’è SQL e quali sono le sue principali componenti?
SQL è il linguaggio standard per definire, interrogare e modificare dati in un database relazionale. Include istruzioni di definizione dei dati, di manipolazione dei dati e di controllo dell’accesso, anche se all’esame di solito si insiste soprattutto sulla parte di interrogazione. La sua forza è che permette di esprimere query dichiarative, lasciando al DBMS il compito di ottimizzarle.
Cosa vuole sentire: Vuole che tu collochi SQL come linguaggio dichiarativo per il modello relazionale. Errore tipico: Pensare che SQL sia un linguaggio procedurale come un linguaggio di programmazione classico.
-
Come funziona una SELECT con JOIN?
La SELECT estrae colonne e righe da una o più tabelle, mentre il JOIN combina tuple di tabelle diverse in base a una condizione di corrispondenza. Con un inner join ottieni solo le righe che soddisfano il match, mentre con i join esterni puoi preservare anche le righe senza corrispondenza. Serve per ricostruire informazioni distribuite su più relazioni.
Cosa vuole sentire: Vuole che tu sappia spiegare il join come operazione di combinazione basata su una condizione. Errore tipico: Confondere il prodotto cartesiano con il join o non sapere la differenza tra inner e outer join.
-
A cosa serve GROUP BY in SQL?
GROUP BY serve a raggruppare le tuple con lo stesso valore su uno o più attributi, per poi applicare funzioni di aggregazione come conteggio, somma, media, minimo e massimo. Si usa quando vuoi ottenere risultati per gruppo, non per singola tupla. Se presenti condizioni sui gruppi, queste si esprimono con HAVING, non con WHERE.
Cosa vuole sentire: Vuole che distingui raggruppamento e filtraggio dei gruppi. Errore tipico: Mettere in WHERE una condizione che riguarda un’aggregazione.
-
Che cos’è una sottoquery e quando è utile?
Una sottoquery è una query annidata dentro un’altra query, usata spesso per esprimere condizioni di esistenza, confronto con insiemi o selezioni intermedie. È utile quando il risultato di un’interrogazione serve come input di un’altra, oppure quando vuoi scrivere in modo più naturale certe condizioni logiche. In alcuni casi può essere riscritta con JOIN o con operatori insiemistici.
Cosa vuole sentire: Vuole che tu capisca il ruolo logico delle sottoquery, non solo la sintassi. Errore tipico: Pensare che la sottoquery serva solo a “spezzare” una query lunga, senza capire il significato semantico.
-
Che cos’è la normalizzazione e perché si usa?
La normalizzazione è il processo con cui si riorganizzano le relazioni per ridurre ridondanza e anomalie di inserimento, cancellazione e aggiornamento. Si basa sulle dipendenze funzionali e sulle forme normali, che impongono una struttura più corretta del schema. In pratica serve a evitare che la stessa informazione sia duplicata in modo incoerente.
Cosa vuole sentire: Vuole la motivazione teorica e pratica della normalizzazione. Errore tipico: Dire che normalizzare significa solo “dividere le tabelle” senza spiegare il criterio.
-
Che cosa garantiscono le proprietà ACID di una transazione?
ACID significa atomicità, consistenza, isolamento e durabilità. Atomicità vuol dire che la transazione si esegue tutta o per niente; consistenza che porta il database da uno stato valido a un altro stato valido; isolamento che le transazioni concorrenti non si interferiscano in modo scorretto; durabilità che, una volta confermata, la transazione resti persistente anche dopo un guasto. Sono le proprietà che rendono affidabile l’esecuzione concorrente.
Cosa vuole sentire: Vuole una definizione rigorosa delle quattro proprietà e del loro senso. Errore tipico: Definire ACID in modo vago o confondere consistenza con coerenza dei dati in senso generico.
-
Perché gli indici migliorano le prestazioni e qual è il loro costo?
Un indice è una struttura ausiliaria che permette di trovare più rapidamente le tuple senza scandire tutta la tabella. Migliora soprattutto le operazioni di ricerca, join e ordinamento, ma richiede spazio aggiuntivo e rende più costose le operazioni di inserimento, cancellazione e aggiornamento. Quindi va scelto in base al carico di lavoro della base di dati.
Cosa vuole sentire: Vuole il compromesso fondamentale tra lettura più veloce e scrittura più costosa. Errore tipico: Pensare che un indice sia sempre e solo un vantaggio, senza costi.
Le risposte vaghe che non passano
- «Le chiavi servono a identificare i dati e le tabelle collegate tra loro.»
- Meglio: La chiave primaria identifica univocamente una tupla, mentre la chiave esterna realizza un riferimento a una chiave primaria di un’altra relazione e impone integrità referenziale.
- «GROUP BY si usa quando vuoi fare dei calcoli sui dati.»
- Meglio: GROUP BY raggruppa le tuple su uno o più attributi e consente di applicare funzioni di aggregazione; le condizioni sui gruppi si esprimono con HAVING.
- «Le transazioni servono per evitare errori nel database.»
- Meglio: Le transazioni garantiscono atomicità, consistenza, isolamento e durabilità, cioè correttezza dell’esecuzione anche in presenza di concorrenza e guasti.
I collegamenti che fanno salire il voto
- Programmazione — gestione degli errori e delle risorse. Ti aiuta a collegare il concetto di transazione con il fatto che le operazioni devono essere coerenti anche in caso di fallimento.
- Architettura degli elaboratori — memoria e prestazioni. È utile per capire perché gli indici accelerano l’accesso ai dati ma richiedono spazio e manutenzione.
- Analisi e progettazione del software — modello del dominio e requisiti. Il modello entità-relazione è collegato alla fase di analisi concettuale, prima della traduzione in tabelle e query.
Come ti valuta la pagella sulle basi di dati e SQL
Un'interrogazione si valuta su quattro criteri. Ecco cosa fa la differenza in questo argomento:
| Criterio | Cosa fa la differenza qui |
|---|---|
| Conoscenza dei contenuti | Fa la differenza sapere definizioni precise di schema, istanza, chiavi, vincoli, normalizzazione e ACID, senza confonderli tra loro. |
| Correttezza espositiva e lessico specifico | Premia un discorso ordinato: prima modello concettuale, poi relazionale, poi SQL, poi qualità e prestazioni. |
| Capacità di analisi e collegamenti | Conta molto saper spiegare perché una scelta è corretta, ad esempio quando usare JOIN, GROUP BY, una sottoquery o un indice. |
| Autonomia nell'argomentare | Alza il voto se sai applicare i concetti a un esempio nuovo, progettando lo schema e giustificando le query e i vincoli. |
Domande frequenti
- Da dove conviene partire se il docente mi chiede questo argomento?
- Parti dal modello entità-relazione, poi passa alla traduzione nel modello relazionale e chiudi con SQL e vincoli.
- Cosa ripassare se ho poco tempo?
- Ripassa chiavi, JOIN, GROUP BY con HAVING, sottoquery, forme normali e le quattro proprietà ACID.
- Come lo collego ad altri argomenti dell’esame?
- Collegalo alla progettazione del software, alla concorrenza e alla gestione delle prestazioni tramite indici e ottimizzazione delle query.
Altre domande d'esame di programmazione
La complessità degli algoritmi · La programmazione a oggetti · La ricorsione · Le strutture dati · Variabili, tipi e controllo del flusso · tutti gli argomenti di programmazione
Come si prepara un orale universitario: simulare l'esame orale · Skooly per l'università.
Le domande e le risposte modello di questa pagina sono generate con l'intelligenza artificiale a partire dal programma scolastico, passate da una verifica automatica dei fatti e riviste a campione dalla redazione di Skooly (AI Act, Art. 50). Hai trovato un errore? Scrivi a supporto@skooly.it e lo correggiamo.
