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 COMMIT in una transazione?

  1. AAnnulla tutte le modifiche fatte dall'inizio della transazione
  2. BCrea una nuova tabella
  3. CRende permanenti tutte le modifiche della transazione
  4. DBlocca l'intero database
2.Facile

Quale parola chiave assegna in una query un nome alternativo temporaneo a una colonna o a una tabella?

  1. ARENAME
  2. BNAME
  3. CALIAS
  4. DAS
3.Facile

In che cosa UNION ALL differisce da UNION?

  1. AUNION ALL rimuove le righe duplicate
  2. BUNION ALL mantiene le righe duplicate
  3. CUNION ALL funziona solo su una tabella
  4. DUNION ALL ordina il risultato
4.Media

Quale affermazione su HAVING è corretta?

  1. ANon può essere usata con GROUP BY
  2. BOrdina i risultati
  3. CDeve precedere WHERE nell'istruzione SELECT
  4. DPuò usare funzioni di aggregazione per filtrare i gruppi
5.Media

Una chiave esterna è dichiarata con ON DELETE CASCADE. Che cosa succede quando viene eliminata una riga padre?

  1. ALa chiave esterna nelle righe figlie viene impostata automaticamente a NULL
  2. BL'eliminazione viene sempre rifiutata
  3. CLe righe figlie che vi fanno riferimento vengono eliminate automaticamente
  4. DLa riga padre viene copiata in una tabella di archivio
6.Media

Quale query restituisce il numero di ordini per cliente?

  1. ASELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
  2. BSELECT DISTINCT COUNT(*) FROM orders
  3. CSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  4. DSELECT customer_id FROM orders WHERE COUNT(*) > 0
7.Difficile

La tabella enrolment(student_id, course_id, student_name, grade) ha la chiave (student_id, course_id). Quale forma normale viola?

  1. ALa prima forma normale, perché la colonna grade non contiene valori atomici
  2. BNessuna, è in BCNF
  3. CSolo la terza forma normale, perché grade dipende da student_name
  4. DLa seconda forma normale, perché student_name dipende solo da student_id
8.Difficile

Che cosa calcola SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales?

  1. AUn totale progressivo di amount ordinato per giorno
  2. BIl totale di tutti gli importi su ogni riga
  3. CUna riga per giorno con il solo totale di quel giorno
  4. DL'importo medio per giorno

Soluzioni

  1. 1. C · Rende permanenti tutte le modifiche della transazione
  2. 2. D · AS
  3. 3. B · UNION ALL mantiene le righe duplicate
  4. 4. D · Può usare funzioni di aggregazione per filtrare i gruppi
  5. 5. C · Le righe figlie che vi fanno riferimento vengono eliminate automaticamente
  6. 6. C · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  7. 7. D · La seconda forma normale, perché student_name dipende solo da student_id
  8. 8. A · Un totale progressivo di amount ordinato per giorno

Soluzioni complete passo passo: esercitati su questo argomento su examproblems.com.