1.Facile
Che cosa garantisce un vincolo UNIQUE su una colonna?
- AChe la colonna non possa essere modificata dopo l'inserimento
- BChe i valori della colonna siano ordinati
- CChe due righe non abbiano lo stesso valore non NULL in quella colonna
- DLa colonna diventa automaticamente la chiave primaria della tabella
2.Facile
Che cosa fa WHERE country IN ('NL', 'BE', 'DE')?
- AOrdina le righe nell'ordine dell'elenco
- BMantiene le righe in cui country non è nell'elenco
- CMantiene le righe in cui country contiene contemporaneamente tutti e tre i codici
- DMantiene le righe in cui country è uguale a uno qualsiasi dei valori dell'elenco
3.Facile
Che cos'è una chiave surrogata?
- AUna chiave ricavata da dati reali, come un indirizzo email
- BUn identificatore artificiale senza significato di business, come un id auto-incrementale
- CUna chiave che fa riferimento a un'altra tabella
- DUna chiave usata solo nelle viste
4.Media
Quale query restituisce il numero di ordini per cliente?
- ASELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- BSELECT DISTINCT COUNT(*) FROM orders
- CSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
- DSELECT customer_id FROM orders WHERE COUNT(*) > 0
5.Media
La tabella a ha 3 righe e la tabella b ne ha 4. Quante righe restituisce SELECT * FROM a CROSS JOIN b?
- A12
- B3
- C7
- D4
6.Media
Perché una tabella può avere un solo indice clusterizzato (clustered index)?
- AGli indici clusterizzati possono essere definiti solo sulla chiave primaria
- BGli indici clusterizzati usano troppa memoria
- CLe righe possono essere memorizzate fisicamente in un solo ordine
- DLo standard SQL vieta più di un indice per tabella
7.Difficile
Dopo customers LEFT JOIN orders, perché usare COUNT(o.id) invece di COUNT(*) per contare gli ordini per cliente?
- ACOUNT(*) non è ammesso dopo un join
- BCOUNT(o.id) conta solo i clienti distinti
- CCOUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
- DCOUNT(*) ignora le righe con valori NULL
8.Difficile
Qual è un noto svantaggio della decomposizione delle tabelle in BCNF rispetto alla 3NF?
- AAlcune dipendenze funzionali potrebbero non essere più verificabili all'interno di una sola tabella
- BLe tabelle in BCNF non possono avere chiavi primarie
- CLa BCNF ammette più ridondanza della 3NF
- DLa decomposizione perde sempre dati quando si ricompone con un join
Soluzioni
- 1. C · Che due righe non abbiano lo stesso valore non NULL in quella colonna
- 2. D · Mantiene le righe in cui country è uguale a uno qualsiasi dei valori dell'elenco
- 3. B · Un identificatore artificiale senza significato di business, come un id auto-incrementale
- 4. A · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 5. A · 12
- 6. C · Le righe possono essere memorizzate fisicamente in un solo ordine
- 7. C · COUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
- 8. A · Alcune dipendenze funzionali potrebbero non essere più verificabili all'interno di una sola tabella
Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.