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

Quale istruzione aggiunge una nuova colonna a una tabella esistente?

  1. ACREATE COLUMN
  2. BUPDATE TABLE
  3. CALTER TABLE
  4. DINSERT COLUMN
3.Facile

Che cosa fa ROLLBACK in una transazione?

  1. AElimina la tabella
  2. BAnnulla le modifiche fatte dall'inizio della transazione
  3. CSalva in modo permanente su disco tutte le modifiche della transazione
  4. DRipete l'ultima istruzione
4.Media

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

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

La tabella a ha 3 righe e la tabella b ne ha 4. Quante righe restituisce SELECT * FROM a CROSS JOIN b?

  1. A7
  2. B12
  3. C3
  4. D4
7.Difficile

x è NULL e y = 1. Qual è il valore della condizione (x > 5 OR y = 1)?

  1. AUNKNOWN
  2. BFALSE
  3. CNULL, quindi la riga viene sempre scartata
  4. DTRUE
8.Difficile

Perché SELECT dept, name, COUNT(*) FROM emp GROUP BY dept non è valida nello standard SQL?

  1. Adept deve comparire dentro una funzione di aggregazione
  2. BCOUNT(*) non si può usare insieme a GROUP BY
  3. CGROUP BY deve elencare tutte le colonne della tabella
  4. Dname non è né raggruppato né aggregato, quindi non ha un unico valore per gruppo

Soluzioni

  1. 1. C · Rende permanenti tutte le modifiche della transazione
  2. 2. C · ALTER TABLE
  3. 3. B · Annulla le modifiche fatte dall'inizio della transazione
  4. 4. D · La lettura di dati scritti da un'altra transazione non ancora confermata
  5. 5. B · Le righe possono essere memorizzate fisicamente in un solo ordine
  6. 6. B · 12
  7. 7. D · TRUE
  8. 8. D · name non è né raggruppato né aggregato, quindi non ha un unico valore per gruppo

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