Domande di informatica
5IF
Modello Entità-Relazione (E-R)
Domanda 1
Parte A – Domanda base
Cos'è una gerarchia (generalizzazione) nel modello E-R e a cosa serve?
Parte B – Approfondimento
Spiega la differenza concettuale e pratica tra una gerarchia con copertura totale ed esclusiva
(partizione) e una con copertura parziale e sovrapposta. In quale caso la seconda è
strettamente necessaria?
Domanda 2
Parte A – Domanda base
Qual è lo scopo del Modello E-R nella progettazione di un database?
Parte B – Approfondimento
Perché il Modello E-R viene definito "concettuale" e indipendente dal DBMS? Quali aspetti della
realtà non riesce a rappresentare, quali assunzioni si possono fare per rimediare alla
“mancanza” (sufficiente un esempio)?
Domanda 3
Parte A – Domanda base
Cosa rappresentano le cardinalità minima e massima in un'associazione E-R?
Parte B – Approfondimento
Nel contesto delle cardinalità delle associazioni, cosa differenzia formalmente una cardinalità
minima pari a 0 da una pari a 1 in termini di vincoli imposti sul database reale?
Domanda 4
Parte A – Domanda base
In che modo si decide se un concetto va rappresentato come entità o come attributo nel modello
E-R?
Parte B – Approfondimento
Descrivi il processo decisionale che porta a scegliere tra modellare un concetto come entità o
come attributo di un'altra entità. Fornisci un esempio in cui una scelta errata complica
l'evoluzione futura del sistema.
Domanda 5
Parte A – Domanda base
Cosa si intende per ridondanza nei dati e perché può essere problematica in uno schema E-R?
Parte B – Approfondimento
Quali sono i vantaggi e gli svantaggi dell'introduzione di attributi ridondanti (denormalizzazione)
durante la fase di ristrutturazione dello schema E-R prima della traduzione logica?
Domanda 6
Parte A – Domanda base
Quali sono le strategie standard per eliminare le generalizzazioni (gerarchie) nella traduzione dal
modello E-R al modello logico?
Parte B – Approfondimento
Analizza l'impatto di ciascuna delle tre strategie di eliminazione delle gerarchie (collasso verso
l'alto, collasso verso il basso, sostituzione con associazioni) sul numero di valori NULL potenziali
nello schema logico finale.
Domanda 7
Parte A – Domanda base
Cosa si intende per partizionamento di un'entità nella fase di ristrutturazione dello schema E-R?
Parte B – Approfondimento
Esamina il partizionamento verticale di un'entità. Quali criteri giustificano la frammentazione di
un'entità originariamente coesa in due o più sotto-entità?
Domanda 8
Parte A – Domanda base
Cosa sono gli attributi multivalore e gli attributi composti nel modello E-R?
Parte B – Approfondimento
Riesci ad ipotizzare perché gli attributi multivalore e gli attributi composti non possono essere
riportati direttamente nel modello relazionale standard?
Domanda 9
Parte A – Domanda base
Cos'è un'entità debole e come si differenzia da un'entità forte?
Parte B – Approfondimento
Come si determina l'identificatore primario di un'entità debole (con identificatore esterno)?
Spiega, anche con un esempio, il legame concettuale e strutturale con l'entità forte associata.
Domanda 10
Parte A – Domanda base
Gli attributi possono essere associati a un'associazione nel modello E-R, oppure appartengono
sempre a un'entità?
Parte B – Approfondimento
In quale circostanza un attributo appartiene strettamente all'associazione stessa e non può
essere spostato in nessuna delle due entità coinvolte? Fornisci un esempio concreto.
Traduzione dal Modello E-R al Modello Logico Relazionale
Domanda 11
Parte A – Domanda base
Come si traduce nel modello relazionale un'associazione uno-a-molti (1:N)?
Parte B – Approfondimento
Spiega come viene tradotta un'associazione 1:N con partecipazione opzionale dal lato del "1" e
totale dal lato del "N". Dove va posizionata la chiave esterna e perché?
Domanda 12
Parte A – Domanda base
Come si traduce un'associazione molti-a-molti (N:M) nel modello relazionale?
Parte B – Approfondimento
Nel tradurre un'associazione N:M, viene sempre creata una nuova tabella di giunzione. Qual è la
chiave primaria di questa nuova tabella e quali vincoli di integrità referenziale devono essere
contestualmente definiti?
Domanda 13
Parte A – Domanda base
Come si gestisce la traduzione di un'associazione 1:1 quando entrambe le partecipazioni sono
opzionali?
Parte B – Approfondimento
Se un'associazione è di tipo 1:1 e entrambe le partecipazioni sono opzionali, quali sono le
opzioni di traduzione logica? Come influisce la scelta progettuale sulla presenza di valori NULL o
sul numero di tabelle create?
Domanda 14
Parte A – Domanda base
Come si traduce nel modello logico una gerarchia usando il collasso verso il basso?
Parte B – Approfondimento
Discuti la traduzione di una gerarchia mediante il collasso verso il basso (creazione delle sole
tabelle per le sotto-entità). Cosa succede se l'entità padre partecipava a un'associazione con
un'altra entità esterna? Come si riflette questo sulla struttura logica?
Domanda 15
Parte A – Domanda base
Cos'è un vincolo di integrità referenziale (Foreign Key) nel modello relazionale?
Parte B – Approfondimento
Perché i vincoli di integrità referenziale (Foreign Key) sono definiti come "strutture basate su
valori" nel modello relazionale?
Domanda 16
Parte A – Domanda base
Cosa succede a un record figlio quando il record padre a cui fa riferimento viene cancellato?
Parte B – Approfondimento
Un vincolo di integrità referenziale specifica un comportamento in caso di cancellazione (ON
DELETE CASCADE o ON DELETE SET NULL). Esponi uno scenario in cui l'uso di CASCADE
potrebbe provocare una perdita imprevista di dati storici.
Domanda 17
Parte A – Domanda base
Cosa sono le chiavi primarie composte e quando si usano?
Parte B – Approfondimento
Quando si traduce un identificatore primario composto da più attributi in una chiave primaria di
una tabella, in che modo questo influisce sulla scrittura e sulle performance delle chiavi esterne
nelle tabelle correlate?
Domanda 18
Parte A – Domanda base
Qual è la differenza tra PRIMARY KEY e UNIQUE nel modello relazionale?
Parte B – Approfondimento
Qual è la differenza concettuale tra una chiave primaria (PRIMARY KEY) e un vincolo di unicità
(UNIQUE) applicato a un attributo non opzionale (NOT NULL)?
Domanda 19
Parte A – Domanda base
Cosa sono le chiavi surrogate e perché vengono usate in alternativa alle chiavi naturali?
Parte B – Approfondimento
Per quale motivo l'introduzione di chiavi surrogate (ID numerici autoincrementanti) viene spesso
preferita rispetto all'uso di chiavi primarie naturali composte o alfanumeriche? Quali svantaggi
comporta questa scelta?
Domanda 20
Parte A – Domanda base
Come si traduce logicamente un'entità debole nel modello relazionale?
Parte B – Approfondimento
Dimostra come la traduzione di un'entità debole crei una dipendenza non solo di integrità
referenziale, ma anche di identificazione: la chiave primaria della tabella debole include
necessariamente la chiave della tabella forte.
Algebra Relazionale
Domanda 21
Parte A – Domanda base
Cos'è l'algebra relazionale e perché è importante come fondamento teorico del modello
relazionale?
Parte B – Approfondimento
Quali sono i vantaggi della proprietà di chiusura (ogni operazione su relazioni produce una
relazione) dell'algebra relazionale quando si compongono espressioni complesse?
Domanda 22
Parte A – Domanda base
Cos'è l'operatore di Selezione nell'algebra relazionale e come funziona?
Parte B – Approfondimento
Definisci formalmente l'operatore di Selezione (σ). È possibile che il risultato di una selezione
abbia uno schema (insieme di attributi) diverso da quello della relazione di partenza? Argomenta
la risposta.
Domanda 23
Parte A – Domanda base
Cos'è l'operatore di Proiezione nell'algebra relazionale?
Parte B – Approfondimento
L'operatore di Proiezione (π) può produrre una relazione con un numero di tuple inferiore
rispetto alla relazione originaria. Descrivi il motivo matematico alla base di questo fenomeno.
Domanda 24
Parte A – Domanda base
Cos'è il Prodotto Cartesiano nell'algebra relazionale e qual è il suo costo?
Parte B – Approfondimento
Il Prodotto Cartesiano (×) è un operatore binario “costoso”. Se una relazione ha n tuple e l'altra
ne ha m, quante tuple avrà il prodotto cartesiano? Perché nella pratica si preferisce evitare il
prodotto cartesiano isolato?
Domanda 25
Parte A – Domanda base
Cos'è il Natural Join nell'algebra relazionale?
Parte B – Approfondimento
Cos'è il Natural Join (⋈) e in cosa differisce formalmente dal Theta-Join? Spiega l'importanza
della coincidenza dei nomi degli attributi nel calcolo del Natural Join.
Domanda 26
Parte A – Domanda base
Cosa sono i join esterni (outer join) e quando si usano?
Parte B – Approfondimento
Spiega la differenza tra il Left Outer Join, il Right Outer Join e il Full Outer Join. Quale
informazione viene preservata da questi operatori che andrebbe invece persa in un Inner Join?
Domanda 27
Parte A – Domanda base
Quali sono gli operatori insiemistici dell'algebra relazionale?
Parte B – Approfondimento
Quali sono le condizioni strutturali necessarie affinché sia possibile applicare gli operatori
insiemistici di Unione (∪), Intersezione (∩) e Differenza (−) tra due relazioni?
Domanda 28
Parte A – Domanda base
Cos'è l'operatore di Intersezione nell'algebra relazionale?
Parte B – Approfondimento
Dimostra per quale motivo l'intersezione (∩) è un operatore derivato, ovvero esprimibile
esclusivamente tramite l'operatore di differenza (−).
Domanda 29
Parte A – Domanda base
Qual è la differenza tra un linguaggio procedurale e uno dichiarativo?
Parte B – Approfondimento
Perché l'algebra relazionale viene definita un linguaggio "procedurale" rispetto a SQL, che è
invece "dichiarativo"?
Domanda 30
Parte A – Domanda base
In quali condizioni il Natural Join tra due relazioni produce un risultato vuoto?
Parte B – Approfondimento
In quale scenario il risultato di un Natural Join tra due relazioni non vuote produce una relazione
completamente vuota?
Domanda 31
Parte A – Domanda base
Cosa succede quando si applica il Natural Join a due relazioni che non condividono alcun
attributo in comune?
Parte B – Approfondimento
Se due relazioni non condividono alcun attributo con lo stesso nome, a quale operatore
elementare dell'algebra relazionale equivale il loro Natural Join? Giustifica la risposta.
SQL
Domanda 32
Parte A – Domanda base
Quali sono le clausole principali di una query SQL e in quale ordine vengono scritte?
Parte B – Approfondimento
Descrivi l'ordine logico di esecuzione delle clausole in una query SQL standard (FROM,
WHERE, GROUP BY, HAVING, SELECT, ORDER BY). In che modo questo ordine differisce
dall'ordine di scrittura sintattica?
Domanda 33
Parte A – Domanda base
Cosa sono gli alias di colonna in SQL e quando si usano?
Parte B – Approfondimento
Perché non è possibile utilizzare un alias di colonna definito nella clausola SELECT all'interno
della stessa clausola WHERE della stessa query?
Domanda 34
Parte A – Domanda base
Cos'è il valore NULL in SQL e come si comporta nei confronti logici?
Parte B – Approfondimento
Spiega la semantica del valore NULL in SQL. Perché l'espressione "Attributo = NULL" non
restituisce mai TRUE, obbligando all'uso di IS NULL?
Domanda 35 PER MINANTE!!!
Parte A – Domanda base
Cos'è l'operatore LIKE in SQL e come si usa per la ricerca su stringhe?
Parte B – Approfondimento
Analizza la differenza tra l'operatore LIKE e l'operatore = nelle stringhe. Quali sono gli effetti
sull'uso degli indici del database se si abusa dei caratteri jolly (% e _) all'inizio di una stringa?
Domanda 36
Parte A – Domanda base
Cosa fa la clausola ON UPDATE CASCADE in un vincolo di chiave esterna?
Parte B – Approfondimento
Descrivi l'effetto dell'opzione ON UPDATE CASCADE applicata a un vincolo di chiave esterna.
Cosa succede a livello fisico se viene aggiornato il valore della chiave primaria nella tabella
master?
Domanda 37
Parte A – Domanda base
Come funziona l'istruzione INSERT INTO in SQL?
Parte B – Approfondimento
Come si comporta la clausola INSERT INTO se viene omessa la lista esplicita dei campi della
tabella? Quali rischi di manutenibilità del codice comporta questa pratica?
Domanda 38
Parte A – Domanda base
Definire una Vista?
Parte B – Approfondimento
Spiega l'uso delle Viste e spiega le differenze con CTE e query annidate.
Domanda 39
Parte A – Domanda base
Cosa succede se una clausola WHERE in un'istruzione UPDATE non seleziona alcuna riga?
Parte B – Approfondimento
Nella clausola UPDATE, cosa accade se la condizione WHERE non seleziona alcuna riga? SQL
restituisce un errore sintattico, un errore di runtime o conclude l'operazione normalmente?
Domanda 40
Parte A – Domanda base
Cosa sono le sottoquery in SQL e come si classificano?
Parte B – Approfondimento
Spiega come le sottoquery correlate differiscono dalle sottoquery non correlate in termini di
strategia di esecuzione ed efficienza computazionale.
Domanda 41
Parte A – Domanda base
Qual è la differenza tra gli operatori IN ed EXISTS in SQL?
Parte B – Approfondimento
Qual è la differenza fondamentale tra l'uso dell'operatore IN e l'operatore EXISTS all'interno di
una clausola WHERE con sottoquery? In quali casi uno è preferibile all'altro?
Domanda 42
Parte A – Domanda base
Cosa fanno i quantificatori ALL e ANY nelle comparazioni SQL con sottoquery?
Parte B – Approfondimento
Descrivi il comportamento del quantificatore ALL rispetto ad ANY nelle comparazioni SQL. Cosa
succede se la sottoquery restituisce un insieme vuoto in entrambi i casi?
Domanda 43
Parte A – Domanda base
Perché l'uso di SELECT * è considerato una cattiva pratica in SQL?
Parte B – Approfondimento
Perché l'uso di SELECT * è generalmente sconsigliato negli ambienti di produzione e nello
sviluppo software, a favore dell'elencazione esplicita degli attributi?
Domanda 44
Parte A – Domanda base
Come gestisce SQL i duplicati nel risultato di una query?
Parte B – Approfondimento
Come gestisce SQL i duplicati nel risultato di una query rispetto all'algebra relazionale pura?
Come si impone il comportamento puramente insiemistico (senza duplicati)?
Teoria della Normalizzazione
Domanda 45
Parte A – Domanda base
Cosa sono le anomalie in un database non normalizzato?
Parte B – Approfondimento
Cos'è un'anomalia di aggiornamento, di cancellazione e di inserimento? Fornisci un esempio
concreto per ciascuna di esse basandoti su una tabella non normalizzata che unisce dati di
Impiegati e Progetti.
Domanda 46
Parte A – Domanda base
Cos'è una dipendenza funzionale tra attributi di una relazione?
Parte B – Approfondimento
Definisci formalmente il concetto di Dipendenza Funzionale (X → Y). Cosa significa che X
determina funzionalmente Y in una relazione?
Domanda 47
Parte A – Domanda base
Cos'è una superchiave e cosa distingue una chiave candidata da una superchiave?
Parte B – Approfondimento
Spiega la differenza tra una superchiave e una chiave candidata di una relazione, utilizzando il
formalismo delle dipendenze funzionali.
Domanda 48
Parte A – Domanda base
Cosa sono la Prima Forma Normale (1NF) e la Seconda Forma Normale (2NF)?
Parte B – Approfondimento
Descrivi i requisiti affinché uno schema di relazione sia in Terza Forma Normale (3NF). Quale
tipo di dipendenze funzionali devono essere assenti?
Domanda 49
Parte A – Domanda base
Cos'è la Terza Forma Normale (3NF) e perché è importante?
Parte B – Approfondimento
Descrivi i requisiti affinché uno schema sia in Forma Normale di Boyce-Codd (BCNF). Qual è la
sottile ma cruciale differenza rispetto alla 3NF?
Domanda 50
Parte A – Domanda base
Perché la BCNF è considerata più restrittiva della 3NF?
Parte B – Approfondimento
Esiste sempre una decomposizione in BCNF che preservi sia le dipendenze funzionali sia
l'assenza di perdita di informazioni (lossless join)? Argomenta con un esempio.
Domanda 51
Parte A – Domanda base
Cosa si intende per decomposizione di uno schema relazionale?
Parte B – Approfondimento
Cosa si intende per decomposizione senza perdita (Lossless Join Decomposition)? Come si
verifica matematicamente se la decomposizione di una relazione in R1 e R2 è senza perdita?
Domanda 52
Parte A – Domanda base
Perché una decomposizione con perdita di informazioni è considerata inaccettabile in un
database?
Parte B – Approfondimento
Perché la decomposizione con perdita è inaccettabile? Cosa viene generato (tuple spurie)
durante un'operazione di Join sulle tabelle decomposta in modo errato?
Domanda 53
Parte A – Domanda base
Cosa significa che una decomposizione preserva le dipendenze funzionali?
Parte B – Approfondimento
Qual è il costo operativo a livello di DBMS se le dipendenze funzionali non vengono preservate
dopo una decomposizione?
Domanda 54
Parte A – Domanda base
Una relazione in cui tutti gli attributi fanno parte della chiave primaria è automaticamente
normalizzata?
Parte B – Approfondimento
Una relazione i cui attributi sono tutti parte della chiave primaria è automaticamente in 3NF?
Giustifica accuratamente la risposta considerando le possibili chiavi candidate.
Domanda 55
Parte A – Domanda base
Cos'è una dipendenza funzionale transitiva e perché viola la 3NF?
Parte B – Approfondimento
Spiega come le dipendenze transitive (X → Y e Y → Z, con Y non superchiave) violino la 3NF e
introducano ridondanza nei dati.
Domanda 56
Parte A – Domanda base
La normalizzazione migliora sempre le performance di un database?
Parte B – Approfondimento
Qual è l'impatto di una struttura fortemente normalizzata (3NF/BCNF) sulle prestazioni delle
query di lettura che richiedono l'aggregazione di dati distribuiti su molte tabelle?
Domanda 57
Parte A – Domanda base
Esiste una relazione tra una buona progettazione E-R e la normalizzazione automatica del
modello logico?
Parte B – Approfondimento
Se lo schema E-R è ben progettato, in quale forma normale si troveranno generalmente le
tabelle tradotte? Esiste un legame diretto tra la correttezza del modello concettuale e la
normalizzazione?
Domanda 58
Parte A – Domanda base
Cos'è una dipendenza funzionale banale?
Parte B – Approfondimento
Come si esegue il test per verificare se una dipendenza funzionale è banale? Qual è l'utilità delle
dipendenze banali nella teoria della normalizzazione?
Domande generiche - capacità critica
Domanda 59
Parte A – Domanda base
Cosa si intende per ridondanza controllata in un database?
Parte B – Approfondimento
Scenario: Un'applicazione di e-commerce modella la tabella
Ordini (IDOrdine, Data, IDCliente, IndirizzoSpedizione, Stato).
Se il cliente cambia il suo indirizzo nel profilo personale, l'indirizzo di spedizione degli ordini
passati non deve cambiare. Questo comportamento rappresenta un'anomalia o è una
ridondanza controllata e necessaria? Argomenta la scelta progettuale.
Domanda 60
Parte A – Domanda base
Come si analizza uno schema relazionale per individuare anomalie e ridondanze?
Parte B – Approfondimento
Un database universitario ha una tabella
Corsi (CodiceCorso, NomeCorso, CodiceDocente, NomeDocente, Aula).
Identifica le dipendenze funzionali logiche, determina la forma normale corrente e mostra la
scomposizione corretta indicando i vincoli di integrità referenziale risultanti.
Domanda 61
Parte A – Domanda base
Come si struttura nel modello E-R una associazione tra due entità che si gestiscono
reciprocamente?
Parte B – Approfondimento
In un database ospedaliero, un medico può essere primario di al più un reparto, e un reparto ha
esattamente un primario. Come modelleresti questa associazione nel modello E-R? Come
cambierebbe la traduzione se la partecipazione del medico diventasse totalmente opzionale?
Domanda 62
Parte A – Domanda base
Quali sono i vantaggi e gli svantaggi del collasso verso l'alto di una gerarchia in un'unica tabella?
Parte B – Approfondimento
Un progettista decide di ristrutturare la gerarchia Persona → Studente / Docente creando
un'unica tabella Persone con tutti i possibili attributi, gestendo la differenziazione tramite un
attributo Tipo. Valuta criticamente la sostenibilità di questo approccio nel lungo periodo se il
numero di attributi specifici per sotto-entità crescesse drasticamente.
Domanda 63
Parte A – Domanda base
Cos'è l'ottimizzazione logica di una query nell'algebra relazionale?
Parte B – Approfondimento
Data la query
SQL: SELECT *
FROM Impiegati
WHERE IDDipartimento IN (
SELECT IDDipartimento
FROM Dipartimenti WHERE Sede = 'Torino')
scrivi l'equivalente espressione in algebra relazionale ottimizzata, applicando la regola di spingere
le selezioni il più in basso possibile nell'albero sintattico.
Domanda 64
Parte A – Domanda base
Come si trovano i clienti che non hanno effettuato alcun acquisto in un database?
Parte B – Approfondimento
Hai due tabelle
Clienti (IDCliente, Nome) e
Acquisti (IDAcquisto, IDCliente, Importo).
Scrivi tre varianti della query per trovare i clienti senza acquisti, usando rispettivamente: un
LEFT JOIN, l'operatore NOT IN e l'operatore NOT EXISTS. Discuti quale variante gestisce in
modo più sicuro l'eventuale presenza di valori NULL in [Link].
Domanda 65
Parte A – Domanda base
Una relazione in 3NF con chiavi candidate semplici è automaticamente in BCNF?
Parte B – Approfondimento
Dimostra se la seguente affermazione è vera o falsa : "Se una relazione ha solo chiavi candidate
semplici (composte da un singolo attributo), allora se è in 3NF è automaticamente anche in
BCNF".
Domanda 66
Parte A – Domanda base
Come si modella nel modello E-R la differenza tra un volo (come rotta) e una specifica istanza di
quel volo in una data precisa?
Parte B – Approfondimento
In un sistema di prenotazione voli, l'entità Volo ha gli attributi NumeroVolo, Compagnia,
ModelloAereo. L'entità IstanzaVolo rappresenta il volo specifico di un determinato giorno (es. il
volo AZ400 del 15 Maggio 2026). Come modelleresti la relazione tra Volo e IstanzaVolo?
Identifica l'uso corretto dell'entità debole e delle cardinalità.
Domanda 67
Parte A – Domanda base
Come si esprimono in SQL i vincoli di integrità che non riguardano le chiavi esterne?
Parte B – Approfondimento
In una base dati bancaria, un conto corrente non può avere un saldo negativo inferiore al fido
concesso. Questo vincolo può essere espresso tramite un vincolo di integrità referenziale?
Domanda 68
Parte A – Domanda base
È possibile aggiungere un vincolo NOT NULL a una colonna già esistente in una tabella con
dati?
Parte B – Approfondimento
Se devi aggiungere un vincolo NOT NULL a una colonna esistente di una tabella popolata con
milioni di righe, quali verifiche preliminari sui dati devi effettuare e quali problemi di esecuzione
potrebbero bloccarti?
Domande generiche – approfondimento
Domanda 69
Parte A – Domanda base
Cosa si intende per indipendenza dei dati nel modello relazionale?
Parte B – Approfondimento
Spiega come il concetto di indipendenza dei dati (fisica e logica) influenza la stabilità delle
applicazioni software quando la struttura delle tabelle sottostanti viene modificata a causa della
normalizzazione.
Domanda 70
Parte A – Domanda base
L'algebra relazionale dispone di operatori per l'aggregazione dei dati (somme, medie, conteggi)?
Parte B – Approfondimento
Perché nell'algebra relazionale classica non sono presenti operatori di aggregazione? In che
modo questa mancanza evidenzia la natura strettamente insiemistica del modello?
Domanda 71
Parte A – Domanda base
Qual è la differenza tra la clausola WHERE e la clausola HAVING in SQL?
Parte B – Approfondimento
Descrivi in dettaglio cosa differenzia WHERE da HAVING quando si lavora con GROUP BY.
Perché l'uso di funzioni aggregate è proibito nella clausola WHERE?
Domanda 72
Parte A – Domanda base
In che modo i valori NULL complicano l'elaborazione delle query in SQL?
Parte B – Approfondimento
Analizza come la presenza di valori NULL complichi l'ottimizzazione automatica delle query da
parte del DBMS. Quali assunzioni statistiche deve fare l'ottimizzatore riguardo alla distribuzione
dei NULL?
Domanda 73
Parte A – Domanda base
Perché la progettazione concettuale (E-R) non si occupa di aspetti fisici come gli indici o le
performance?
Parte B – Approfondimento
Perché nella progettazione E-R si ignorano volutamente prestazioni e dettagli fisici del database,
concentrandosi solo sul significato dei dati?
Domanda 74
Parte A – Domanda base
Come viene garantita la sicurezza nell'accesso ai dati nel modello relazionale basato su valori?
Parte B – Approfondimento
Nel modello relazionale basato su valori, come viene garantita la sicurezza e la riservatezza dei
dati sensibili se non esistono puntatori fisici ma l'accesso avviene interamente tramite query
dichiarative?
Domanda 75
Parte A – Domanda base
Il modello relazionale è adatto a rappresentare strutture dati gerarchiche e ricorsive?
Parte B – Approfondimento
Quali sono i limiti intrinseci del modello relazionale quando si devono rappresentare strutture dati
gerarchiche ricorsive complesse (es. la distinta base di un prodotto o un organigramma
aziendale)? Come si affronta questo problema in SQL standard (CTE…solo cenno alla possibile
soluzione)?
Domanda 76
Parte A – Domanda base
L'algebra relazionale garantisce l'assenza di duplicati nei risultati?
Parte B – Approfondimento
Cosa garantisce che il risultato di una qualunque operazione in algebra relazionale sia privo di
tuple duplicate?
Domanda 77
Parte A – Domanda base
Cos'è il partizionamento orizzontale di una tabella e quali vantaggi offre?
Parte B – Approfondimento
Descrivi un caso in cui la frammentazione orizzontale (partizionamento delle righe di una tabella
in base a una condizione, es. anno di riferimento) migliori nettamente le performance di
cancellazione massiva dei dati storici.
Domanda 78
Parte A – Domanda base
Cosa si intende per copertura minimale di un insieme di dipendenze funzionali?
Parte B – Approfondimento
Cos'è la copertura minimale di un insieme di dipendenze funzionali e perché è un passaggio
intermedio fondamentale?
Domanda 79
Parte A – Domanda base
Un attributo che fa parte di tutte le chiavi candidate di una relazione può violare la BCNF?
Parte B – Approfondimento
Se un attributo fa parte di tutte le chiavi candidate di una relazione, qual è il suo impatto sulle
possibili violazioni della Forma Normale di Boyce-Codd? È ancora possibile avere violazioni?
Domanda 80
Parte A – Domanda base
Qual è la differenza tra una dipendenza funzionale parziale e una transitiva?
Parte B – Approfondimento
Spiega in modo preciso la differenza tra una dipendenza funzionale parziale (un attributo non
chiave dipende solo da una parte di una chiave composta) e una dipendenza funzionale
transitiva. Quale forma normale elimina ciascuna delle due?
Domanda 81
Parte A – Domanda base
La normalizzazione è una tecnica di progettazione top-down o una tecnica di verifica e
raffinamento?
Parte B – Approfondimento
Perché la normalizzazione viene definita una tecnica di verifica e raffinamento ex-post anziché
una metodologia di progettazione top-down? In che senso si differenzia dall'approccio E-R?
Domanda 82
Parte A – Domanda base
I tipi di dato scelti per gli attributi di una tabella influenzano le performance delle query SQL?
Parte B – Approfondimento
Come influisce l'uso scorretto di tipi di dati sovradimensionati (es. VARCHAR(4000) per codici
stringa corti e fissi) sulle performance di indicizzazione e ordinamento delle query SQL?
Domande generiche – avanzate
Domanda 83
Parte A – Domanda base
Qual è la differenza tra WHERE e HAVING e perché non si possono usare funzioni aggregate
nella clausola WHERE?
Parte B – Approfondimento
Scenario di errore: Un programmatore scrive la query — SELECT IDDipartimento,
COUNT(IDImpiegato) FROM Impiegati WHERE COUNT(IDImpiegato) > 10 GROUP BY
IDDipartimento — spiega dettagliatamente l'errore commesso e riscrivi la query in modo corretto.
Domanda 84
Parte A – Domanda base
Come si modellano le entità e le associazioni per tracciare la posizione di un pacco durante una
spedizione?
Parte B – Approfondimento
Un'azienda di logistica traccia le spedizioni. Ogni Spedizione ha un mittente, un destinatario e
una serie di Tappe intermedie. Ogni tappa coinvolge un Hub logistico e un MezzoDiTrasporto.
Descrivi le entità e le associazioni (comprese eventuali associazioni n-arie o entità deboli)
necessarie per evitare ridondanze sulla posizione corrente del pacco.
Domanda 85
Parte A – Domanda base
Come si identificano le chiavi candidate di una relazione a partire dalle sue dipendenze
funzionali?
Parte B – Approfondimento
Analisi delle dipendenze: Data una relazione R(A, B, C, D, E) con dipendenze funzionali AB →
C, C → D, D → E, trova tutte le chiavi candidate di R. In quale forma normale si trova la
relazione? Giustifica la risposta.
Domanda 86
Parte A – Domanda base
Dato uno schema logico relazionale, è possibile ricostruire lo schema E-R di partenza?
Parte B – Approfondimento
Supponi di ricevere lo schema logico con tabelle
Autori (IDAutore, Nome) e
Libri (IDLibro, Titolo, RifAutore*) dove RifAutore è una Foreign Key opzionale verso Autori.
Ricostruisci lo schema E-R di partenza, specificando entità, associazioni e cardinalità minime e
massime.
Domanda 87
Parte A – Domanda base
Come si scrive una query SQL per trovare eventi recenti di utenti tornati dopo una lunga
inattività?
Parte B – Approfondimento
Hai una tabella
AccessiSito (IDUtente, DataOra).
Scrivi una query per trovare gli utenti che hanno effettuato un accesso oggi, ma che non
effettuavano accessi da almeno 30 giorni prima di oggi.
Domanda 88
Parte A – Domanda base (vista in lab????)
Come si gestisce la storicizzazione dei dati in un database relazionale?
Parte B – Approfondimento
Esamina i vantaggi e gli svantaggi di gestire la storicizzazione dei dati (es. traccia dei cambi di
stipendio storici di un impiegato) all'interno dello stesso schema normalizzato rispetto alla
creazione di tabelle di log separate.
Domanda 89
Parte A – Domanda base
Come si gestiscono i vincoli di chiave esterna incrociati tra due tabelle interdipendenti (es.
Dipartimento e Direttore)?
Parte B – Approfondimento
Scenario di integrità referenziale circolare: Supponi di avere Dipartimento e Impiegato, dove un
dipartimento ha molti impiegati ma anche un impiegato che funge da Direttore. Come si gestisce
la creazione delle tabelle e l'inserimento dei primi record per evitare blocchi causati dai vincoli di
chiave esterna incrociati?
Domanda 90
Parte A – Domanda base
Cos'è la Forma Normale di Boyce-Codd (BCNF) e in quali casi una relazione la viola?
Parte B – Approfondimento
Data la relazione
R (Studente, Materia, Docente) con dipendenze
Docente → Materia e {Studente, Materia} → Docente,
identifica la chiave, spiega perché R viola la BCNF e mostra la scomposizione. Qual è il
problema principale legato alla preservazione delle dipendenze in questo scenario classico?
Domanda 91
Parte A – Domanda base
Secondo te è corretto memorizzare dati non strutturati all'interno di una colonna di una tabella
relazionale?
Parte B – Approfondimento
Un cliente insiste per inserire un intero documento JSON non strutturato in un unico campo di
una tabella relazionale, sostenendo che renderà lo sviluppo più rapido. Quali domande critiche e
considerazioni architetturali (atomicità, indici, vincoli, normalizzazione) dovresti porre per
guidarlo verso la scelta ottimale?