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

Nel modello relazionale, come si chiama una riga di una tabella?

  1. AAttributo
  2. BDominio
  3. CSchema
  4. DTupla
2.Facile

Quale istruzione SQL aggiunge nuove righe a una tabella?

  1. AINSERT
  2. BALTER
  3. CUPDATE
  4. DSELECT
3.Facile

Quale istruzione elimina un'intera tabella, compresa la sua struttura?

  1. ATRUNCATE ROWS
  2. BDROP TABLE
  3. CREMOVE TABLE
  4. DDELETE FROM
4.Media

Che cosa restituisce INTERSECT usato tra due query SELECT?

  1. AIl prodotto cartesiano dei risultati
  2. BTutte le righe di entrambi i risultati
  3. CLe righe presenti in entrambi i risultati
  4. DLe righe del primo risultato ma non del secondo
5.Media

La tabella orders ha 5 righe, ciascuna riferita a un cliente esistente. La tabella customers ha 3 righe. Quante righe restituisce un INNER JOIN su customer_id?

  1. A8
  2. B3
  3. C5
  4. D15
6.Media

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

  1. AUn errore in qualsiasi database
  2. BSolo le righe in cui col è NULL, come con IS NULL
  3. CNessuna riga, perché il confronto è sconosciuto
  4. DTutte le righe della tabella
7.Difficile

Qual è un noto svantaggio della decomposizione delle tabelle in BCNF rispetto alla 3NF?

  1. ALe tabelle in BCNF non possono avere chiavi primarie
  2. BAlcune dipendenze funzionali potrebbero non essere più verificabili all'interno di una sola tabella
  3. CLa decomposizione perde sempre dati quando si ricompone con un join
  4. DLa BCNF ammette più ridondanza della 3NF
8.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. ALa condizione WHERE su o scarta le righe riempite di NULL, trasformandolo in un inner join
  2. BLEFT JOIN non mantiene mai le righe senza corrispondenza
  3. Cstatus è una parola riservata
  4. DIl join dovrebbe usare USING invece di ON

Soluzioni

  1. 1. D · Tupla
  2. 2. A · INSERT
  3. 3. B · DROP TABLE
  4. 4. C · Le righe presenti in entrambi i risultati
  5. 5. C · 5
  6. 6. C · Nessuna riga, perché il confronto è sconosciuto
  7. 7. B · Alcune dipendenze funzionali potrebbero non essere più verificabili all'interno di una sola tabella
  8. 8. A · La condizione WHERE su o scarta le righe riempite di NULL, trasformandolo in un inner join

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