Sunteți pe pagina 1din 12

AA9-Ev3-Normalización de Bases de Datos

Juan Esteban Palacio Gómez


Santiago Alberto Sierra Oliveros

Servicio Nacional de Aprendizaje SENA.

Especialización Tecnológica Gestión y Seguridad de Base de Datos.

Septiembre 2019
Optimización bases de datos – Normalizacion
Primera forma normal: Se pueden representar datos repetitivos también se
combinan datos de diferentes grupos, como por ejemplo tener la información de
padres y niños en una misma tabla.
Mejora separar la información de los alumnos de la información de padres y hacer
una relación entre tablas de alumnos y padres, ya no habrá duplicidad de alumnos
y los padres podrán tener varios hijos.
Segunda forma normal: Se produce cuando la clave principal está compuesta por
más de un campo o una clave. Se puede observar en la tabla todos los campos que
dependan funcionalmente de la clave principal forman una tabla y los campos que
no se identifican con la clave principal deben pertenecer a otra tabla
En conclusión, la segunda forma está conectada con la aparición de claves
primarias compuestas atributos que no dependen
Tercera forma normal: La tercera forma normal revisa la dependencia funcional de
los campos con aquellos que no son clave, si esto ocurre, se deben extraer de la
tabla, sin que se pierda el vinculo existente con las tablas.

Desarrollo del trabajo


1. Con los siguientes datos definan el nivel de normalización que tienen y como
hacer un buen diseño de base de datos de tal forma que quede normalizada
1. Vehiculos
Placa Descripción Valor
Pk20 Corsa, color rojo 15.000.000
modelo 1999
PK22 Renault, color azul 80.000.000
modelo 2000
Solución: A esta tabla se puede aplicar normalizacion 1, para mejorar el diseño
de debe de separar los datos de la descripción porque tiene múltiples valores
El diseño propuesto para la tabla normalizada será:
Placa Marca Color Modelo Valor
Pk20 Corsa Rojo 1999 15.000.000
PK22 Renault Azul 2000 80.000.000
2. Estudiantes

Nombre Apellido Dirección


Juan Perez Calle 8, Belen,
Medellin
Jose Rodríguez Calle 32 C, Calatrava,
Itagui

Solución: A esta tabla se puede aplicar normalizacion 1, para mejorar el diseño


de debe de separar los datos de la dirección porque tiene múltiples valores, y
adicionar llave principal
El diseño propuesto para la tabla normalizada será:
Id_Estudiante Nombre Apellido Dirección Barrio Cuidad
1 Juan Perez Calle 8 Belen Medellin
2 Jose Rodríguez Calle 32 Calatrava Itagui
C

3. Estudiantes

Nombre Apellido Ciudad Barrio


Juan Perez Medellín Belen
Jose Rodríguez Itagui Calatrava

Solución: A esta tabla se puede aplicar normalizacion 1, para mejorar el diseño


de debe de adicionar llave principal
El diseño propuesto para la tabla normalizada será:
Id_Estudiante Nombre Apellido Ciudad Barrio
1 Juan Perez Medellín Belen
2 Jose Rodríguez Itagui Calatrava

4. Notas
Cedula Nombre Apellido Materia Nota
42.777.630 Rosa Perez Matematicas 3.0
42.888.330 Marco Rodríguez Ingles 4.0

Solución: A esta tabla se puede aplicar normalizacion 2, para mejorar el diseño


se deben de separar los datos en 3 tablas una de estudiantes, una de materias
y otra de notas así.
El diseño propuesto para la tabla normalizada será:
Id_Estudiante Cedula Nombre Apellido
1 42.777.630 Rosa Perez
2 42.888.330 Marco Rodríguez

Id_Materia Nombre
Materia
M1 Matemáticas
M2 Ingles

Id_Materia Id_Estudiante Nota


M1 Matematicas 3.0
M2 Ingles 4.0
2.Con el siguiente modelo relacional realizar consultas en algebra relacional y
en SQL

Se crea la base de datos Carrera en SQL Server 2014


Tablas Creadas
Alumno

Instructor

Curso

Calificación
2.1. Obtener el nombre de los instructores y los cursos que dicta
Select Nombre, Apellido, IdCurso From Instructor JOIN Curso ON IdInstructor =
IdInstructor_FK

2.2. Obtener los nombres de los alumnos y la descripción de los cursos que dicta
Select Nombre, Apellido, Descripcion From Alumno JOIN Calificacion ON IDAlumno =
IdEstudiante_FK JOIN Curso ON IdCurso = IdCodigo_FK

2.3. Obtener los alumnos que no tienen calificaciones asociadas


Opción 1
Select Nombre From Alumno Where not IDAlumno in (Select IdEstudiante_FK From
Calificacion)
Opcion2
Select Nombre, Descripcion, Nota From Alumno JOIN Calificacion ON IDAlumno =
IdEstudiante_FK JOIN Curso ON IdCurso = IdCodigo_FK Where Nota is NULL

2.4. Obtener los instructores que no tienen cursos asociados


Select Nombre, Apellido, Descripcion, IdCurso From Instructor JOIN Curso ON
IdInstructor_FK is NULL

2.5. Obtener en un solo listado los instructores y los alumnos


Select Nombre, Apellido From Alumno UNION Select Nombre, Apellido From Instructor
2.6. Obtener el promedio de notas por cada alumno
Estudiante Andres 1
Select AVG(Nota) as Promedio from Calificacion Where IdEstudiante_FK = 1

Estudiante Carlos
Select AVG(Nota) as Promedio from Calificacion Where IdEstudiante_FK = 2
Estudiante Laura
Select AVG(Nota) as Promedio from Calificacion Where IdEstudiante_FK = 3

2.7. Obtener el promedio de notas de cada alumno, pero solo de aquellos con notas
superiores al promedio
Select AVG(Nota) as Promedio from Calificacion Where IdEstudiante_FK = 3 and Nota >
3

2.8. Obtener los estudiantes que están asociados a los cursos


Select Nombre, Apellido, Descripcion From Alumno JOIN Calificacion ON IDAlumno =
IdEstudiante_FK JOIN Curso ON IdCurso = IdCodigo_FK
3. Que nombre recibe este tipo de relación?

Jefe de
Subordinado de
EMPLEADO

Solución Recibe el nombre de muchos a 1


4. Como se puede modelar el siguiente problema
Las materias tienen un código, un nombre, un determinado número de créditos. Una
materia tiene solo un prerrequisito, un prerrequisito lo es solo de una materia.
Es una relación de 1 a 1

En una tienda un empleado puede ser al mismo tiempo un cliente


Aplica cuando dos tablas comparten la misma llave primaria, y cada tabla tiene
propiedades diferentes

S-ar putea să vă placă și