wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

PARCIAL Final Bases de Datos Masivas 2025-1

Total questions: 34

Worksheet time: 18mins

Name
Class
Date
1.

¿Cuál es el resultado de esta consulta?

a)

Muestra todos los usuarios y pedidos, incluso si no están relacionados.

b)

Muestra solo usuarios con pedidos registrados.

c)

Muestra solo pedidos con usuarios registrados.

d)

Da error porque falta una condición adicional.

2.

¿Qué resultado da esta consulta?

a)

Cuenta el total de productos en la tabla.

b)

Da error porque falta un ORDER BY.

c)

Cuenta el número de productos por categoría.

d)

Muestra las categorías duplicadas.

3.

¿Cuál es la sintaxis correcta para insertar un nuevo registro en la tabla "clientes"?

a)

INSERT clientes (nombre, email) VALUES ('Juan', 'juan@example.com');

b)

INSERT INTO clientes (nombre, email) VALUES ('Juan', 'juan@example.com');

c)

INSERT INTO clientes SET nombre='Juan', email='juan@example.com';

d)

Todas son válidas.

4.

¿Qué hace esta consulta?

a)

Elimina productos de la categoría 'Electrónica'.

b)

Incrementa en un 10% el precio de los productos de la categoría 'Electrónica'.

c)

Cambia la categoría de los productos a 'Electrónica'.

d)

Da error porque falta un ORDER BY.

5.

¿Cómo escribir una consulta para obtener todos los productos cuyo precio es superior al precio promedio de todos los productos?

a)

SELECT * FROM productos WHERE precio > (SELECT AVG(precio) FROM productos);

b)

SELECT * FROM productos WHERE precio > AVG(precio);

c)

SELECT * FROM productos WHERE precio > (SELECT MAX(precio) FROM productos);

d)

SELECT * FROM productos WHERE precio > (SELECT MIN(precio) FROM productos);

6.

¿Qué consulta puedes usar para obtener todos los usuarios que tengan una edad mayor a 18 y cuyo nombre comience con "A"?

a)

SELECT * FROM usuarios WHERE edad > 18 OR nombre LIKE 'A%';

b)

SELECT * FROM usuarios WHERE edad > 18 AND nombre LIKE 'A%';

c)

SELECT * FROM usuarios WHERE edad >= 18 AND nombre LIKE 'A%';

d)

SELECT * FROM usuarios WHERE edad > 18 AND nombre LIKE '%A';

7.

¿Cómo obtener el nombre del usuario y el total de su pedido solo para aquellos pedidos con un total superior a 100?

a)

SELECT usuarios.nombre, pedidos.total FROM usuarios JOIN pedidos ON usuarios.id = pedidos.usuario_id WHERE pedidos.total > 100;

b)

SELECT usuarios.nombre, pedidos.total FROM usuarios LEFT JOIN pedidos ON usuarios.id = pedidos.usuario_id WHERE pedidos.total > 100;

c)

SELECT usuarios.nombre, pedidos.total FROM usuarios RIGHT JOIN pedidos ON usuarios.id = pedidos.usuario_id WHERE pedidos.total > 100;

d)

SELECT usuarios.nombre, pedidos.total FROM pedidos JOIN usuarios ON pedidos.usuario_id = usuarios.id WHERE pedidos.total > 100;

8.

¿Cómo puedes aumentar el precio de todos los productos de la categoría 'Electrónica' en un 10%?

a)

UPDATE productos SET precio = precio * 1.1 WHERE categoria = 'Electrónica';

b)

UPDATE productos SET precio = precio + 10 WHERE categoria = 'Electrónica';

c)

UPDATE productos SET precio = precio + (precio * 0.10) WHERE categoria = 'Electrónica';

d)

UPDATE productos SET precio = precio * 1.1;

9.

¿Cómo eliminar todos los pedidos cuyo estado sea 'Cancelado'?

a)

REMOVE FROM pedidos WHERE estado = 'Cancelado';

b)

DELETE FROM pedidos WHERE estado = 'Cancelado';

c)

DELETE pedidos WHERE estado = 'Cancelado';

d)

