Domande e risposte: SQL e database

Ripassa SQL e database: ecco una selezione di domande di ogni livello, con risposta e spiegazione. Per metterti alla prova senza vedere le risposte, gioca ai quiz.

Gioca ai quiz SQL e database

Facile

Quale istruzione SQL permette di leggere i dati di una tabella senza modificarli?

Risposta : SELECT

SELECT legge le righe richieste. INSERT aggiunge, UPDATE modifica e DELETE elimina righe.

Quale parola chiave posta dopo SELECT elimina le righe identiche dal risultato?

Risposta : DISTINCT

DISTINCT conserva una sola occorrenza di ogni riga identica nel risultato.

Quale clausola conserva solo le righe che rispettano una condizione?

Risposta : WHERE

WHERE filtra le righe in base a una condizione, per esempio WHERE age >= 18.

Con quale clausola si ordinano le righe di un risultato?

Risposta : ORDER BY

ORDER BY nome ASC ordina in ordine crescente, DESC in ordine decrescente.

Quale istruzione aggiunge una nuova riga in una tabella?

Risposta : INSERT

INSERT INTO aggiunge una riga; UPDATE modifica righe esistenti, CREATE crea una tabella e ALTER ne cambia la struttura.

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

Risposta : Una n-upla, detta anche record

Una riga è una n-upla, detta anche record; una colonna corrisponde a un attributo.

Qual è il ruolo di una chiave primaria in una tabella?

Risposta : Identificare in modo univoco ogni riga

La chiave primaria non può essere né NULL né ripetuta, il che permette di identificare ogni riga senza ambiguità.

In quale anno Edgar F. Codd ha pubblicato il modello relazionale dei database?

Risposta : 1970

Nel 1970 Edgar F. Codd pubblica l'articolo fondatore del modello relazionale, su cui si basa SQL.

Medio

Quale join conserva solo le righe che hanno una corrispondenza in entrambe le tabelle?

Risposta : INNER JOIN

INNER JOIN conserva solo le corrispondenze; LEFT JOIN mantiene tutte le righe della tabella di sinistra, con NULL quando manca una corrispondenza.

Quale query conta il numero di clienti per ogni città?

Risposta : SELECT ville, COUNT(*) FROM clients GROUP BY ville

GROUP BY ville raggruppa le righe per ville, e COUNT(*) conta le righe di ogni gruppo.

Quale clausola filtra i gruppi dopo un GROUP BY, in base a un aggregato?

Risposta : HAVING

WHERE filtra le righe prima del raggruppamento; HAVING filtra i gruppi, per esempio HAVING COUNT(*) > 5.

Quale funzione di aggregazione calcola la media di una colonna numerica?

Risposta : AVG

AVG calcola la media dei valori non NULL di una colonna numerica.

Quale condizione permette di trovare le righe in cui una colonna non ha alcun valore?

Risposta : WHERE email IS NULL

Un confronto con = o <> a NULL non è mai vero: si usa IS NULL oppure IS NOT NULL.

In SELECT nom FROM clients WHERE id IN (SELECT client_id FROM commandes), che cosa fornisce la sottoquery?

Risposta : Fornisce l'elenco dei client_id presenti nella tabella commandes

La sottoquery restituisce un elenco di valori; la query esterna conserva i clienti il cui id compare in questo elenco.

Qual è il ruolo di una chiave esterna?

Risposta : Fare riferimento alla chiave primaria di un'altra tabella

Una chiave esterna fa riferimento a una chiave, in genere la chiave primaria di un'altra tabella; il DBMS può rifiutare un valore assente da quella tabella.

Quale operatore combina i risultati di due query eliminando le righe duplicate?

Risposta : UNION

UNION unisce i risultati eliminando i duplicati; UNION ALL li conserva tutti, senza questa fase di eliminazione.

Difficile

Cosa indica la lettera A dell'acronimo ACID?

Risposta : Atomicità

Atomicità: una transazione viene eseguita per intero oppure non viene eseguita affatto. ACID comprende anche coerenza, isolamento e durabilità.

Quale livello di isolamento ANSI vieta le letture sporche ma consente le letture non ripetibili?

Risposta : READ COMMITTED

READ COMMITTED legge solo dati confermati, ma una stessa riga può cambiare tra due letture di una transazione.

Cosa impone la seconda forma normale (2NF)?

Risposta : Essere in 1NF ed evitare dipendenze parziali su una chiave composta

La 2NF presuppone la 1NF e inoltre che nessun attributo non chiave dipenda solo da una parte di una chiave composta.

Quale struttura usa di default per gli indici InnoDB, il motore di archiviazione di MySQL?

Risposta : Un albero B+

InnoDB organizza i suoi indici in alberi B+, le cui foglie sono collegate tra loro per le scansioni per intervallo.

Cosa fa il comando EXPLAIN posto davanti a una query SELECT?

Risposta : Mostra il piano di esecuzione previsto senza eseguire la query

EXPLAIN mostra il piano previsto (indici, ordine dei join) senza eseguire la query; EXPLAIN ANALYZE, invece, la esegue.

Che cos'è una vista SQL ordinaria, creata con CREATE VIEW?

Risposta : Un nome dato a una query SELECT, rieseguita a ogni lettura

Una vista ordinaria non memorizza nulla: viene rieseguita a ogni lettura. Una vista materializzata, invece, conserva i propri risultati.

Che cos'è un trigger in un database SQL?

Risposta : Codice SQL eseguito automaticamente durante un INSERT, UPDATE o DELETE su una tabella

Un trigger viene eseguito automaticamente al verificarsi di un evento su una tabella; una stored procedure, invece, si richiama esplicitamente con CALL.

Cosa afferma il teorema CAP, proposto da Eric Brewer?

Risposta : Un sistema distribuito non garantisce insieme coerenza, disponibilità e tolleranza alle partizioni

Quando la rete si interrompe tra i nodi, un sistema distribuito deve scegliere tra coerenza e disponibilità.

Temi simili

Gioca ai quiz SQL e database