NEW
Font size
WorksheetsBase de Datos II. 2º Parcial
Total questions: 30
Worksheet time: 30mins
¿Qué lenguaje de consulta utiliza MongoDB?
SQL
JPQL
Consultas basadas en documentos JSON
XQuery
En MongoDB, el operador $gt se utiliza para:
Buscar valores iguales
Buscar valores mayores que
Buscar valores que contengan un texto
Agrupar documentos
¿Cuál es la principal ventaja de JPQL sobre SQL nativo?
Mayor rendimiento
Independencia del motor de base de datos
Sintaxis más simple
No requiere conocimientos de SQL
En Spring Data JPA, la anotación @Query se utiliza para:
Definir consultas derivadas automáticamente
Especificar consultas personalizadas en JPQL o SQL
Mapear relaciones entre entidades
Configurar la conexión a la base de datos
¿Qué tipo de parámetro en un procedimiento almacenado permite tanto entrada como salida?
IN
OUT
INOUT
RETURN
El operador $regex en MongoDB se utiliza para:
Realizar operaciones matemáticas
Buscar documentos usando expresiones regulares
Actualizar múltiples campos
Eliminar documentos duplicados
En JPQL, ¿qué palabra clave se utiliza para realizar un JOIN?
CONNECT
JOIN
LINK
RELATE
¿Cuál de estos NO es un tipo de ciclo en procedimientos almacenados de MySQL?
LOOP
REPEAT UNTIL
WHILE
FOR EACH
La característica DETERMINISTIC en una función almacenada indica que:
Siempre produce el mismo resultado para los mismos parámetros de entrada
Puede modificar datos de la base de datos
Requiere permisos especiales para ejecutarse
Solo puede ser llamada desde procedimientos
En Spring Data JPA, los parámetros nombrados en @Query se identifican con:
?
!
:
$
¿Cuál es la principal desventaja de usar cursores en procedimientos almacenados?
Mayor consumo de memoria y menor rendimiento
No permiten procesamiento fila por fila
Son más difíciles de escribir
No funcionan con transacciones
El operador $inc en MongoDB se utiliza para:
Incluir campos en una proyección
Incrementar valores numéricos
Buscar documentos que contengan un valor
Crear índices
En consultas derivadas de Spring Data JPA, findByNombreContaining equivale a:
WHERE nombre = valor
WHERE nombre LIKE '%valor%'
WHERE nombre LIKE 'valor%'
WHERE nombre IS NOT NULL
La palabra clave LEAVE en procedimientos almacenados se utiliza para:
Salir de un ciclo o bloque etiquetado
Finalizar la ejecución del procedimiento
Saltar a la siguiente iteración de un ciclo
Devolver un valor de una función
¿Cuál de estas NO es una ventaja de las consultas derivadas en Spring Data JPA?
No requieren escribir JPQL/SQL manualmente
Spring valida la consulta durante el arranque
Permiten consultas extremadamente complejas con múltiples joins
Los cambios en atributos de entidades se reflejan automáticamente
Dado el siguiente documento MongoDB, ¿qué operador usarías para buscar libros publicados después del año 2000?
{"año_publicacion": {"$gt": 2000}}
{"año_publicacion": {"$lt": 2000}}
{"año_publicacion": {"$eq": 2000}}
{"año_publicacion": {"$ne": 2000}}
¿Cuál sería la consulta JPQL correcta para buscar usuarios por nombre usando parámetro nombrado?
@Query("SELECT u FROM Usuario u WHERE u.nombre = ?1")
@Query("SELECT u FROM Usuario u WHERE u.nombre = :nombre")
@Query("SELECT u FROM Usuario u WHERE nombre = ?")
@Query("SELECT * FROM Usuario WHERE nombre = :nombre")
Dado el siguiente procedimiento almacenado, ¿qué hace?
Inserta un nuevo libro
Elimina un libro por ID
Incrementa el contador de préstamos de un libro
Busca libros prestados
En MongoDB, ¿cómo actualizarías el campo "disponible" a true en todos los documentos?
{"$set": {"disponible": true}}
{"$update": {"disponible": true}}
{"$change": {"disponible": true}}
{"$modify": {"disponible": true}}
¿Cuál sería el método de consulta derivada para buscar productos por categoría y precio mayor a un valor?
findByCategoriaAndPrecio(String categoria, BigDecimal precio)
findByCategoriaAndPrecioGreaterThan(String categoria, BigDecimal precio)
findByCategoriaOrPrecioGreaterThan(String categoria, BigDecimal precio)
findByCategoriaOrderByPrecioGreaterThan(String categoria, BigDecimal precio)
Dado el siguiente ciclo en un procedimiento almacenado, ¿cuántas veces se ejecutará?
4 veces
5 veces
6 veces
Infinitas veces
En JPQL, ¿cómo realizarías una consulta con JOIN entre Usuario y Direccion?
SELECT u FROM Usuario u, Direccion d WHERE u.direccion = d.id
SELECT u FROM Usuario u JOIN u.direccion d WHERE d.ciudad = :ciudad
SELECT u, d FROM Usuario u INNER JOIN Direccion d
SELECT u FROM Usuario u CROSS JOIN Direccion d
¿Qué operador MongoDB usarías para buscar libros cuyo género NO sea "Ciencia Ficción" ni "Fantasía"?
{"genero": {"$eq": "Ciencia Ficción"}}
{"genero": {"$in": ["Ciencia Ficción", "Fantasía"]}}
{"genero": {"$nin": ["Ciencia Ficción", "Fantasía"]}}
{"genero": {"$ne": "Ciencia Ficción"}}
¿Cuál es la sintaxis correcta para un procedimiento almacenado sin parámetros?
CREATE PROCEDURE nombre_procedimiento
CREATE PROCEDURE nombre_procedimiento()
CREATE PROCEDURE nombre_procedimiento(IN)
CREATE PROCEDURE nombre_procedimiento(NULL)
En Spring Data JPA, ¿Cómo implementarías paginación en un repositorio?
List
Page
Collection
Set
¿Qué hace el siguiente operador de actualización en MongoDB? {"$unset": {"genero": ""}}
Establece el campo "genero" a una cadena vacía
Elimina el campo "genero" del documento
Actualiza el campo "genero" a null
Renombra el campo "genero"
Dada la siguiente función almacenada, ¿Qué devuelve cuando se llama con estimpar(5)?
0
1
5
NULL
En JPQL, ¿Cómo buscarías entidades usando LIKE con comodín al principio y final?
WHERE u.nombre LIKE 'valor'
WHERE u.nombre LIKE '%valor%'
WHERE u.nombre LIKE 'valor%'
WHERE u.nombre LIKE '%valor'
¿Cuál es el propósito del operador $exists en MongoDB?
Verificar si un campo existe en un documento
Comprobar si un documento existe en una colección
Validar la estructura de un documento
Asegurar que un campo tenga un valor específico
En consultas derivadas, ¿qué keyword usarías para buscar valores dentro de una lista?
Between
In
Containing
Like