DELETE FROM pedidos WHERE estado IN ('Cancelado');

10.

¿Cómo obtener una lista única de categorías de productos sin duplicados?

a)

SELECT categoria FROM productos GROUP BY categoria;

b)

SELECT categoria FROM productos ORDER BY categoria;

c)

SELECT DISTINCT categoria FROM productos;

d)

SELECT categoria FROM productos WHERE DISTINCT categoria;

11.

¿Qué hace el comando docker ps?

a)

Muestra todas las imágenes locales de Docker

b)

Muestra los contenedores en ejecución

c)

Muestra los contenedores detenidos

d)

Muestra los contenedores creados, independientemente de si están en ejecución

12.

¿Qué comando se utiliza para detener un contenedor de Docker en ejecución?

a)

docker stop

b)

docker shutdown

c)

docker kill

d)

docker pause

13.

¿Qué es un contenedor en Docker?

a)

Un proceso en ejecución que contiene código fuente

b)

Una máquina virtual ligera que ejecuta una imagen de Docker

c)

Un entorno aislado para ejecutar aplicaciones y servicios

d)

Un archivo que almacena configuraciones de red

14.

¿Qué es una imagen en Docker?

a)

Un contenedor que se ejecuta en el sistema de archivos

b)

Un archivo comprimido que contiene el sistema operativo del contenedor

c)

Un conjunto de instrucciones y archivos que se usan para crear un contenedor

d)

Un registro de los contenedores que se han ejecutado

15.

¿Cómo puedes eliminar un contenedor detenido?

a)

docker remove <nombre_del_contenedor>

b)

docker rm <nombre_del_contenedor>

c)

docker delete <nombre_del_contenedor>

d)

docker destroy <nombre_del_contenedor>

16.

¿Qué comando se utiliza para descargar una imagen de Docker desde Docker Hub?

a)

docker pull

b)

docker download

c)

docker get

d)

docker fetch

17.

Si deseas ejecutar un contenedor de nginx en segundo plano, exponiendo el puerto 8080 en tu máquina local al puerto 80 del contenedor, ¿cuál de los siguientes comandos es correcto?

a)

docker run -d -p 8080:80 nginx

b)

docker create -d -p 8080:80 nginx

c)

docker start -p 8080:80 nginx

d)

docker run -it -p 8080:80 nginx

18.

Escriba (minúsculas) el comando para listar los volumenes en docker

(a)  

19.

¿Cómo se descarga una imagen de Docker desde Docker Hub?

a)

docker pull <nombre_imagen>

b)

docker download <nombre_imagen>

c)

docker install <nombre_imagen>

d)

docker get <nombre_imagen>

20.

¿Cuál es el comando correcto para listar todas las imágenes disponibles en Docker localmente?

a)

docker list images

b)

docker images

c)

docker show images

d)

docker ls images

21.

¿Qué comando se usa para crear y ejecutar un contenedor basado en una imagen?

a)

docker start <nombre_imagen>

b)

docker create <nombre_imagen>

c)

docker run <nombre_imagen>

d)

docker execute <nombre_imagen>

22.

¿Cómo ejecutar un contenedor en modo "desprendido" (detached mode)?

a)

docker run -d <nombre_imagen>

b)

docker run --bg <nombre_imagen>

c)

docker start -d <nombre_imagen>

d)

docker execute -d <nombre_imagen>

23.

¿Cómo listar los contenedores en ejecución?

a)

docker containers

b)

docker ps

c)

docker show containers

d)

docker list containers

24.

¿Cuál de los siguientes comandos elimina un contenedor?

a)

docker delete <nombre_contenedor>

b)

docker remove <nombre_contenedor>

c)

docker rm <nombre_contenedor>

d)

docker erase <nombre_contenedor>

25.

¿Cómo mapear un puerto del host a un contenedor en Docker?

a)

docker run -p <puerto_host>:<puerto_contenedor> <imagen>

b)

docker run --port <puerto_host>:<puerto_contenedor> <imagen>

c)

docker run -m <puerto_host>:<puerto_contenedor> <imagen>

d)

