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 rappresenta NULL in SQL?

  1. AIl numero zero nelle colonne numeriche
  2. BUn booleano falso
  3. CUna stringa vuota
  4. DUn valore mancante o sconosciuto
2.Facile

Quali righe seleziona WHERE price BETWEEN 10 AND 20?

  1. ALe righe con prezzo fuori dall'intervallo da 10 a 20
  2. BLe righe con prezzo da 10 a 20, compresi 10 e 20
  3. CSolo le righe con prezzo uguale a 10 o a 20
  4. DLe righe con prezzo maggiore di 10 e minore di 20, escludendo 10 e 20
3.Facile

Una chiave esterna (foreign key) è:

  1. AUna chiave sempre cifrata
  2. BUna colonna i cui valori devono essere univoci in tutte le righe della tabella
  3. CUna colonna che fa riferimento alla chiave primaria di un'altra tabella
  4. DUna chiave usata da utenti stranieri
4.Media

Quale query elenca i clienti che non hanno mai effettuato un ordine?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  4. DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
5.Media

Un LEFT JOIN restituisce:

  1. ASolo le righe corrispondenti di entrambe le tabelle
  2. BTutte le righe della tabella di sinistra e le righe corrispondenti di quella di destra, con NULL dove non c'è corrispondenza
  3. CLe righe che non corrispondono in nessuna delle due tabelle
  4. DSolo tutte le righe della tabella di destra
6.Media

Che cos'è una lettura sporca (dirty read)?

  1. ALa lettura di dati da un disco danneggiato
  2. BLa lettura di dati senza una clausola WHERE
  3. CLa lettura di dati scritti da un'altra transazione non ancora confermata
  4. DLa lettura della stessa riga due volte ottenendo lo stesso valore
7.Difficile

Che cos'è una lettura fantasma (phantom read)?

  1. AUna query ripetuta restituisce nuove righe inserite da un'altra transazione confermata
  2. BLa lettura di dati mai scritti
  3. CLa lettura di modifiche non confermate
  4. DUna query che non restituisce righe
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. D · Un valore mancante o sconosciuto
  2. 2. B · Le righe con prezzo da 10 a 20, compresi 10 e 20
  3. 3. C · Una colonna che fa riferimento alla chiave primaria di un'altra tabella
  4. 4. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  5. 5. B · Tutte le righe della tabella di sinistra e le righe corrispondenti di quella di destra, con NULL dove non c'è corrispondenza
  6. 6. C · La lettura di dati scritti da un'altra transazione non ancora confermata
  7. 7. A · Una query ripetuta restituisce nuove righe inserite da un'altra transazione confermata
  8. 8. C · Controllo ottimistico della concorrenza

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