PROYECTO FINAL
1. Definir el enunciado del problema a sistematizar según las necesidades detectadas. (Debe ser Claro y tener mínimo 8 tablas)
La Corporación Universitaria Remington está en proceso de automatizar la información de sus semilleros, por lo tanto se le pide diseñar una base de datos que pueda ayudar a realizar este proceso en temas referentes a la inscripción, actualización y la gestión de la información de los semilleros.
2 Realizar lo siguiente:
2.1 Darle un nombre a la base de datos.
La base de datos se llama semillero_cur.
2.2. Listado de tablas que llevara la BD. (Cuáles son referenciales y cuáles son de movimiento)
Tablas referenciales:
- Facultad.
- Carrera.
- Estudiante.
- Semillero.
- Asesor.
- Grupo_investigacion.
- Linea_investigacion.
Tablas de movimiento:
- Grupoinvestigacion_lineainvestigacion.
- Semillero_grupoinvestigacion.
- Estudiante_semillero_asesor.
- Carrera_estudiante.
- Facultad_carrera.
2.3. Diseñar el diccionario de datos de cada tabla (campo, nombre el campo, tipo, tamaño y descripción).
https://drive.google.com/drive/folders/1CMoCBMbs50er2e5eYnOkQhvQS7PCdL9P
2.4. Montar o diseñar el modelo entidad - relación.
2.5. Dibujar el diagrama relacional.
3. Crear la BD y las tablas respectivas en MySQL.
4. Diseñar ejercicios en los que se apliquen los diferentes comandos que se utilizaron durante el semestre con su respectivo análisis y resultados.
a. Elaborar una consulta que permita visualizar la fecha del sistema.
Análisis:
1. ¿Qué comando se va a utilizar?
Se va a utilizar el comando select.
2. ¿Cuál es la sintaxis a utilizar?
La sintaxis a utilizar es: select current_date();
b. Elaborar una consulta que permita visualizar el año del sistema.
Análisis:
1. ¿Qué comando se va a utilizar?
Se va a utilizar el comando select.
2. ¿Cuál es la sintaxis a utilizar?
La sintaxis a utilizar es: select year (current_date());
c. Elaborar una consulta que permita visualizar el mes del sistema.
Análisis:
1. ¿Qué comando se va a utilizar?
Se va a utilizar el comando select.
2. ¿Cuál es la sintaxis a utilizar?
La sintaxis a utilizar es: select month (current_date());
d. Elaborar una consulta que permita visualizar el día del sistema.
Análisis:
1. ¿Qué comando se va a utilizar?
Se va a utilizar el comando select.
2. ¿Cuál es la sintaxis a utilizar?
La sintaxis a utilizar es: select day(current_date());
e. Elaborar una consulta que permita visualizar la hora del sistema.
Análisis:
1. ¿Qué comando se va a utilizar?
Se va a utilizar el comando select.
2. ¿Cuál es la sintaxis a utilizar?
La sintaxis a utilizar es: select now();
f. Elaborar una consulta que permita visualizar la edad de los estudiantes.
Análisis:
1. ¿Qué información se desea consultar?
Se desea consultar la edad de los estudiantes.
2. ¿Qué tabla se ve involucrada en el proceso?
La tabla involucrada en el proceso es estudiante.
3. ¿Cuál es la condición?
No existen condiciones.
4. ¿Cuáles son los comandos a utilizar?
Se van a utilizar los comandos select y from.
5. ¿Cuál es la sintaxis a utilizar?
select PKnum_documento, Tipo_documento, Nombre1, Apellido1, year (current_date()) - year Fecha_nacimiento as 'Edad' from estudiante;
g. Elaborar una consulta que permita visualizar la edad de los asesores.
Análisis:
1. ¿Qué información se desea consultar?
Se desea consultar la edad de los asesores.
2. ¿Qué tabla se ve involucrada en el proceso?
La tabla involucrada en el proceso es asesor.
3. ¿Cuál es la condición?
No existen condiciones.
4. ¿Cuáles son los comandos a utilizar?
Se van a utilizar los comandos select y from.
5. ¿Cuál es la sintaxis a utilizar?
SELECT PKnuma_documento, Tipo_documento, Nombre1, Apellido1, year (current_date()) - YEAR (Fecha_nacimiento) AS 'Edad' FROM asesor ;
h. Elaborar una consulta que permita crear una tabla a partir de la tabla carrera con la descripción y el nombre de la carrera.
Análisis:
1. ¿Qué nombre le daremos a la tabla?
El nombre de la tabla será carreras_descripciones.
2. ¿Qué tabla se ve involucrada en el proceso?
La tabla involucrada en el proceso es carrera.
3. ¿Qué campos contienes la información?
Los campos que contienen la información son Nom_carrera y Descripción.
4. ¿Cuáles son los comandos a utilizar?
Se van a utilizar los comandos create, select y from.
5. ¿Cuál es la sintaxis a utilizar?
select Nom_carrera, Descripción from carrera;
6. ¿Cuál es la sintaxis para crear la tabla?
create table carreras_descripciones select Nom_carrera, Descripción from carrera;
i. Elaborar una consulta que permita crear una tabla a partir de la tabla grupo_investigación con la categoría y el nombre del grupo.
Análisis:
1. ¿Qué nombre le daremos a la tabla?
El nombre de la tabla será grupos_categorías.
2. ¿Qué tabla se ve involucrada en el proceso?
La tabla involucrada en el proceso es grupo_investigación.
3. ¿Qué campos contienes la información?
Los campos que contienen la información son Nom_grupo y Categoría.
4. ¿Cuáles son los comandos a utilizar?
Se van a utilizar los comandos create, select y from.
5. ¿Cuál es la sintaxis a utilizar?
select Nom_grupo, Categoría from grupo_investigación;
6. ¿Cuál es la sintaxis para crear la tabla?
create table grupos_categorías select Nom_grupo, Categoría from grupo_investigación;
j. Elaborar una consulta que permita visualizar el código del estudiante, el primer nombre del estudiante, el apellido del estudiante y el código del semillero al que pertenece.
Análisis:
1. ¿Qué se desea consultar?
Se desea consultar el código del estudiante, el primer nombre del estudiante, el apellido del estudiante y el código del semillero al que pertenece.
2. ¿Qué tablas se ven involucradas en el proceso?
Las tablas involucradas en el proceso son estudiante y estudiante_semillero_asesor.
3. ¿Cuál es la condición?
La condición es que estudiante.PKnum_documento = estudiante_semillero_asesor.FKnum_documento.
4. ¿Cuáles son los comandos a utilizar?
Se van a utilizar los comandos select y left join.
5. ¿Cuál es la sintaxis a utilizar?
select estudiante.PKnum_documento, estudiante.Nombre1, estudiante.Apellido1,estudiante_semillero_asesor.FKcod_semillero from estudiante INNER JOIN estudiante_semillero_asesor on estudiante.PKnum_documento = estudiante_semillero_asesor.FKnum_documento;
k. Elaborar una consulta que permita visualizar el código del semillero, su descripción, y el código del grupo de investigación al que pertenece.
Análisis:
1. ¿Qué se desea consultar?
Se desea consultar el código del semillero, su descripción, y el código del grupo de investigación al que pertenece.
2. ¿Qué tablas se ven involucradas en el proceso?
Las tablas involucradas en el proceso son semillero y semillero_grupoinvestigación.
3. ¿Cuál es la condición?
La condición es que semillero.PKcod_semillero = semillero_grupoinvestigación.FKcod_semillero.
4. ¿Cuáles son los comandos a utilizar?
Se van a utilizar los comandos select y left join.
5. ¿Cuál es la sintaxis a utilizar?
select semillero.PKcod_semillero, semillero.Descripción, semillero_grupoinvestigación.FKcod_grupo from semillero left join semillero_grupoinvestigación on semillero.PKcod_semillero = semillero_grupoinvestigación.FKcod_semillero;
l. Elaborar una consulta que permita visualizar toda la información de la facultad con código "06", además de mostrar el código de la carrera asociado, cuya información coincida en la tabla facultad_carrera.
Análisis:
1. ¿Qué se desea consultar?
Se desea consultar toda la información de la facultad que tiene el código "06".
2. ¿Qué tablas se ven involucradas en el proceso?
Las tablas involucradas en el proceso son facultad y facultad_carrera.
3. ¿Cuál es la condición?
La condición es que facultad.PKcod_facultad =facultad_carrera.FKcod_facultad.
4. ¿Cuáles son los comandos a utilizar?
Se van a utilizar los comandos select, where y right join.
5. ¿Cuál es la sintaxis a utilizar?
select PKcod_facultad, Nom_facultad, Descripción, facultad_carrera.FKcod_carrera from facultad right join facultad_carrera on facultad.PKcod_facultad =facultad_carrera.FKcod_facultad
WHERE facultad_carrera.FKcod_facultad = '06';