Scheda di esercizi di Basi di dati e SQL con soluzioni
Scheda di esercizi di Basi di dati e SQL gratuita e stampabile: 8 esercizi dal livello facile a quello d’esame, con le soluzioni. Stampala o salvala come PDF.
Per i docenti: gratuita da stampare, copiare e usare in classe. Ogni nuova scheda ha nuovi valori e le sue soluzioni. Un link a ExamProblems nella pagina del corso è molto apprezzato.
Nome: ____________________ Data: ____________
1.Facile
Che cosa fa WHERE country IN ('NL', 'BE', 'DE')?
- AMantiene le righe in cui country è uguale a uno qualsiasi dei valori dell'elenco
- BMantiene le righe in cui country non è nell'elenco
- CMantiene le righe in cui country contiene contemporaneamente tutti e tre i codici
- DOrdina le righe nell'ordine dell'elenco
2.Facile
In che cosa UNION ALL differisce da UNION?
- AUNION ALL ordina il risultato
- BUNION ALL rimuove le righe duplicate
- CUNION ALL mantiene le righe duplicate
- DUNION ALL funziona solo su una tabella
3.Facile
Quale clausola filtra le righe prima del raggruppamento?
- AORDER BY
- BGROUP BY
- CWHERE
- DHAVING
4.Media
Quale query restituisce il numero di ordini per cliente?
- ASELECT DISTINCT COUNT(*) FROM orders
- BSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
- CSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- DSELECT customer_id FROM orders WHERE COUNT(*) > 0
5.Media
Che cosa restituisce SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results?
- AIl numero di studenti promossi e bocciati
- BOgni nome con l'etichetta 'pass' o 'fail' a seconda del voto
- CUn errore, perché CASE non è ammesso nella SELECT
- DSolo gli studenti promossi
6.Media
Quale query restituisce lo stipendio più alto di ogni reparto?
- ASELECT dept, MAX(salary) FROM emp ORDER BY dept
- BSELECT dept, salary FROM emp WHERE salary = MAX(salary)
- CSELECT MAX(dept), salary FROM emp GROUP BY salary
- DSELECT dept, MAX(salary) FROM emp GROUP BY dept
7.Difficile
La tabella enrolment(student_id, course_id, student_name, grade) ha la chiave (student_id, course_id). Quale forma normale viola?
- ALa seconda forma normale, perché student_name dipende solo da student_id
- BNessuna, è in BCNF
- CSolo la terza forma normale, perché grade dipende da student_name
- DLa prima forma normale, perché la colonna grade non contiene valori atomici
8.Difficile
Un'applicazione esegue UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7 e segnala un conflitto se nessuna riga è stata aggiornata. Di quale tecnica si tratta?
- AControllo ottimistico della concorrenza
- BLocking rigoroso a due fasi con lock a livello di riga
- CSharding del database
- DWrite-ahead logging