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?
- ASUM
- BCOUNT
- CAVG
- DMAX
2.Facile
Un cliente può effettuare molti ordini, ma ogni ordine appartiene a esattamente un cliente. Di che tipo di relazione si tratta?
- AUno-a-molti
- BMolti-a-molti
- CZero-a-zero
- DUno-a-uno
3.Facile
Una chiave esterna (foreign key) è:
- AUna chiave sempre cifrata
- BUna colonna che fa riferimento alla chiave primaria di un'altra tabella
- CUna colonna i cui valori devono essere univoci in tutte le righe della tabella
- 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?
- ACon un elenco di id dei corsi memorizzato in una sola colonna
- BFondendo studenti e corsi in un'unica tabella
- CCon una tabella di associazione che contiene chiavi esterne verso studenti e corsi
- 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?
- AA e B sono entrambe chiavi primarie
- BA ogni valore di A è associato esattamente un valore di B
- CA è una chiave esterna che fa riferimento a B
- 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:
- AAnomalia di inserimento
- BLettura fantasma
- CAnomalia di aggiornamento
- 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é?
- ALa condizione WHERE su o scarta le righe riempite di NULL, trasformandolo in un inner join
- Bstatus è una parola riservata
- CIl join dovrebbe usare USING invece di ON
- 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?
- ALa seconda forma normale, perché student_name dipende solo da student_id
- BLa prima forma normale, perché la colonna grade non contiene valori atomici
- CNessuna, è in BCNF
- DSolo la terza forma normale, perché grade dipende da student_name