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. AChe la colonna non possa essere modificata dopo l'inserimento
  2. BChe due righe non abbiano lo stesso valore non NULL in quella colonna
  3. CChe i valori della colonna siano ordinati
  4. DLa colonna diventa automaticamente la chiave primaria della tabella
2.Facile

Quale vincolo garantisce che una colonna non possa mai essere lasciata vuota (NULL)?

  1. ANOT NULL
  2. BCHECK NULL
  3. CUNIQUE
  4. DDEFAULT
3.Facile

Quale istruzione aggiunge una nuova colonna a una tabella esistente?

  1. ACREATE COLUMN
  2. BUPDATE TABLE
  3. CINSERT COLUMN
  4. DALTER TABLE
4.Media

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

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

Che cosa fa ROLLBACK TO SAVEPOINT s1?

  1. AAnnulla l'intera transazione dall'inizio
  2. BAnnulla le modifiche fatte dopo il savepoint s1, mantenendo aperta la transazione
  3. CConclude la transazione e conferma tutto
  4. DElimina il savepoint e tutte le tabelle modificate da allora
6.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 NOT NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS 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
7.Difficile

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

  1. ALa lettura di dati mai scritti
  2. BUna query ripetuta restituisce nuove righe inserite da un'altra transazione confermata
  3. CUna query che non restituisce righe
  4. DLa lettura di modifiche non confermate
8.Difficile

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

  1. AL'importo medio per giorno
  2. BUna riga per giorno con il solo totale di quel giorno
  3. CIl totale di tutti gli importi su ogni riga
  4. DUn totale progressivo di amount ordinato per giorno

Soluzioni

  1. 1. B · Che due righe non abbiano lo stesso valore non NULL in quella colonna
  2. 2. A · NOT NULL
  3. 3. D · ALTER TABLE
  4. 4. A · Ogni nome con l'etichetta 'pass' o 'fail' a seconda del voto
  5. 5. B · Annulla le modifiche fatte dopo il savepoint s1, mantenendo aperta la transazione
  6. 6. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. B · Una query ripetuta restituisce nuove righe inserite da un'altra transazione confermata
  8. 8. D · Un totale progressivo di amount ordinato per giorno

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