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 clausola filtra le righe prima del raggruppamento?

  1. AGROUP BY
  2. BORDER BY
  3. CWHERE
  4. DHAVING
2.Facile

Che cosa fa COMMIT in una transazione?

  1. ACrea una nuova tabella
  2. BBlocca l'intero database
  3. CAnnulla tutte le modifiche fatte dall'inizio della transazione
  4. DRende permanenti tutte le modifiche della transazione
3.Facile

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

  1. AREMOVE TABLE
  2. BDELETE FROM
  3. CTRUNCATE ROWS
  4. DDROP TABLE
4.Media

Gli studenti possono seguire molti corsi e i corsi hanno molti studenti. Come si modella questa situazione con le tabelle?

  1. ACon una colonna di chiave esterna course_id nella tabella degli studenti che punta a courses
  2. BFondendo studenti e corsi in un'unica tabella
  3. CCon un elenco di id dei corsi memorizzato in una sola colonna
  4. DCon una tabella di associazione che contiene chiavi esterne verso studenti e corsi
5.Media

Quale query restituisce lo stipendio più alto di ogni reparto?

  1. ASELECT dept, MAX(salary) FROM emp GROUP BY dept
  2. BSELECT dept, MAX(salary) FROM emp ORDER BY dept
  3. CSELECT MAX(dept), salary FROM emp GROUP BY salary
  4. DSELECT dept, salary FROM emp WHERE salary = MAX(salary)
6.Media

Perché si creano indici sulle colonne?

  1. APer risparmiare spazio su disco
  2. BPer rendere più veloci inserimenti e aggiornamenti su quelle colonne
  3. CPer impedire i valori NULL
  4. DPer velocizzare ricerche e join su quelle colonne
7.Difficile

Esiste un indice composto su (last_name, first_name). Quale condizione può usarlo nel modo più efficace?

  1. AWHERE last_name = 'Jansen'
  2. BWHERE first_name = 'Eva'
  3. CWHERE first_name LIKE '%a'
  4. DWHERE UPPER(first_name) = 'EVA'
8.Difficile

Quale funzionalità SQL è più adatta a trovare tutti i dipendenti sotto un responsabile in un organigramma di profondità sconosciuta?

  1. AUna common table expression ricorsiva (WITH RECURSIVE)
  2. BUn GROUP BY su manager_id
  3. CUn vincolo UNIQUE su manager_id
  4. DUn singolo self-join della tabella employees su manager_id

Soluzioni

  1. 1. C · WHERE
  2. 2. D · Rende permanenti tutte le modifiche della transazione
  3. 3. D · DROP TABLE
  4. 4. D · Con una tabella di associazione che contiene chiavi esterne verso studenti e corsi
  5. 5. A · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  6. 6. D · Per velocizzare ricerche e join su quelle colonne
  7. 7. A · WHERE last_name = 'Jansen'
  8. 8. A · Una common table expression ricorsiva (WITH RECURSIVE)

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