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 parola chiave assegna in una query un nome alternativo temporaneo a una colonna o a una tabella?

  1. ARENAME
  2. BALIAS
  3. CAS
  4. DNAME
2.Facile

Che cosa fa un vincolo CHECK?

  1. AVerifica la password dell'utente
  2. BVerifica se una tabella esiste prima di eseguire una query su di essa
  3. CConta le righe di una tabella
  4. DRifiuta le righe i cui valori non soddisfano una condizione
3.Facile

Quale parola chiave SQL elimina le righe duplicate da un risultato?

  1. AUNIQUE
  2. BDIFFERENT
  3. CDISTINCT
  4. DSINGLE
4.Media

Una tabella employees ha una colonna manager_id che fa riferimento a un altro dipendente. Come si elenca ogni dipendente accanto al nome del suo responsabile?

  1. ACombinare la tabella con se stessa usando UNION ALL e un filtro WHERE
  2. BCreando una seconda copia della tabella su disco
  3. CUnendo la tabella employees con se stessa usando due alias
  4. DUsando soltanto GROUP BY manager_id
5.Media

Quale query restituisce il numero di ordini per cliente?

  1. ASELECT DISTINCT COUNT(*) FROM orders
  2. BSELECT customer_id FROM orders WHERE COUNT(*) > 0
  3. CSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  4. DSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
6.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
7.Difficile

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

  1. AL'importo medio per giorno
  2. BIl totale di tutti gli importi su ogni riga
  3. CUn totale progressivo di amount ordinato per giorno
  4. DUna riga per giorno con il solo totale di quel giorno
8.Difficile

Due transazioni leggono entrambe stock = 10, ciascuna sottrae 1 e scrive il risultato, ottenendo 9 invece di 8. Di quale anomalia si tratta?

  1. ALettura fantasma
  2. BAnomalia di cancellazione
  3. CLettura sporca
  4. DAggiornamento perso (lost update)

Soluzioni

  1. 1. C · AS
  2. 2. D · Rifiuta le righe i cui valori non soddisfano una condizione
  3. 3. C · DISTINCT
  4. 4. C · Unendo la tabella employees con se stessa usando due alias
  5. 5. C · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  6. 6. C · Le righe figlie che vi fanno riferimento vengono eliminate automaticamente
  7. 7. C · Un totale progressivo di amount ordinato per giorno
  8. 8. D · Aggiornamento perso (lost update)

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