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 garantisce un vincolo UNIQUE su una colonna?

  1. ALa colonna diventa automaticamente la chiave primaria della tabella
  2. BChe due righe non abbiano lo stesso valore non NULL in quella colonna
  3. CChe i valori della colonna siano ordinati
  4. DChe la colonna non possa essere modificata dopo l'inserimento
2.Facile

In un modello LIKE, che cosa rappresenta il carattere jolly %?

  1. AUna qualsiasi cifra singola
  2. BLa fine della stringa
  3. CEsattamente un carattere in quella posizione della stringa
  4. DQualsiasi sequenza di zero o più caratteri
3.Facile

Che cosa restituisce un CROSS JOIN?

  1. ASolo le righe che corrispondono su una colonna chiave condivisa
  2. BSolo le righe della prima tabella
  3. CSolo le righe che non corrispondono
  4. DOgni combinazione di righe delle due tabelle
4.Media

Che cos'è la SQL injection?

  1. AUna tecnica di backup del database
  2. BUn modo per aggiungere indici
  3. CUna tecnica per inserire rapidamente molte righe con una sola istruzione INSERT
  4. DUn attacco in cui l'input dell'utente modifica la struttura di una query SQL
5.Media

Quale query restituisce il numero di città diverse nella tabella customers?

  1. ASELECT DISTINCT COUNT(city) FROM customers
  2. BSELECT COUNT(city) FROM customers GROUP BY city
  3. CSELECT COUNT(DISTINCT city) FROM customers
  4. DSELECT SUM(DISTINCT city) FROM customers
6.Media

Un LEFT JOIN restituisce:

  1. ATutte le righe della tabella di sinistra e le righe corrispondenti di quella di destra, con NULL dove non c'è corrispondenza
  2. BLe righe che non corrispondono in nessuna delle due tabelle
  3. CSolo le righe corrispondenti di entrambe le tabelle
  4. DSolo tutte le righe della tabella di destra
7.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. AAggiornamento perso (lost update)
  2. BLettura sporca
  3. CLettura fantasma
  4. DAnomalia di cancellazione
8.Difficile

Che cosa richiede la regola del write-ahead logging (WAL)?

  1. AOgni query deve essere registrata prima di essere analizzata
  2. BIl record di log di una modifica deve raggiungere la memoria stabile prima della pagina di dati modificata
  3. CIl log viene scritto solo dopo un crash
  4. DLe pagine di dati devono essere scritte prima del log

Soluzioni

  1. 1. B · Che due righe non abbiano lo stesso valore non NULL in quella colonna
  2. 2. D · Qualsiasi sequenza di zero o più caratteri
  3. 3. D · Ogni combinazione di righe delle due tabelle
  4. 4. D · Un attacco in cui l'input dell'utente modifica la struttura di una query SQL
  5. 5. C · SELECT COUNT(DISTINCT city) FROM customers
  6. 6. A · Tutte le righe della tabella di sinistra e le righe corrispondenti di quella di destra, con NULL dove non c'è corrispondenza
  7. 7. A · Aggiornamento perso (lost update)
  8. 8. B · Il record di log di una modifica deve raggiungere la memoria stabile prima della pagina di dati modificata

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