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

In che cosa UNION ALL differisce da UNION?

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

Istruzioni come CREATE, ALTER e DROP appartengono a quale parte di SQL?

  1. AData Control Language (DCL)
  2. BData Manipulation Language (DML)
  3. CData Definition Language (DDL)
  4. DTransaction Control Language (TCL)
3.Facile

Che cosa fa COMMIT in una transazione?

  1. AAnnulla tutte le modifiche fatte dall'inizio della transazione
  2. BCrea una nuova tabella
  3. CBlocca l'intero database
  4. DRende permanenti tutte le modifiche della transazione
4.Media

La seconda forma normale (2NF) elimina:

  1. ALe dipendenze transitive tra colonne non chiave attraverso un'altra colonna non chiave
  2. BLe dipendenze parziali delle colonne non chiave da una parte di una chiave composta
  3. CLe chiavi esterne
  4. DTutti i valori NULL
5.Media

Perché una tabella può avere un solo indice clusterizzato (clustered index)?

  1. AGli indici clusterizzati usano troppa memoria
  2. BLo standard SQL vieta più di un indice per tabella
  3. CLe righe possono essere memorizzate fisicamente in un solo ordine
  4. DGli indici clusterizzati possono essere definiti solo sulla chiave primaria
6.Media

La prima forma normale (1NF) richiede che:

  1. AOgni colonna non chiave dipende dall'intera chiave e da nient'altro che dalla chiave
  2. BOgni tabella abbia esattamente una colonna
  3. CNon ci siano chiavi esterne
  4. DOgni colonna contenga valori atomici e non ci siano gruppi ripetuti
7.Difficile

La query FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' esclude inaspettatamente i clienti senza ordini. Perché?

  1. AIl join dovrebbe usare USING invece di ON
  2. Bstatus è una parola riservata
  3. CLEFT JOIN non mantiene mai le righe senza corrispondenza
  4. DLa condizione WHERE su o scarta le righe riempite di NULL, trasformandolo in un inner join
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?

  1. AWrite-ahead logging
  2. BSharding del database
  3. CControllo ottimistico della concorrenza
  4. DLocking rigoroso a due fasi con lock a livello di riga

Soluzioni

  1. 1. A · UNION ALL mantiene le righe duplicate
  2. 2. C · Data Definition Language (DDL)
  3. 3. D · Rende permanenti tutte le modifiche della transazione
  4. 4. B · Le dipendenze parziali delle colonne non chiave da una parte di una chiave composta
  5. 5. C · Le righe possono essere memorizzate fisicamente in un solo ordine
  6. 6. D · Ogni colonna contenga valori atomici e non ci siano gruppi ripetuti
  7. 7. D · La condizione WHERE su o scarta le righe riempite di NULL, trasformandolo in un inner join
  8. 8. C · Controllo ottimistico della concorrenza

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