Hoja de ejercicios de Bases de datos y SQL con soluciones
Hoja de ejercicios de Bases de datos y SQL gratis e imprimible: 8 problemas desde nivel fácil hasta nivel de examen, con soluciones. Imprímela o guárdala como PDF.
Para docentes: pueden imprimirla, copiarla y usarla en clase gratis. Cada hoja nueva tiene valores nuevos y su propia clave de respuestas. Agradecemos un enlace a ExamProblems en la página de tu curso.
Nombre: ____________________ Fecha: ____________
1.Fácil
¿Qué hace GROUP BY en una consulta?
AAgrupa las filas con los mismos valores para que las agregaciones se calculen por grupo
BElimina las filas con valores NULL
CCombina dos tablas por sus columnas comunes
DOrdena alfabéticamente las filas del resultado
2.Fácil
¿Qué es una clave candidata?
AUn conjunto mínimo de columnas que identifica de forma única cada fila
BUn conjunto de columnas compartido entre dos tablas para enlazar sus filas
CCualquier columna que contiene valores NULL
DUna columna que está esperando a convertirse en clave foránea
3.Fácil
¿Qué garantiza una restricción UNIQUE en una columna?
AQue no haya dos filas con el mismo valor no NULL en esa columna
BQue los valores de la columna estén ordenados
CLa columna pasa a ser automáticamente la clave primaria de la tabla
DQue la columna no pueda modificarse después de la inserción
4.Media
¿Qué consulta devuelve el número de ciudades distintas de la tabla customers?
ASELECT COUNT(city) FROM customers GROUP BY city
BSELECT SUM(DISTINCT city) FROM customers
CSELECT DISTINCT COUNT(city) FROM customers
DSELECT COUNT(DISTINCT city) FROM customers
5.Media
¿Por qué una tabla solo puede tener un índice agrupado (clustered index)?
AEl estándar SQL prohíbe tener más de un índice en una tabla
BLas filas solo pueden almacenarse físicamente en un orden
CLos índices agrupados solo pueden estar en la clave primaria
DLos índices agrupados usan demasiada memoria
6.Media
Una tabla tiene filas en las que col es NULL. ¿Qué filas devuelve WHERE col = NULL?
ATodas las filas de la tabla
BNinguna fila, porque la comparación es desconocida
CUn error en todas las bases de datos
DSolo las filas en las que col es NULL, como con IS NULL
7.Difícil
¿Qué devuelve lo siguiente: SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?
ASolo los estudiantes con la nota más alta
BLa nota media de todos los estudiantes
CLos estudiantes con una nota superior a la nota media
DUn error, porque no se permiten subconsultas en WHERE
8.Difícil
Una tabla tiene un millón de filas y una columna booleana is_active que es TRUE en el 95% de ellas. ¿Por qué podría el optimizador ignorar un índice sobre is_active para WHERE is_active = TRUE?
ALa mayoría de las filas coinciden, así que un recorrido completo de la tabla es más barato que muchas búsquedas en el índice
BNo se pueden crear índices sobre columnas booleanas
CEl índice trata TRUE como NULL
DEl optimizador nunca usa índices en las cláusulas WHERE
Soluciones
1. A · Agrupa las filas con los mismos valores para que las agregaciones se calculen por grupo
2. A · Un conjunto mínimo de columnas que identifica de forma única cada fila
3. A · Que no haya dos filas con el mismo valor no NULL en esa columna
4. D · SELECT COUNT(DISTINCT city) FROM customers
5. B · Las filas solo pueden almacenarse físicamente en un orden
6. B · Ninguna fila, porque la comparación es desconocida
7. C · Los estudiantes con una nota superior a la nota media
8. A · La mayoría de las filas coinciden, así que un recorrido completo de la tabla es más barato que muchas búsquedas en el índice
Soluciones completas paso a paso: practica este tema en examproblems.com.