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

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

  1. ALIMIT 10
  2. BTOP ROWS 10
  3. CFIRST 10 ONLY
  4. DMAX 10
2.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
3.Facile

Che cos'è una chiave surrogata?

  1. AUna chiave ricavata da dati reali, come un indirizzo email
  2. BUn identificatore artificiale senza significato di business, come un id auto-incrementale
  3. CUna chiave che fa riferimento a un'altra tabella
  4. DUna chiave usata solo nelle viste
4.Media

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

  1. AIsolamento
  2. BDurabilità
  3. CAtomicità
  4. DDisponibilità
5.Media

Quale query elenca i clienti che non hanno mai effettuato un ordine?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  2. BSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
6.Media

Che cos'è un trigger di database?

  1. AUna query che un utente esegue a mano
  2. BCodice eseguito automaticamente quando su una tabella si verifica un evento specificato, come INSERT, UPDATE o DELETE
  3. CUn backup programmato del database
  4. DUn tipo di indice che velocizza le ricerche
7.Difficile

La tabella enrolment(student_id, course_id, student_name, grade) ha la chiave (student_id, course_id). Quale forma normale viola?

  1. ALa seconda forma normale, perché student_name dipende solo da student_id
  2. BNessuna, è in BCNF
  3. CSolo la terza forma normale, perché grade dipende da student_name
  4. DLa prima forma normale, perché la colonna grade non contiene valori atomici
8.Difficile

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

  1. ALa BCNF ammette più ridondanza della 3NF
  2. BAlcune dipendenze funzionali potrebbero non essere più verificabili all'interno di una sola tabella
  3. CLe tabelle in BCNF non possono avere chiavi primarie
  4. DLa decomposizione perde sempre dati quando si ricompone con un join

Soluzioni

  1. 1. A · LIMIT 10
  2. 2. A · Una colonna o un insieme di colonne che identifica in modo univoco ogni riga
  3. 3. B · Un identificatore artificiale senza significato di business, come un id auto-incrementale
  4. 4. A · Isolamento
  5. 5. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  6. 6. B · Codice eseguito automaticamente quando su una tabella si verifica un evento specificato, come INSERT, UPDATE o DELETE
  7. 7. A · La seconda forma normale, perché student_name dipende solo da student_id
  8. 8. B · Alcune dipendenze funzionali potrebbero non essere più verificabili all'interno di una sola tabella

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