Parcial 2

Parte 1.1

Para los Retos resolver en Análisis y Diseño de Bases de datos (Formas normales (1Fn, 2Fn y 3Fn), Diccionario de Datos, Modelo Relacional MR (basado en tablas), Diseño del reto (BD) en MySQL con 10 registros cada tabla

Reto 2: Control de Laboratorios

Primera forma normal

Se incluyen en la tabla datos como Aula,Materia,Docente,Fecha,Horario de inicio y fin

Segunda forma normal

Separamos los datos no depender de clave primaria dándonos así 2 tablas ,sesión y asistencia.   

Tercera forma normal

El atributo de docente depende de materia no directamente de clave de ID de la sesión esto denota una dependencia  transitiva.

Diccionario de datos

Modelo Relacional MR (basado en tablas) //Ultima tabla  Asistencia

Diseño del reto (BD) en MySQL con 10 registros cada tabla

Parte 1.2

El siguiente link contiene la información necesaria para realiza la parte 2 de enum_set_blob_text

Parte 2

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

BD=CursosBD=Cursos

  1. Crear tabla a partir de otra.

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

 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.2 Ingrese los siguientes registros:

 1.3 La academia necesita almacenar en una tabla llamada registrocursos la cantidad de alumnos que ingresaron por año. (Cree la tabla a partir de la tabla estudiante)

ANÁLISIS

- En que tabla se van a insertar los datos

  • registrocursos

-Que campo(campos conitiene la informacion solicitada) y de que tabla

  • Campo: fechaMatricula
  • Tabla: Estudiante

-Codicione(s) si las hay:

  • No hay condiciones

-Que tablas están involucradas en la inserción

  • Tablas: Estududiante,registrocursos

Codigo: create table registrocursos as select year(fechaMatricula) as anioIngreso, count(*) as cantidadAlumnos from estudiante group by year(fechaMatricula);

2. El profesor PORFIRIO Álvarez Arango guarda las notas que toma a sus estudiantes en una tabla llamada planilla.

  1. Cree la entidad planilla con la siguiente estructura:

 Carnet varchar (12) (clave primaria)
nombre varchar(30)
nota decimal(4,2) unsigned

 Tenga presente que algunos estudiantes pueden tener más notas que otros por trabajos presentados extras (para recuperación)

 Ingrese la siguiente información:

  •   El profesor Rodrigo Patiño necesita generar una tabla llamada promedio que tenga especificado el carnet del estudiante y el promedio de sus calificaciones obtenidas.

ANÁLISIS

- En que tabla se van a insertar los datos

  • Promedio

-Que campo(campos conitiene la informacion solicitada) y de que tabla

  • Campo: carnet,notas
  • Tabla: Planilla

-Codicione(s) si las hay:

  • No hay condiciones

-Que tablas están involucradas en la inserción

  • Tablas: planilla y promedio

-Cree la tabla promedio con los campos (carnet y promedio) realizando la consulta necesaria a la tabla planilla

Codigo: create table promedio as select carnet, round(avg(nota), 2) as "promedio" from planilla group by carnet;

  • Agrupe por carnet y seleccione el carnet y nombre de los alumnos aprobados en promedio >=4.0

ANÁLISIS

-Que deseo Mostrar:

  • Estudiantes aprobados

-Tablas Involucradas

  • promedio,planilla

Funcion a utilizar

  • join,using,group vy

Codigo: select carnet, nombre from promedio join planilla using(carnet) where promedio >= 4.0 group by carnet, nombre;

  • Cree una entidad llamada alumno_aprobado y guarde allí el carnet y nombre de los alumnos que pasan el curso.

ANÁLISIS

- En que tabla se van a insertar los datos

  • alumno_aprobado

-Que campo(campos conitiene la informacion solicitada) y de que tabla

  • Campo: carnet,nombre
  • Tabla: planilla,promedio

-Codicione(s) si las hay:

  • condiciones: Alumnos que pasaron el curso

-Que tablas están involucradas en la inserción

  • Tablas: planilla,promedio,alumno_aprobado

Codigo: create table alumno_aprobado as select carnet, nombre from promedio join planilla using(carnet) where promedio >= 4.0 group by carnet, nombre;

Teniendo presente el punto 2.1 (entidad planilla), realizar:

  • Cree la tabla porcentaje_calificacion, con la siguiente estructura:

 Codpor varchar(5) not null primary key,

Descrip varchar(30) not null

 Ingrese los siguientes registros:

-Normalización de la tabla planilla. Para lo cual debe crear la tabla planilla1 con los campos: carnet, nombre, notapromedio y codpor. Los campos carnet y nombre deben conservar la misma estructura que tienen los mismos campos en la tabla planilla. Y el campo codpor debe conservar la estructura del mismo campo que tiene la tabla porcentaje_calificacion.

ANÁLISIS

- En que tabla se van a insertar los datos

  • Planilla1

-Que campo(campos conitiene la informacion solicitada) y de que tabla

  • Campo: carnet,nombre,notapromedio y codpor
  • Tabla: Planilla,porcetaje_calificacion

-Codicione(s) si las hay:

  • No hay condiciones

-Que tablas están involucradas en la inserción

  • Tablas: Planilla,porcetaje_calificacion y planilla1

Codigo: create table planilla1 as select p.carnet, p.nombre, p.nota as notapromedio, pc.codpor from planilla as p join porcentaje_calificacion as pc on p.nota >= 4.0 and pc.codpor = '01' group by p.carnet, p.nombre, pc.codpor;

 Tema: Insertar datos en una tabla buscando el valor en otra.

 Inserte en la tabla planilla el registro 05, el cual le pertenece a Edilberto Parra, cuya nota promedio es de 3.8. Busque el valor del código porcentaje en la tabla porcentaje_calificacion cuando la descripción corresponda a la nota final.

Codigo consulta: SELECT '05', 'Edilberto Parra', 3.8, pc.codpor FROM porcentaje_calificacion AS pc WHERE pc.descrip = 'Parcial final';

 Se debe entregar: 

a) Los análisis de cada punto

b) Las sintaxis de cada uno de los comandos utilizados para solucionar cada punto

c) El resultado o información generada en cada punto) La bases de datos que de como resultado el desarrollo de la actividad


Josue Casalins Hernadez
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar