Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚙️  PROYECTO BASE DE DATOS  📑

Solución realizada por Jose Gabriel Plata Ariza.

📚  SOLUCION CONSULTAS  🕵️

Para empezar, utilizamos la database creada.

USE proyect;

1.  se desea añadir un campo estado a la matricula del aprendiz

ALTER TABLE matricula
ADD estado ENUM('activo','cancelado','terminado') NOT NULL DEFAULT 'activo';

2.  se desea agregar el campo de edad a la tabla de aprendiz

ALTER TABLE aprendiz
ADD edad TINYINT UNSIGNED NOT NULL,
ADD CONSTRAINT edad_valida CHECK (edad >= 10 AND edad <= 120);

3.  Si los cursos tienen una duración diferente según la ruta, qué modificaría?

ALTER TABLE curso_ruta
ADD duracion DECIMAL NOT NULL;

4.  aprendices que están en la carrera de Electronica.

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;

5.  Aprendices que cancelaron en la ruta de aprendizaje.

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'

6.  Nombre de los cursos que no tienen un instructor asignado.

SELECT nombre AS nombre_curso, id_instructor AS instructor FROM curso WHERE id_instructor IS NULL;

7.  instructores que dictan cursos en la ruta “Sistemas de Información Empresariales”.

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 = 1

8.  Aprendices que terminaron una carrera con su ruta.

SELECT 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';

9.  Aprendices matriculados en "Bases de Datos Relacionales"

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;

10.  Instructores que no tienen un curso asignado

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;






Bienvenido al Quiz de MySQL 👩‍💻📊


🤔 ¿Cuál es la diferencia entre INNER JOIN y LEFT JOIN en MySQL?

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)


🧐 ¿Qué es la normalización de bases de datos en MySQL?

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)


🛠️ ¿Cuál es el propósito del comando TRUNCATE TABLE en MySQL?

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)


🤓 ¿Cuál es la diferencia entre CHAR y VARCHAR en MySQL?

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! 🚀✨

DIAGRAMAS

ENTIDAD RELACION  

Alt text

RELACIONAL  

Alt text

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors