Parcial_2

Parcial_2

parte 1.1



parte 1.2

RETO 3

El siguiente link contiene la información necesaria para realiza el Reto #1 para el manejo de Fechas

https://www.dropbox.com/s/c8s9b8cuq84i2ib/Practica%20Fechas.txt?dl=0 

Análisis

Muestra los estudiantes que son cristianos, usando el número asignado en el tipo ENUM para la religión.

  • La columna religion está definida como un tipo ENUM, por ejemplo:

    sqlCopiarEditarreligion ENUM('católica', 'cristiana', 'ateo', 'otra')
  • En este caso, el valor 'cristiana' sería el número 2 dentro del ENUM.

 Nombre de la tabla:
estudiante

 Campos que contiene:

  • carnet

  • nombre

  • religion

 Comandos utilizados:
SELECT, WHERE

Sintáxis: select carnet, nombre, from estudiante where religion = "Cristianismo";


Análisis

Muestra únicamente los estudiantes que tienen clases tanto los lunes como los sábados.

Nombre de la tabla:
estudiante

 Campos que contiene:

  • carnet

  • nombre

  • religion

  • dias_clase (tipo SET, como 'lunes,sábado,miércoles')

Comandos utilizados:
SELECT, WHERE, FIND_IN_SET

Sintáxis: select carnet, nombre from estudiante where religion = "Cristianismo" and find_in_set ("lunes",dias_clase) and find_in_set ("sabado",dias_clase);


Análisis

A los directivos de la universidad les interesa saber qué estudiantes practican ciclismo y baloncesto, que no sean cristianos, que vean clase los viernes y que no estén en el programa de Especialización y Seguridad.

Nombre de la tabla:
estudiante

Campos que contiene:

  • carnet

  • religion

  • dias_clase (tipo SET, como 'lunes,viernes')

  • car_infom

  • espec_seguridad (tipo ENUM)

  • deporte (tipo SET, como 'ciclismo,baloncesto')

 Comandos utilizados:
SELECT, WHERE, FIND_IN_SET

Sintáxis: select carnet, nombre from estudiante where religion!="Cristianismo" and find_in_set("viernes",dias_clase) and car_infom != "Espec_Seguridad" and find_in_set ("Ciclismo",deporte) and find_in_set("baloncesto",deporte");


Análisis

Muestra los estudiantes que se destacan por ser intelectuales, que tengan clases los sábados y cuyo nombre termine en la letra "n".

Nombre de la tabla:
estudiante

 Campos que contiene:

  • carnet

  • nombre

  • dias_clase (tipo SET, por ejemplo: 'lunes,sábado,miércoles')

  • cualificacion (aquí se asume que se guarda el valor "intelectual")

Comandos utilizados:
SELECT, WHERE, LIKE, FIND_IN_SET, CONVERT, UTF8

Sintáxis: select carnet, nombre from estudiante where nombre like '%n%' and find_in_set("sabado",dias_clase) and convert(detalles using utf8) like '%intelectual%';


Análisis

Muestra el promedio de lo que pagan por semestre los estudiantes del programa de Ingeniería de Sistemas.

Nombre de la tabla:
promedio

 Campos que contiene:

  • valor_semes

  • car_infom

 Comandos utilizados:
SELECT, AVG, WHERE

Sintáxis: select avg(valor_semes) as "VALOR PROMEDIO" from estudiante where car_infom = "Ing_sistemas";



Parte 2

Descargar el siguiente archivo y realizar el ejercicio propuesto en el, el cual tendrá el valor del 50% del Segundo parcial.

· Crear tabla a partir de otra.

Una academia almacena los datos de sus alumnos en una tabla llamada ESTUDIANTE.

1.1 Cree la tabla estudiante con la siguiente estructura:
identificación varchar (10) (clave primaria)
nombre varchar (30)
Estadocivil enum (soltero, casado, unión libre, divorciado, viudo)
fechamatricula date

1.1 Análisis

Crear la tabla estudiante

¿Qué se desea hacer?
Crear una tabla para almacenar información básica de los estudiantes de una academia.

Tabla utilizada:
estudiante

Condiciones:

  • El campo identificacion debe ser clave primaria.

  • El campo estadocivil debe aceptar solo ciertos valores (ENUM).

  • Se debe almacenar la fecha de matrícula.

Comandos y funciones utilizadas:

  • CREATE TABLE

  • Tipo ENUM

  • Tipo DATE

  • PRIMARY KEY

Sintaxis aplicada:

CREATE TABLE estudiante ( identificacion VARCHAR(10) PRIMARY KEY, nombre VARCHAR(30), estadocivil ENUM('soltero', 'casado', 'unión libre', 'divorciado', 'viudo'), fechamatricula DATE ); 

 Insertar registros en estudiante

¿Qué se desea hacer?
Insertar 8 registros con datos personales y fechas de matrícula.

Tabla utilizada:
estudiante

Condiciones:
Valores válidos para cada campo, respetando los tipos de datos.

Comandos y funciones utilizadas:

  • INSERT INTO

Sintaxis aplicada:

insert into estudiante values ('2040', 'Elizabeth Cano', 'casado', '2013-01-01'), ('2140', 'Denis Rico', 'divorciado', '2013-02-18'), ('2341', 'Alfredo Lara', 'casado', '2014-06-20'), ('1840', 'Armando Casas', 'viudo', '2014-01-28'), ('2044', 'Eliodoro Puerta', 'casado', '2015-07-20'), ('2314', 'Mariana Salinas', 'casado', '2016-06-06'), ('2318', 'Benito Céspedes', 'casado', '2016-06-30'), ('2045', 'Roberto Jiménez', 'soltero', '2017-01-30');


Crear tabla registrocursos desde estudiante

¿Qué se desea hacer?
Crear una nueva tabla que almacene cuántos estudiantes ingresaron por año.

Tabla utilizada:
estudiante

Condiciones:
Contar por año a partir del campo fechamatricula.

Comandos y funciones utilizadas:

  • CREATE TABLE AS

  • YEAR()

  • COUNT(*)

  • GROUP BY

Sintaxis aplicada:

CREATE TABLE registrocursos AS SELECT YEAR(fechamatricula) AS anio, COUNT(*) AS cantidad FROM estudiante GROUP BY anio;



Crear tabla planilla

¿Qué se desea hacer?
Guardar múltiples notas por estudiante.

Tabla utilizada:
planilla

Condiciones:
Permitir varios registros por estudiante.

Comandos y funciones utilizadas:

  • CREATE TABLE

  • Tipo DECIMAL(4,2) con UNSIGNED

Sintaxis aplicada:

CREATE TABLE planilla ( carnet VARCHAR(12), nombre VARCHAR(30), nota DECIMAL(4,2) UNSIGNED ); 
 


Insertar notas en planilla

¿Qué se desea hacer?
Insertar varios registros con las notas de los estudiantes.

Tabla utilizada:
planilla

Condiciones:
Se permiten notas repetidas por estudiante.

Comandos y funciones utilizadas:

  • INSERT INTO

Sintaxis aplicada:

INSERT INTO planilla VALUES ('010', 'Soledad Ospina', 4.0), ('011', 'Marta Salazar', 1.5), ('012', 'Margarita Sol', 1.5), ('013', 'Fabian Juda', 4.0), ('010', 'Soledad Ospina', 2.5), ('011', 'Marta Salazar', 1.0), ('012', 'Margarita Sol', 5.0), ('013', 'Fabian Juda', 4.5), ('010', 'Soledad Ospina', 2.0), ('010', 'Soledad Ospina', 3.8), ('011', 'Marta Salazar', 3.8), ('013', 'Fabian Juda', 5.0);


Crear tabla promedio desde planilla

¿Qué se desea hacer?
Crear una tabla con el promedio de notas por estudiante.

Tabla utilizada:
planilla

Condiciones:
Agrupar por carnet.

Comandos y funciones utilizadas:

  • CREATE TABLE AS

  • AVG()

  • GROUP BY

Sintaxis aplicada:

CREATE TABLE promedio AS SELECT carnet, AVG(nota) AS promedio FROM planilla GROUP BY carnet;
SELECT p.carnet, pl.nombre, ROUND(AVG(pl.nota), 2) AS promedio FROM planilla pl JOIN promedio p ON pl.carnet = p.carnet GROUP BY p.carnet, pl.nombre HAVING promedio >= 4.0;
CREATE TABLE alumno_aprobado AS SELECT DISTINCT pl.carnet, pl.nombre FROM planilla pl JOIN promedio p ON pl.carnet = p.carnet WHERE p.promedio >= 4.0;


 

Seleccionar alumnos con promedio mayor o igual a 4.0

¿Qué se desea hacer?
Seleccionar carnet y nombre de los alumnos aprobados.

Tabla utilizada:
planilla, promedio

Condiciones:
Promedio mayor o igual a 4.0

Comandos y funciones utilizadas:

  • SELECT

  • JOIN

  • AVG()

  • GROUP BY

  • HAVING

Sintaxis aplicada:

SELECT p.carnet, pl.nombre, ROUND(AVG(pl.nota), 2) AS promedio FROM planilla pl JOIN promedio p ON pl.carnet = p.carnet GROUP BY p.carnet, pl.nombre HAVING promedio >= 4.0;
CREATE TABLE alumno_aprobado AS SELECT DISTINCT pl.carnet, pl.nombre FROM planilla pl JOIN promedio p ON pl.carnet = p.carnet WHERE p.promedio >= 4.0;


 

Crear tabla alumno_aprobado

¿Qué se desea hacer?
Crear una tabla con carnet y nombre de alumnos que aprobaron.

Tabla utilizada:
planilla, promedio

Condiciones:
Promedio mayor o igual a 4.0

Comandos y funciones utilizadas:

  • CREATE TABLE AS

  • JOIN

  • DISTINCT

Sintaxis aplicada:

CREATE TABLE alumno_aprobado AS SELECT DISTINCT pl.carnet, pl.nombre FROM planilla pl JOIN promedio p ON pl.carnet = p.carnet WHERE p.promedio >= 4.0;



Crear tabla porcentaje_calificacion

¿Qué se desea hacer?
Registrar tipos de evaluación.

Tabla utilizada:
porcentaje_calificacion

Condiciones:
Cada registro debe tener un código único.

Comandos y funciones utilizadas:

  • CREATE TABLE

  • PRIMARY KEY

Sintaxis aplicada:

CREATE TABLE porcentaje_calificacion ( codpor VARCHAR(5) NOT NULL PRIMARY KEY, descrip VARCHAR(30) NOT NULL ); INSERT INTO porcentaje_calificacion VALUES ('01', 'Parcial 1'), ('02', 'Parcial 2'), ('03', 'Seguimiento'), ('04', 'Parcial final');


Crear tabla planilla1 normalizada

¿Qué se desea hacer?
Crear versión normalizada de planilla, con relación a los tipos de calificación.

Tabla utilizada:
planilla1

Condiciones:
Relacionar codpor con tabla porcentaje_calificacion.

Comandos y funciones utilizadas:

  • CREATE TABLE

  • FOREIGN KEY

Sintaxis aplicada:

CREATE TABLE planilla1 ( carnet VARCHAR(12), nombre VARCHAR(30), notapromedio DECIMAL(4,2) UNSIGNED, codpor VARCHAR(5), FOREIGN KEY (codpor) REFERENCES porcentaje_calificacion(codpor) );


Insertar estudiante con código obtenido desde otra tabla

¿Qué se desea hacer?
Insertar el estudiante "Edilberto Parra" con nota promedio 3.8, usando el código de 'Parcial final'.

Tablas utilizadas:
planilla1, porcentaje_calificacion

Condiciones:
Buscar codpor con la descripción Parcial final.

Comandos y funciones utilizadas:

  • INSERT INTO

  • SELECT FROM

  • WHERE

Sintaxis aplicada:

INSERT INTO planilla1 (carnet, nombre, notapromedio, codpor) SELECT '005', 'Edilberto Parra', 3.8, codpor FROM porcentaje_calificacion WHERE descrip = 'Parcial final';


Verificar inserción en planilla1

¿Qué se desea hacer?
Comprobar que se guardó correctamente el nuevo registro.

Tabla utilizada:
planilla1

Condiciones:
Filtrar por carnet 005.

Comandos y funciones utilizadas:

  • SELECT

  • WHERE

Sintaxis aplicada:

sqlCopiar códigoSELECT * FROM planilla1 WHERE carnet = '005';


 

Algoritmos1, Corporacion universitaria Uniremington, Medellín, (4) 3221000
Creado con Webnode Cookies
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar