Solución realizada por Jose Gabriel Plata Ariza.
USE proyect;ALTER TABLE matricula
ADD estado ENUM('activo','cancelado','terminado') NOT NULL DEFAULT 'activo';ALTER TABLE aprendiz
ADD edad TINYINT UNSIGNED NOT NULL,
ADD CONSTRAINT edad_valida CHECK (edad >= 10 AND edad <= 120);ALTER TABLE curso_ruta
ADD duracion DECIMAL NOT NULL;SELECT a.nombre AS nombre_aprendiz, a.edad AS edad, c.nombre AS carrera
FROM carrera AS c
JOIN ruta AS r ON r.id_carrera = c.id_carrera
JOIN matricula AS m ON m.id_ruta = r.id_ruta
JOIN aprendiz AS a ON a.id_aprendiz = m.id_aprendiz
WHERE c.nombre LIKE 'Electrónica' GROUP BY a.nombre, a.edad, c.nombre;SELECT DISTINCT a.nombre AS nombre_aprendiz, e.nombre AS ruta, m.estado AS estado_matricula
FROM aprendiz AS a
JOIN matricula AS m ON m.id_aprendiz = a.id_aprendiz
JOIN ruta AS r ON r.id_ruta = m.id_ruta
JOIN enfasis AS e ON e.id_enfasis = r.id_enfasis
WHERE m.estado LIKE 'cancelado'SELECT nombre AS nombre_curso, id_instructor AS instructor FROM curso WHERE id_instructor IS NULL;SELECT DISTINCT i.nombre AS instructor, c.nombre AS curso, cr.id_ruta AS Ruta, e.nombre AS enfasis
FROM curso_ruta AS cr
JOIN curso AS c ON c.id_curso = cr.id_curso
JOIN enfasis AS e ON e.id_enfasis = cr.id_ruta
JOIN instructor AS i ON i.id_instructor = c.id_instructor
WHERE cr.id_ruta = 1SELECT DISTINCT a.nombre AS aprendiz, c.nombre AS carrera, e.nombre AS ruta_escogida, m.estado AS estado
FROM enfasis AS e
JOIN ruta AS r ON r.id_enfasis = e.id_enfasis
JOIN carrera AS c ON c.id_carrera = r.id_carrera
JOIN matricula AS m ON m.id_ruta = r.id_ruta
JOIN aprendiz AS a ON a.id_aprendiz = m.id_aprendiz
WHERE m.estado LIKE 'Terminado';SELECT a.nombre AS aprendiz, c.nombre AS curso
FROM aprendiz AS a
JOIN matricula AS m ON m.id_aprendiz = a.id_aprendiz
JOIN ruta AS r ON r.id_ruta = m.id_ruta
JOIN curso_ruta AS cr ON cr.id_ruta = r.id_ruta
JOIN curso AS c ON c.id_curso = cr.id_curso
WHERE cr.id_curso = 17 GROUP BY a.nombre, c.nombre;SELECT i.nombre AS instructores_sin_curso FROM instructor AS i
LEFT JOIN curso AS c ON c.id_instructor = i.id_instructor
WHERE c.id_instructor IS NULL;A) INNER JOIN devuelve solo los registros que tienen coincidencias en ambas tablas, mientras que LEFT JOIN devuelve todos los registros de la tabla izquierda y los registros coincidentes de la tabla derecha.
B) INNER JOIN devuelve todos los registros de ambas tablas, mientras que LEFT JOIN devuelve solo los registros de la tabla izquierda.
C) INNER JOIN devuelve todos los registros de ambas tablas, mientras que LEFT JOIN devuelve solo los registros de la tabla derecha.
D) INNER JOIN y LEFT JOIN son sinónimos en MySQL.
Mirar Respuesta
Correct answer: A)A) La optimización de consultas para mejorar el rendimiento de la base de datos.
B) El proceso de eliminar datos duplicados y organizar tablas para minimizar la redundancia y la dependencia.
C) La técnica para asegurar que la base de datos esté en línea y disponible todo el tiempo.
D) La creación de índices para acelerar las búsquedas en la base de datos.
Mirar Respuesta
Correct answer: B)A) Elimina todas las filas de una tabla, pero conserva su estructura.
B) Elimina la tabla por completo, incluyendo su estructura.
C) Elimina filas basadas en una condición especificada.
D) Desactiva las restricciones de clave foránea en una tabla.
Mirar Respuesta
Correct answer: A)A) CHAR almacena cadenas de longitud variable y VARCHAR almacena cadenas de longitud fija.
B) CHAR almacena cadenas de longitud fija y VARCHAR almacena cadenas de longitud variable.
C) Ambos almacenan cadenas de longitud fija, pero CHAR es más eficiente en el uso de espacio.
D) Ambos almacenan cadenas de longitud variable, pero CHAR es más eficiente en el uso de espacio.
Mirar Respuesta
Correct answer: B)¡Demuestra tu conocimiento sobre MySQL! 🚀✨

