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

Quale istruzione SQL modifica i valori di righe già esistenti?

  1. AUPDATE
  2. BMODIFY
  3. CINSERT
  4. DREPLACE COLUMN
2.Facile

Quale istruzione elimina un'intera tabella, compresa la sua struttura?

  1. ADROP TABLE
  2. BREMOVE TABLE
  3. CTRUNCATE ROWS
  4. DDELETE FROM
3.Facile

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

  1. ACHECK NULL
  2. BDEFAULT
  3. CNOT NULL
  4. DUNIQUE
4.Media

Quale query restituisce lo stipendio più alto di ogni reparto?

  1. ASELECT dept, MAX(salary) FROM emp ORDER BY dept
  2. BSELECT MAX(dept), salary FROM emp GROUP BY salary
  3. CSELECT dept, MAX(salary) FROM emp GROUP BY dept
  4. DSELECT dept, salary FROM emp WHERE salary = MAX(salary)
5.Media

Che cosa fa ROLLBACK TO SAVEPOINT s1?

  1. AAnnulla le modifiche fatte dopo il savepoint s1, mantenendo aperta la transazione
  2. BElimina il savepoint e tutte le tabelle modificate da allora
  3. CAnnulla l'intera transazione dall'inizio
  4. DConclude la transazione e conferma tutto
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. BUna query che un utente esegue a mano
  3. CUn tipo di indice che velocizza le ricerche
  4. DUn backup programmato del database
7.Difficile

Dopo customers LEFT JOIN orders, perché usare COUNT(o.id) invece di COUNT(*) per contare gli ordini per cliente?

  1. ACOUNT(*) ignora le righe con valori NULL
  2. BCOUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
  3. CCOUNT(o.id) conta solo i clienti distinti
  4. DCOUNT(*) non è ammesso dopo un join
8.Difficile

Quando uno schedule di transazioni concorrenti si dice serializzabile?

  1. AQuando il suo effetto equivale a una qualche esecuzione seriale delle stesse transazioni
  2. BQuando le transazioni vengono eseguite su una sola CPU
  3. CQuando a ogni transazione viene assegnato un numero di serie
  4. DQuando nessuna transazione legge mai dati

Soluzioni

  1. 1. A · UPDATE
  2. 2. A · DROP TABLE
  3. 3. C · NOT NULL
  4. 4. C · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  5. 5. A · Annulla le modifiche fatte dopo il savepoint s1, mantenendo aperta la transazione
  6. 6. A · Codice eseguito automaticamente quando su una tabella si verifica un evento specificato, come INSERT, UPDATE o DELETE
  7. 7. B · COUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
  8. 8. A · Quando il suo effetto equivale a una qualche esecuzione seriale delle stesse transazioni

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