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. ABlocca l'intero database
  2. BAnnulla tutte le modifiche fatte dall'inizio della transazione
  3. CRende permanenti tutte le modifiche della transazione
  4. DCrea una nuova tabella
2.Facile

In PostgreSQL e MySQL, quale clausola restituisce solo le prime 10 righe di un risultato?

  1. ALIMIT 10
  2. BMAX 10
  3. CTOP ROWS 10
  4. DFIRST 10 ONLY
3.Facile

Che cosa fa un vincolo CHECK?

  1. ARifiuta le righe i cui valori non soddisfano una condizione
  2. BConta le righe di una tabella
  3. CVerifica la password dell'utente
  4. DVerifica se una tabella esiste prima di eseguire una query su di essa
4.Media

Che cosa restituisce SELECT name, CASE WHEN grade >= 5,5 THEN 'pass' ELSE 'fail' END FROM results?

  1. ASolo gli studenti promossi
  2. BUn errore, perché CASE non è ammesso nella SELECT
  3. COgni nome con l'etichetta 'pass' o 'fail' a seconda del voto
  4. DIl numero di studenti promossi e bocciati
5.Media

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

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

Che cos'è un trigger di database?

  1. ACodice eseguito automaticamente quando su una tabella si verifica un evento specificato, come INSERT, UPDATE o DELETE
  2. BUn tipo di indice che velocizza le ricerche
  3. CUna query che un utente esegue a mano
  4. DUn backup programmato del database
7.Difficile

Una tabella ha un milione di righe e una colonna booleana is_active che è TRUE per il 95% di esse. Perché l'ottimizzatore potrebbe ignorare un indice su is_active per WHERE is_active = TRUE?

  1. AL'indice tratta TRUE come NULL
  2. BNon si possono creare indici su colonne booleane
  3. CL'ottimizzatore non usa mai gli indici nelle clausole WHERE
  4. DLa maggior parte delle righe corrisponde, quindi una scansione completa della tabella costa meno di molte ricerche nell'indice
8.Difficile

Quale funzionalità SQL è più adatta a trovare tutti i dipendenti sotto un responsabile in un organigramma di profondità sconosciuta?

  1. AUn GROUP BY su manager_id
  2. BUn vincolo UNIQUE su manager_id
  3. CUna common table expression ricorsiva (WITH RECURSIVE)
  4. DUn singolo self-join della tabella employees su manager_id

Soluzioni

  1. 1. C · Rende permanenti tutte le modifiche della transazione
  2. 2. A · LIMIT 10
  3. 3. A · Rifiuta le righe i cui valori non soddisfano una condizione
  4. 4. C · Ogni nome con l'etichetta 'pass' o 'fail' a seconda del voto
  5. 5. B · Le righe possono essere memorizzate fisicamente in un solo ordine
  6. 6. A · Codice eseguito automaticamente quando su una tabella si verifica un evento specificato, come INSERT, UPDATE o DELETE
  7. 7. D · La maggior parte delle righe corrisponde, quindi una scansione completa della tabella costa meno di molte ricerche nell'indice
  8. 8. C · Una common table expression ricorsiva (WITH RECURSIVE)

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