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

Che cosa restituisce un CROSS JOIN?

  1. AOgni combinazione di righe delle due tabelle
  2. BSolo le righe che corrispondono su una colonna chiave condivisa
  3. CSolo le righe della prima tabella
  4. DSolo le righe che non corrispondono
2.Facile

Quale istruzione aggiunge una nuova colonna a una tabella esistente?

  1. AINSERT COLUMN
  2. BUPDATE TABLE
  3. CCREATE COLUMN
  4. DALTER TABLE
3.Facile

Una chiave esterna (foreign key) è:

  1. AUna chiave usata da utenti stranieri
  2. BUna colonna che fa riferimento alla chiave primaria di un'altra tabella
  3. CUna chiave sempre cifrata
  4. DUna colonna i cui valori devono essere univoci in tutte le righe della tabella
4.Media

Che cosa restituisce EXCEPT (chiamato MINUS in Oracle)?

  1. ALe righe della seconda query che non compaiono nella prima
  2. BLe righe che compaiono in entrambe le query
  3. CTutte le righe di entrambe le query senza duplicati
  4. DLe righe della prima query che non compaiono nella seconda
5.Media

La terza forma normale (3NF) elimina:

  1. ALe chiavi composte
  2. BLe dipendenze transitive tra attributi non chiave
  3. CI valori atomici
  4. DGli indici ridondanti su colonne che non fanno parte di una chiave
6.Media

La seconda forma normale (2NF) elimina:

  1. ALe dipendenze transitive tra colonne non chiave attraverso un'altra colonna non chiave
  2. BTutti i valori NULL
  3. CLe dipendenze parziali delle colonne non chiave da una parte di una chiave composta
  4. DLe chiavi esterne
7.Difficile

Dopo customers LEFT JOIN orders, perché usare COUNT(o.id) invece di COUNT(*) per contare gli ordini per cliente?

  1. ACOUNT(*) ignora le righe con valori NULL
  2. BCOUNT(*) non è ammesso dopo un join
  3. CCOUNT(o.id) conta solo i clienti distinti
  4. DCOUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
8.Difficile

Che cosa restituisce la seguente query: SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?

  1. AIl voto medio di tutti gli studenti
  2. BGli studenti con un voto superiore al voto medio
  3. CSolo gli studenti con il voto più alto
  4. DUn errore, perché le subquery non sono ammesse in WHERE

Soluzioni

  1. 1. A · Ogni combinazione di righe delle due tabelle
  2. 2. D · ALTER TABLE
  3. 3. B · Una colonna che fa riferimento alla chiave primaria di un'altra tabella
  4. 4. D · Le righe della prima query che non compaiono nella seconda
  5. 5. B · Le dipendenze transitive tra attributi non chiave
  6. 6. C · Le dipendenze parziali delle colonne non chiave da una parte di una chiave composta
  7. 7. D · COUNT(*) conta come 1 la riga riempita di NULL per i clienti senza ordini
  8. 8. B · Gli studenti con un voto superiore al voto medio

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