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 un vincolo CHECK?

  1. AVerifica la password dell'utente
  2. BRifiuta le righe i cui valori non soddisfano una condizione
  3. CVerifica se una tabella esiste prima di eseguire una query su di essa
  4. DConta le righe di una tabella
2.Facile

Quale funzione di aggregazione conta le righe?

  1. ASUM
  2. BAVG
  3. CCOUNT
  4. DMAX
3.Facile

Che cosa rappresenta NULL in SQL?

  1. AUna stringa vuota
  2. BIl numero zero nelle colonne numeriche
  3. CUn booleano falso
  4. DUn valore mancante o sconosciuto
4.Media

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

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

Gli studenti possono seguire molti corsi e i corsi hanno molti studenti. Come si modella questa situazione con le tabelle?

  1. AFondendo studenti e corsi in un'unica tabella
  2. BCon una tabella di associazione che contiene chiavi esterne verso studenti e corsi
  3. CCon un elenco di id dei corsi memorizzato in una sola colonna
  4. DCon una colonna di chiave esterna course_id nella tabella degli studenti che punta a courses
6.Media

Una tabella memorizza l'indirizzo del cliente in ogni riga d'ordine. Modificare l'indirizzo in una riga ma non nelle altre è un esempio di:

  1. AAnomalia di aggiornamento
  2. BLettura fantasma
  3. CAnomalia di cancellazione
  4. DAnomalia di inserimento
7.Difficile

La query FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' esclude inaspettatamente i clienti senza ordini. Perché?

  1. AIl join dovrebbe usare USING invece di ON
  2. BLEFT JOIN non mantiene mai le righe senza corrispondenza
  3. CLa condizione WHERE su o scarta le righe riempite di NULL, trasformandolo in un inner join
  4. Dstatus è una parola riservata
8.Difficile

Quando uno schedule di transazioni concorrenti si dice serializzabile?

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

Soluzioni

  1. 1. B · Rifiuta le righe i cui valori non soddisfano una condizione
  2. 2. C · COUNT
  3. 3. D · Un valore mancante o sconosciuto
  4. 4. B · Le righe possono essere memorizzate fisicamente in un solo ordine
  5. 5. B · Con una tabella di associazione che contiene chiavi esterne verso studenti e corsi
  6. 6. A · Anomalia di aggiornamento
  7. 7. C · La condizione WHERE su o scarta le righe riempite di NULL, trasformandolo in un inner join
  8. 8. C · Quando il suo effetto equivale a una qualche esecuzione seriale delle stesse transazioni

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