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

Quali righe seleziona WHERE price BETWEEN 10 AND 20?

  1. ALe righe con prezzo fuori dall'intervallo da 10 a 20
  2. BLe righe con prezzo da 10 a 20, compresi 10 e 20
  3. CSolo le righe con prezzo uguale a 10 o a 20
  4. DLe righe con prezzo maggiore di 10 e minore di 20, escludendo 10 e 20
2.Facile

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

  1. ASchema
  2. BDominio
  3. CAttributo
  4. DTupla
3.Facile

Quale istruzione SQL aggiunge nuove righe a una tabella?

  1. AINSERT
  2. BSELECT
  3. CUPDATE
  4. DALTER
4.Media

Quale istruzione rimuove tutte le righe di una tabella, ne mantiene la struttura e non ammette una clausola WHERE?

  1. ADELETE FROM con una clausola WHERE
  2. BALTER TABLE
  3. CDROP TABLE
  4. DTRUNCATE TABLE
5.Media

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

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

Una chiave esterna è dichiarata con ON DELETE CASCADE. Che cosa succede quando viene eliminata una riga padre?

  1. ALe righe figlie che vi fanno riferimento vengono eliminate automaticamente
  2. BL'eliminazione viene sempre rifiutata
  3. CLa chiave esterna nelle righe figlie viene impostata automaticamente a NULL
  4. DLa riga padre viene copiata in una tabella di archivio
7.Difficile

Una tabella ha un milione di righe e una colonna booleana is_active che è TRUE per il 95% di esse. Perché l'ottimizzatore potrebbe ignorare un indice su is_active per WHERE is_active = TRUE?

  1. ALa maggior parte delle righe corrisponde, quindi una scansione completa della tabella costa meno di molte ricerche nell'indice
  2. BL'ottimizzatore non usa mai gli indici nelle clausole WHERE
  3. CNon si possono creare indici su colonne booleane
  4. DL'indice tratta TRUE come NULL
8.Difficile

Che cosa calcola SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales?

  1. AUn totale progressivo di amount ordinato per giorno
  2. BL'importo medio per giorno
  3. CUna riga per giorno con il solo totale di quel giorno
  4. DIl totale di tutti gli importi su ogni riga

Soluzioni

  1. 1. B · Le righe con prezzo da 10 a 20, compresi 10 e 20
  2. 2. D · Tupla
  3. 3. A · INSERT
  4. 4. D · TRUNCATE TABLE
  5. 5. D · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  6. 6. A · Le righe figlie che vi fanno riferimento vengono eliminate automaticamente
  7. 7. A · La maggior parte delle righe corrisponde, quindi una scansione completa della tabella costa meno di molte ricerche nell'indice
  8. 8. A · Un totale progressivo di amount ordinato per giorno

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