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

Un INNER JOIN restituisce:

  1. ATutte le righe della tabella di sinistra, con NULL dove non c'è corrispondenza
  2. BTutte le righe di entrambe le tabelle
  3. CLe righe che non corrispondono
  4. DSolo le righe con valori corrispondenti in entrambe le tabelle
2.Facile

In che cosa UNION ALL differisce da UNION?

  1. AUNION ALL funziona solo su una tabella
  2. BUNION ALL ordina il risultato
  3. CUNION ALL mantiene le righe duplicate
  4. DUNION ALL rimuove le righe duplicate
3.Facile

Che cos'è una chiave primaria (primary key)?

  1. ALa prima colonna di ogni tabella
  2. BUna password per il database
  3. CUna colonna o un insieme di colonne che identifica in modo univoco ogni riga
  4. DUna colonna che può contenere valori duplicati ma non deve mai contenere NULL
4.Media

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

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

La seconda forma normale (2NF) elimina:

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

Una tabella employees ha una colonna manager_id che fa riferimento a un altro dipendente. Come si elenca ogni dipendente accanto al nome del suo responsabile?

  1. ACombinare la tabella con se stessa usando UNION ALL e un filtro WHERE
  2. BCreando una seconda copia della tabella su disco
  3. CUsando soltanto GROUP BY manager_id
  4. DUnendo la tabella employees con se stessa usando due alias
7.Difficile

La transazione T1 blocca la riga A e attende la riga B, mentre T2 blocca la riga B e attende la riga A. Che cosa fa un tipico DBMS?

  1. AFonde le due transazioni in una sola
  2. BRileva il deadlock e interrompe una transazione scelta come vittima
  3. CLascia entrambe le transazioni in attesa finché una delle due non esegue il commit normalmente
  4. DConferma entrambe le transazioni contemporaneamente
8.Difficile

Perché molti DBMS usano il locking a due fasi stretto (strict 2PL), mantenendo i lock esclusivi fino al commit?

  1. AImpedisce gli abort a cascata, perché nessuno può leggere scritture non confermate
  2. BRende impossibili i deadlock
  3. CPermette alle transazioni di leggere dati sporchi in sicurezza
  4. DElimina la necessità di un log delle transazioni

Soluzioni

  1. 1. D · Solo le righe con valori corrispondenti in entrambe le tabelle
  2. 2. C · UNION ALL mantiene le righe duplicate
  3. 3. C · Una colonna o un insieme di colonne che identifica in modo univoco ogni riga
  4. 4. B · Con una tabella di associazione che contiene chiavi esterne verso studenti e corsi
  5. 5. C · Le dipendenze parziali delle colonne non chiave da una parte di una chiave composta
  6. 6. D · Unendo la tabella employees con se stessa usando due alias
  7. 7. B · Rileva il deadlock e interrompe una transazione scelta come vittima
  8. 8. A · Impedisce gli abort a cascata, perché nessuno può leggere scritture non confermate

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