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 GROUP BY in una query?

  1. ARaggruppa le righe con gli stessi valori, così che gli aggregati vengano calcolati per gruppo
  2. BRimuove le righe con valori NULL
  3. CUnisce due tabelle sulle colonne comuni
  4. DOrdina alfabeticamente le righe del risultato
2.Facile

Che cos'è una chiave candidata?

  1. AUn insieme minimo di colonne che identifica in modo univoco ogni riga
  2. BUn insieme di colonne condiviso tra due tabelle per collegarne le righe
  3. CQualsiasi colonna che contiene valori NULL
  4. DUna colonna in attesa di diventare una chiave esterna
3.Facile

Che cosa garantisce un vincolo UNIQUE su una colonna?

  1. AChe due righe non abbiano lo stesso valore non NULL in quella colonna
  2. BChe i valori della colonna siano ordinati
  3. CLa colonna diventa automaticamente la chiave primaria della tabella
  4. DChe la colonna non possa essere modificata dopo l'inserimento
4.Media

Quale query restituisce il numero di città diverse nella tabella customers?

  1. ASELECT COUNT(city) FROM customers GROUP BY city
  2. BSELECT SUM(DISTINCT city) FROM customers
  3. CSELECT DISTINCT COUNT(city) FROM customers
  4. DSELECT COUNT(DISTINCT city) FROM customers
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 possono essere definiti solo sulla chiave primaria
  4. DGli indici clusterizzati usano troppa memoria
6.Media

Una tabella ha righe in cui col è NULL. Quali righe restituisce WHERE col = NULL?

  1. ATutte le righe della tabella
  2. BNessuna riga, perché il confronto è sconosciuto
  3. CUn errore in qualsiasi database
  4. DSolo le righe in cui col è NULL, come con IS NULL
7.Difficile

Che cosa restituisce la seguente query: SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?

  1. ASolo gli studenti con il voto più alto
  2. BIl voto medio di tutti gli studenti
  3. CGli studenti con un voto superiore al voto medio
  4. DUn errore, perché le subquery non sono ammesse in WHERE
8.Difficile

Una tabella ha un milione di righe e una colonna booleana is_active che è TRUE per il 95% di esse. Perché l'ottimizzatore potrebbe ignorare un indice su is_active per WHERE is_active = TRUE?

  1. ALa maggior parte delle righe corrisponde, quindi una scansione completa della tabella costa meno di molte ricerche nell'indice
  2. BNon si possono creare indici su colonne booleane
  3. CL'indice tratta TRUE come NULL
  4. DL'ottimizzatore non usa mai gli indici nelle clausole WHERE

Soluzioni

  1. 1. A · Raggruppa le righe con gli stessi valori, così che gli aggregati vengano calcolati per gruppo
  2. 2. A · Un insieme minimo di colonne che identifica in modo univoco ogni riga
  3. 3. A · Che due righe non abbiano lo stesso valore non NULL in quella colonna
  4. 4. D · SELECT COUNT(DISTINCT city) FROM customers
  5. 5. B · Le righe possono essere memorizzate fisicamente in un solo ordine
  6. 6. B · Nessuna riga, perché il confronto è sconosciuto
  7. 7. C · Gli studenti con un voto superiore al voto medio
  8. 8. A · La maggior parte delle righe corrisponde, quindi una scansione completa della tabella costa meno di molte ricerche nell'indice

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