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 WHERE country IN ('NL', 'BE', 'DE')?

  1. AMantiene le righe in cui country non è nell'elenco
  2. BMantiene le righe in cui country contiene contemporaneamente tutti e tre i codici
  3. CMantiene le righe in cui country è uguale a uno qualsiasi dei valori dell'elenco
  4. DOrdina le righe nell'ordine dell'elenco
2.Facile

Istruzioni come CREATE, ALTER e DROP appartengono a quale parte di SQL?

  1. AData Definition Language (DDL)
  2. BData Manipulation Language (DML)
  3. CData Control Language (DCL)
  4. DTransaction Control Language (TCL)
3.Facile

Che cos'è una chiave candidata?

  1. AQualsiasi colonna che contiene valori NULL
  2. BUna colonna in attesa di diventare una chiave esterna
  3. CUn insieme minimo di colonne che identifica in modo univoco ogni riga
  4. DUn insieme di colonne condiviso tra due tabelle per collegarne le righe
4.Media

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

  1. ACon un elenco di id dei corsi memorizzato in una sola colonna
  2. BCon una tabella di associazione che contiene chiavi esterne verso studenti e corsi
  3. CFondendo studenti e corsi in un'unica tabella
  4. DCon una colonna di chiave esterna course_id nella tabella degli studenti che punta a courses
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. BGli indici clusterizzati possono essere definiti solo sulla chiave primaria
  3. CLe righe possono essere memorizzate fisicamente in un solo ordine
  4. DGli indici clusterizzati usano troppa memoria
6.Media

La prima forma normale (1NF) richiede che:

  1. AOgni colonna contenga valori atomici e non ci siano gruppi ripetuti
  2. BOgni tabella abbia esattamente una colonna
  3. COgni colonna non chiave dipende dall'intera chiave e da nient'altro che dalla chiave
  4. DNon ci siano chiavi esterne
7.Difficile

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

  1. ACOUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
  2. BCOUNT(*) ignora le righe con valori NULL
  3. CCOUNT(*) non è ammesso dopo un join
  4. DCOUNT(o.id) conta solo i clienti distinti
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. Cname non è né raggruppato né aggregato, quindi non ha un unico valore per gruppo
  4. DGROUP BY deve elencare tutte le colonne della tabella

Soluzioni

  1. 1. C · Mantiene le righe in cui country è uguale a uno qualsiasi dei valori dell'elenco
  2. 2. A · Data Definition Language (DDL)
  3. 3. C · Un insieme minimo di colonne che identifica in modo univoco ogni riga
  4. 4. B · Con una tabella di associazione che contiene chiavi esterne verso studenti e corsi
  5. 5. C · Le righe possono essere memorizzate fisicamente in un solo ordine
  6. 6. A · Ogni colonna contenga valori atomici e non ci siano gruppi ripetuti
  7. 7. A · COUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
  8. 8. C · 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.