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 restituisce un CROSS JOIN?

  1. ASolo le righe che corrispondono su una colonna chiave condivisa
  2. BSolo le righe che non corrispondono
  3. CSolo le righe della prima tabella
  4. DOgni combinazione di righe delle due tabelle
2.Facile

In PostgreSQL e MySQL, quale clausola restituisce solo le prime 10 righe di un risultato?

  1. ATOP ROWS 10
  2. BLIMIT 10
  3. CMAX 10
  4. DFIRST 10 ONLY
3.Facile

Che cos'è una chiave primaria (primary key)?

  1. AUna colonna o un insieme di colonne che identifica in modo univoco ogni riga
  2. BUna password per il database
  3. CUna colonna che può contenere valori duplicati ma non deve mai contenere NULL
  4. DLa prima colonna di ogni tabella
4.Media

La prima forma normale (1NF) richiede che:

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

Quale query restituisce il numero di ordini per cliente?

  1. ASELECT customer_id FROM orders WHERE COUNT(*) > 0
  2. BSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  3. CSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
  4. DSELECT DISTINCT COUNT(*) FROM orders
6.Media

Quale proprietà ACID fa sì che le transazioni concorrenti non vedano le modifiche non ancora completate delle altre?

  1. ADurabilità
  2. BAtomicità
  3. CDisponibilità
  4. DIsolamento
7.Difficile

Quale funzione finestra assegna 1, 2, 3, ... alle righe di ogni partizione senza pari merito?

  1. AROW_NUMBER()
  2. BCOUNT()
  3. CRANK()
  4. DDENSE_RANK()
8.Difficile

Perché molti DBMS usano il locking a due fasi stretto (strict 2PL), mantenendo i lock esclusivi fino al commit?

  1. ARende impossibili i deadlock
  2. BImpedisce gli abort a cascata, perché nessuno può leggere scritture non confermate
  3. CElimina la necessità di un log delle transazioni
  4. DPermette alle transazioni di leggere dati sporchi in sicurezza

Soluzioni

  1. 1. D · Ogni combinazione di righe delle due tabelle
  2. 2. B · LIMIT 10
  3. 3. A · Una colonna o un insieme di colonne che identifica in modo univoco ogni riga
  4. 4. A · Ogni colonna contenga valori atomici e non ci siano gruppi ripetuti
  5. 5. B · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
  6. 6. D · Isolamento
  7. 7. A · ROW_NUMBER()
  8. 8. B · Impedisce gli abort a cascata, perché nessuno può leggere scritture non confermate

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