1.Fácil
En PostgreSQL y MySQL, ¿qué cláusula devuelve solo las 10 primeras filas de un resultado?
- ATOP ROWS 10
- BFIRST 10 ONLY
- CLIMIT 10
- DMAX 10
2.Fácil
¿Qué es una clave subrogada (surrogate key)?
- AUna clave que hace referencia a otra tabla
- BUn identificador artificial sin significado de negocio, como un id autoincremental
- CUna clave formada con datos del mundo real, como una dirección de correo electrónico
- DUna clave que solo se usa en las vistas
3.Fácil
¿Qué hace GROUP BY en una consulta?
- AOrdena alfabéticamente las filas del resultado
- BCombina dos tablas por sus columnas comunes
- CElimina las filas con valores NULL
- DAgrupa las filas con los mismos valores para que las agregaciones se calculen por grupo
4.Media
La tabla orders tiene 5 filas y cada una hace referencia a un cliente existente. La tabla customers tiene 3 filas. ¿Cuántas filas devuelve un INNER JOIN por customer_id?
- A8
- B5
- C3
- D15
5.Media
¿Qué devuelve EXCEPT (llamado MINUS en Oracle)?
- ATodas las filas de ambas consultas sin duplicados
- BLas filas de la segunda consulta que no aparecen en la primera
- CLas filas de la primera consulta que no aparecen en la segunda
- DLas filas que aparecen en ambas consultas
6.Media
¿Qué consulta muestra los clientes que nunca han hecho un pedido?
- ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- BSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
7.Difícil
Una aplicación ejecuta UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7 e informa de un conflicto si no se actualizó ninguna fila. ¿Qué técnica es esta?
- ARegistro de escritura anticipada
- BFragmentación (sharding) de la base de datos
- CControl de concurrencia optimista
- DBloqueo estricto en dos fases con bloqueos de fila
8.Difícil
La transacción T1 bloquea la fila A y espera a la fila B, mientras que T2 bloquea la fila B y espera a la fila A. ¿Qué hace un SGBD típico?
- AFusiona las dos transacciones en una
- BDetecta el interbloqueo y aborta una transacción como víctima
- CDeja que ambas transacciones esperen hasta que una de ellas se confirme con normalidad
- DConfirma ambas transacciones a la vez
Soluciones
- 1. C · LIMIT 10
- 2. B · Un identificador artificial sin significado de negocio, como un id autoincremental
- 3. D · Agrupa las filas con los mismos valores para que las agregaciones se calculen por grupo
- 4. B · 5
- 5. C · Las filas de la primera consulta que no aparecen en la segunda
- 6. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 7. C · Control de concurrencia optimista
- 8. B · Detecta el interbloqueo y aborta una transacción como víctima
Soluciones completas paso a paso: practica este tema en examproblems.com.