1.Fácil
¿Qué hace UNION con los resultados de dos consultas SELECT?
- ALos combina en un solo resultado y elimina las filas duplicadas
- BConserva solo las filas que aparecen en ambos
- CLos une uno al lado del otro mediante una clave
- DConserva solo las filas que aparecen en la primera consulta pero no en la segunda
2.Fácil
¿Qué es una clave subrogada (surrogate key)?
- AUna clave que hace referencia a otra tabla
- BUna clave formada con datos del mundo real, como una dirección de correo electrónico
- CUna clave que solo se usa en las vistas
- DUn identificador artificial sin significado de negocio, como un id autoincremental
3.Fácil
Un INNER JOIN devuelve:
- ASolo las filas con valores coincidentes en ambas tablas
- BTodas las filas de ambas tablas
- CLas filas que no coinciden
- DTodas las filas de la tabla izquierda, con NULL donde no hay coincidencia
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?
- A5
- B8
- C3
- D15
5.Media
¿Qué devuelve EXCEPT (llamado MINUS en Oracle)?
- ALas filas que aparecen en ambas consultas
- BLas filas de la segunda consulta que no aparecen en la primera
- CTodas las filas de ambas consultas sin duplicados
- DLas filas de la primera consulta que no aparecen en la segunda
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 = NULL
- BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS 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?
- AControl de concurrencia optimista
- BRegistro de escritura anticipada
- CBloqueo estricto en dos fases con bloqueos de fila
- DFragmentación (sharding) de la base de datos
8.Difícil
¿Qué es un índice de cobertura (covering index) para una consulta?
- AUn índice que se reconstruye cada noche
- BUn índice que contiene todas las columnas que necesita la consulta, de modo que no hay que leer la propia tabla
- CUn índice solo sobre la clave primaria
- DUn índice que cubre todas las columnas de todas las tablas
Soluciones
- 1. A · Los combina en un solo resultado y elimina las filas duplicadas
- 2. D · Un identificador artificial sin significado de negocio, como un id autoincremental
- 3. A · Solo las filas con valores coincidentes en ambas tablas
- 4. A · 5
- 5. D · Las filas de la primera consulta que no aparecen en la segunda
- 6. C · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 7. A · Control de concurrencia optimista
- 8. B · Un índice que contiene todas las columnas que necesita la consulta, de modo que no hay que leer la propia tabla
Soluciones completas paso a paso: practica este tema en examproblems.com.