Il 0% ha trovato utile questo documento (0 voti)
4 visualizzazioni16 pagine

Domande Informatica

Il documento contiene una serie di domande relative al Modello Entità-Relazione (E-R), alla traduzione in modelli logici relazionali, all'algebra relazionale e a SQL. Ogni domanda è suddivisa in una parte base e una parte di approfondimento, affrontando concetti chiave come gerarchie, cardinalità, vincoli di integrità e operazioni SQL. L'obiettivo è fornire una comprensione approfondita delle strutture e delle pratiche di progettazione dei database.
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
4 visualizzazioni16 pagine

Domande Informatica

Il documento contiene una serie di domande relative al Modello Entità-Relazione (E-R), alla traduzione in modelli logici relazionali, all'algebra relazionale e a SQL. Ogni domanda è suddivisa in una parte base e una parte di approfondimento, affrontando concetti chiave come gerarchie, cardinalità, vincoli di integrità e operazioni SQL. L'obiettivo è fornire una comprensione approfondita delle strutture e delle pratiche di progettazione dei database.
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

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?

Potrebbero piacerti anche