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

Quale funzione di aggregazione conta le righe?

  1. ASUM
  2. BCOUNT
  3. CAVG
  4. DMAX
2.Facile

Un cliente può effettuare molti ordini, ma ogni ordine appartiene a esattamente un cliente. Di che tipo di relazione si tratta?

  1. AUno-a-molti
  2. BMolti-a-molti
  3. CZero-a-zero
  4. DUno-a-uno
3.Facile

Una chiave esterna (foreign key) è:

  1. AUna chiave sempre cifrata
  2. BUna colonna che fa riferimento alla chiave primaria di un'altra tabella
  3. CUna colonna i cui valori devono essere univoci in tutte le righe della tabella
  4. DUna chiave usata da utenti stranieri
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. BFondendo studenti e corsi in un'unica tabella
  3. CCon una tabella di associazione che contiene chiavi esterne verso studenti e corsi
  4. DCon una colonna di chiave esterna course_id nella tabella degli studenti che punta a courses
5.Media

Che cosa significa la dipendenza funzionale A → B?

  1. AA e B sono entrambe chiavi primarie
  2. BA ogni valore di A è associato esattamente un valore di B
  3. CA è una chiave esterna che fa riferimento a B
  4. DA ogni valore di B è associato esattamente un valore di A
6.Media

Una tabella memorizza l'indirizzo del cliente in ogni riga d'ordine. Modificare l'indirizzo in una riga ma non nelle altre è un esempio di:

  1. AAnomalia di inserimento
  2. BLettura fantasma
  3. CAnomalia di aggiornamento
  4. DAnomalia di cancellazione
7.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. Bstatus è una parola riservata
  3. CIl join dovrebbe usare USING invece di ON
  4. DLEFT JOIN non mantiene mai le righe senza corrispondenza
8.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. BLa prima forma normale, perché la colonna grade non contiene valori atomici
  3. CNessuna, è in BCNF
  4. DSolo la terza forma normale, perché grade dipende da student_name

Soluzioni

  1. 1. B · COUNT
  2. 2. A · Uno-a-molti
  3. 3. B · Una colonna che fa riferimento alla chiave primaria di un'altra tabella
  4. 4. C · Con una tabella di associazione che contiene chiavi esterne verso studenti e corsi
  5. 5. B · A ogni valore di A è associato esattamente un valore di B
  6. 6. C · Anomalia di aggiornamento
  7. 7. A · La condizione WHERE su o scarta le righe riempite di NULL, trasformandolo in un inner join
  8. 8. A · La seconda forma normale, perché student_name dipende solo da student_id

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