Test cuestionario sobre SGBD - the question form
Preguntas: 16 · 10 minutos
1. Cada autor puede escribir muchos libros y cada libro puede tener muchos autores. ¿Cuál es el diseño relacional estándar para esta relación?
Almacenar una columna AuthorID en Books y permitir solo un autor por libro.
Almacenar una lista de autores separados por comas en cada fila de Books.
Duplicar cada fila completa de Books una vez por cada autor.
Crear una tabla de unión AuthorBook que contenga referencias a Authors y Books.
2. La transacción A mantiene un bloqueo que necesita la transacción B, mientras que la transacción B mantiene un bloqueo que necesita la transacción A. Ninguna puede continuar. ¿Cómo se llama esta situación?
Interbloqueo
Integridad referencial
Retraso de replicación
Desnormalización
3. ¿Qué operación relacional combina filas relacionadas de dos tablas mediante una condición de coincidencia?
GROUP BY
PROJECT
SELECT DISTINCT
JOIN
4. ¿Qué significa la atomicidad para una transacción de base de datos?
Sus consultas siempre se ejecutan más rápido que las consultas no transaccionales.
Sus operaciones se tratan como una sola unidad que se completa o se revierte.
Sus datos se duplican automáticamente en varios servidores.
Sus cambios se vuelven visibles de inmediato para todas las sesiones concurrentes.
5. Una tabla Orders repite el nombre y la dirección de cada cliente en todas las filas de sus pedidos. ¿Qué rediseño reduce más directamente esta redundancia?
Crear una tabla Customers y hacer referencia a cada cliente desde Orders mediante una clave.
Agregar índices separados a las columnas del nombre y la dirección del cliente.
Copiar las columnas repetidas del cliente en una tabla de historial de pedidos.
Reemplazar la dirección del cliente por un tipo de datos de texto más largo.
6. ¿Qué es una vista de base de datos?
Una copia de seguridad física que contiene todos los archivos de datos
Un bloqueo que limita el acceso a filas seleccionadas
Un índice que contiene únicamente valores únicos
Una consulta con nombre que presenta los datos como una tabla virtual
7. Una tabla Enrollment tiene la clave compuesta (StudentID, CourseID) y también almacena StudentName. StudentName depende únicamente de StudentID. ¿Qué problema de normalización ilustra esto?
Una dependencia transitiva que aparece por primera vez en la forma normal de Boyce-Codd
Un grupo repetitivo que solo puede existir en la cuarta forma normal
Una dependencia parcial que infringe la segunda forma normal
Un ciclo de claves foráneas que infringe la primera forma normal
8. ¿Qué estructura SQL devuelve correctamente las ciudades que tienen al menos cinco clientes?
SELECT city, COUNT(*) FROM Customers WHERE COUNT(*) >= 5;
SELECT DISTINCT city, COUNT(*) FROM Customers ORDER BY COUNT(*) >= 5;
SELECT city FROM Customers HAVING city >= 5;
SELECT city, COUNT(*) FROM Customers GROUP BY city HAVING COUNT(*) >= 5;
9. ¿Qué afirmación describe mejor una clave primaria en una tabla relacional?
Almacena una referencia que debe apuntar a una fila de otra tabla.
Identifica de forma única cada fila y no puede contener valores NULL.
Ordena automáticamente en el disco las filas de la tabla.
Cifra los valores que no deben mostrarse a los usuarios.
10. Dos empleados pueden reducir la misma cantidad de inventario casi al mismo tiempo. ¿Qué enfoque ayuda más directamente a evitar que una actualización sobrescriba silenciosamente a la otra?
Ejecutar ambas sesiones con el nivel de aislamiento de lectura no confirmada.
Usar una transacción con una actualización atómica de la cantidad y un bloqueo de filas adecuado.
Eliminar las restricciones para que ambas actualizaciones puedan finalizar de forma independiente.
Mantener durante más tiempo la cantidad original en la caché de la aplicación de cada empleado.
11. En una tabla Users de gran tamaño se realizan búsquedas frecuentes mediante direcciones de correo electrónico exactas. ¿Qué cambio mejoraría más directamente estas búsquedas?
Almacenar la dirección de correo electrónico en un tipo de datos de caracteres de mayor tamaño.
Crear un disparador que registre cada búsqueda.
Crear un índice en la columna de correo electrónico.
Mover las filas antiguas a la misma tabla con nombres de columnas diferentes.
12. La transacción A modifica un saldo, pero no ha confirmado el cambio. Aun así, la transacción B lee el valor modificado. ¿Qué anomalía de concurrencia ocurrió?
Una lectura fantasma
Una actualización perdida
Una lectura sucia
Una eliminación en cascada
13. Una fila de Orders no debe hacer referencia a un cliente que no exista en la tabla Customers. ¿Qué restricción está diseñada para hacer cumplir esta regla?
Una restricción CHECK sobre el total del pedido
Una restricción UNIQUE sobre la fecha del pedido
Una clave foránea de Orders a Customers
Un valor DEFAULT para el identificador del cliente
14. ¿Qué propiedad ACID significa que los resultados de una transacción confirmada deben persistir tras una falla del sistema?
Durabilidad
Consistencia
Aislamiento
Atomicidad
15. Una consulta agrupa las ventas por región y debe devolver únicamente las regiones cuyas ventas totales superen 10 000. ¿Qué cláusula debe aplicar esa condición?
WHERE SUM(amount) > 10000
HAVING SUM(amount) > 10000
ORDER BY SUM(amount) > 10000
DISTINCT SUM(amount) > 10000
16. Un SGBD registra los cambios en un registro de escritura anticipada antes de escribir las páginas de datos modificadas. Después de una falla, ¿cómo puede este registro contribuir a la recuperación?
Rehaciendo los cambios confirmados que aún no se habían guardado en los archivos de datos
Reconstruyendo todos los índices únicamente a partir de consultas enviadas por los usuarios
Reemplazando los datos confirmados por los valores disponibles más antiguos
Convirtiendo cada tabla en una vista de solo lectura