docker run -v <puerto_host>:<puerto_contenedor> <imagen>

26.

¿Cuál es la sintaxis correcta para un INNER JOIN entre dos tablas?

a)

SELECT * FROM tabla1 JOIN tabla2 ON tabla1.id = tabla2.id;

b)

SELECT * FROM tabla1 INNER JOIN tabla2 ON tabla1.id = tabla2.id;

c)

SELECT * FROM tabla1 WHERE tabla1.id = tabla2.id;

d)

SELECT * FROM tabla1 JOIN tabla2 USING (id);

27.

Si tenemos dos tablas, clientes y pedidos, y queremos obtener los nombres de los clientes con sus pedidos, ¿cuál es la consulta correcta?

a)

SELECT clientes.nombre, pedidos.id FROM clientes LEFT JOIN pedidos ON clientes.id = pedidos.cliente_id;

b)

SELECT clientes.nombre, pedidos.id FROM clientes RIGHT JOIN pedidos ON clientes.id = pedidos.cliente_id;

c)

SELECT clientes.nombre, pedidos.id FROM clientes FULL JOIN pedidos ON clientes.id = pedidos.cliente_id;

d)

SELECT clientes.nombre, pedidos.id FROM clientes INNER JOIN pedidos ON clientes.id = pedidos.cliente_id;

28.

Dado el siguiente código, ¿qué mostrará la consulta?

a)

Todos los empleados, incluso si no tienen un departamento asignado.

b)

Solo los empleados que tienen un departamento asignado.

c)

Todos los departamentos, incluso si no tienen empleados

d)

Todos los empleados y todos los departamentos sin importar si coinciden.

29.

¿Cuál de estas consultas INNER JOIN es incorrecta?

a)

SELECT * FROM tabla1 INNER JOIN tabla2 ON tabla1.id = tabla2.id;

b)

SELECT * FROM tabla1, tabla2 WHERE tabla1.id = tabla2.id;

c)

SELECT * FROM tabla1 JOIN tabla2 ON tabla1.id = tabla2.id;

d)

SELECT * FROM tabla1 INNER JOIN tabla2;

30.

¿Qué devuelve una consulta con LEFT JOIN si no hay coincidencias en la tabla derecha?

a)

No devuelve ninguna fila.

b)

Devuelve las filas de la tabla izquierda con valores NULL en las columnas de la tabla derecha.

c)

Devuelve solo las filas que tienen coincidencias en ambas tablas.

d)

Devuelve todas las filas de la tabla derecha con valores NULL en la izquierda.

31.

¿De acuerdo con la muestra de proyectos diga qué es Arduino y para qué se utiliza principalmente?

a)

Un lenguaje de programación para crear software de escritorio.

b)

Una plataforma de hardware y software de código abierto utilizada para desarrollar proyectos de electrónica interactiva.

c)


Un tipo de microprocesador avanzado utilizado en computadoras de alto rendimiento

d)

Un entorno de desarrollo integrado (IDE) para programar únicamente sensores digitales.

32.

¿Cuál de estos comandos se usa para instalar el paquete PostgreSQL en un proyecto Node.js?

a)


npm install postgres

b)

pm install psql

c)

npm install pg

d)


npm install sequelize

33.

¿Qué está mal en este código si queremos devolver un JSON con datos y un código de estado 201?

app.post('/crear', (req, res) => {

res.status(201).json('Usuario creado correctamente');

});

a)

Se debe usar res.send() en lugar de res.json().

b)

Se debe enviar un objeto en lugar de una cadena.

c)


El código de estado 201 no es correcto para este caso.

d)


El mensaje debe ir dentro de una propiedad mensaje.

34.

¿Qué ocurre si se usa el siguiente código?

app.get('/productos', async (req, res) => {

const result = await pool.query('SELECT * FROM productos');

res.status(500).json({ error: result });

});

a)

El código 500 está correcto ya que indica error, pero debería enviar un mensaje de error.

b)

Debería usarse el código 200 para indicar éxito.

c)

El código 500 es inapropiado porque no hubo un error en la consulta.

d)

El código está mal, ya que result es un objeto y no debe enviarse directamente.