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

Quale clausola filtra le righe prima del raggruppamento?

  1. AWHERE
  2. BORDER BY
  3. CGROUP BY
  4. DHAVING
2.Facile

A che cosa serve un diagramma entità-relazione (ER)?

  1. AA modellare entità, attributi e relazioni durante la progettazione di un database
  2. BAd elencare gli utenti di un database
  3. CA misurare le prestazioni del database
  4. DA mostrare come viene eseguita una query
3.Facile

Che cosa fa COMMIT in una transazione?

  1. ARende permanenti tutte le modifiche della transazione
  2. BBlocca l'intero database
  3. CCrea una nuova tabella
  4. DAnnulla tutte le modifiche fatte dall'inizio della transazione
4.Media

Quale proprietà ACID fa sì che le transazioni concorrenti non vedano le modifiche non ancora completate delle altre?

  1. ADisponibilità
  2. BAtomicità
  3. CIsolamento
  4. DDurabilità
5.Media

Perché SELECT price * 2 AS double_price FROM t WHERE double_price > 10 fallisce nella maggior parte dei database?

  1. AWHERE può confrontare solo colonne di testo
  2. BWHERE viene valutata prima dell'elenco della SELECT, quindi l'alias non esiste ancora
  3. CGli alias non possono contenere un trattino basso
  4. DL'aritmetica non è ammessa nell'elenco della SELECT
6.Media

Che cosa restituisce SELECT SUM(amount) FROM orders quando la clausola WHERE non corrisponde ad alcuna riga?

  1. AUn errore
  2. BUna stringa vuota
  3. C0
  4. DNULL
7.Difficile

Perché SELECT dept, name, COUNT(*) FROM emp GROUP BY dept non è valida nello standard SQL?

  1. AGROUP BY deve elencare tutte le colonne della tabella
  2. Bdept deve comparire dentro una funzione di aggregazione
  3. CCOUNT(*) non si può usare insieme a GROUP BY
  4. Dname non è né raggruppato né aggregato, quindi non ha un unico valore per gruppo
8.Difficile

Che cosa restituisce SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp?

  1. AOgni riga di dipendente insieme allo stipendio medio del suo reparto
  2. BUna riga per reparto con il suo stipendio medio
  3. CSolo i dipendenti che guadagnano più della media del loro reparto
  4. DUn errore, perché name non è in un GROUP BY

Soluzioni

  1. 1. A · WHERE
  2. 2. A · A modellare entità, attributi e relazioni durante la progettazione di un database
  3. 3. A · Rende permanenti tutte le modifiche della transazione
  4. 4. C · Isolamento
  5. 5. B · WHERE viene valutata prima dell'elenco della SELECT, quindi l'alias non esiste ancora
  6. 6. D · NULL
  7. 7. D · name non è né raggruppato né aggregato, quindi non ha un unico valore per gruppo
  8. 8. A · Ogni riga di dipendente insieme allo stipendio medio del suo reparto

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