Tema - 4 - Ejer 1-4
Tema - 4 - Ejer 1-4
Tema - 4 - Ejer 1-4
Normalización - Ejercicios
1) Normaliza hasta la tercera forma normal la siguiente tabla de COMPRAS:
Nº Fecha Producto Nombre- Cant Precio Proveedor Nombre_Prov Tfno_Prov
Compra Prod
1000 18/1/05 1 Monitor 10 100 1 Philips 961010101
1001 18/1/05 2 Teclado 50 20 5 Acer 969999999
1002 20/1/05 3 Windows 20 80 2 Microsoft 968888888
1003 21/1/05 11 ContaPlus 5 55 6 SP 911111111
1 Monitor 5 100 1 Philips 961010101
1004 21/1/05
2 Teclado 10 20 5 Acer 969999999
Normalización
Nº Producto Cant
Compra
1000 1 10
1001 2 50
1002 3 20
1003 11 5
1004 1 5
1004 2 10
Nº Fecha
Compra
1000 18/1/05
1001 18/1/05
1002 20/1/05
1003 21/1/05
1004 21/1/05
1004 21/1/05
Las tablas
COMPRAS (NºCompra, Fecha)
PRODUCTOS (Producto, Nombre_Prod, Precio, Proveedor, Nombre_Prov,
Tfno_Prov)
COMPRAS-linea (NºCompra↑, Producto↑, Cant)
Están en 2FN.
2
2) Normaliza hasta la tercera forma normal la siguiente tabla de MATRÍCULAS:
Alumno Curso Asignatura Profesor Departamento Ciclo Tutor
Sistemas Juan Ortiz
Ana Díaz ESI1 Informática ESI Juan Ortiz
Ofimática Marta Díez
Ofimática Marta Díez Informática
Luis Larrea ESI1 ESI Juan Ortiz
FOL Rosa López FOL
Mario Pérez
ESI2 BD José Martínez Informática ESI Sara Pérez
Ramón Sáez
Javier Lázaro ASI1 Programación Marta Díez Informática ASI Marta Díez
Normalización
Alumno Asignatura
Ana Díaz Sistemas
Ana Díaz Ofimática
Luis Larrea Ofimática
Luis Larrea FOL
Mario Pérez BD
Ramón Sáez BD
Javier Lázaro Programación
3ªFN
MATRICULAS Idem
Asignatura Curso Profesor
Sistemas ESI1 Juan Ortiz
Ofimática ESI1 Marta Díez
Ofimática ESI1 Marta Díez
FOL ESI1 Rosa López
BD ESI2 José Martínez
BD ESI2 José Martínez
Programación ASI1 Marta Díez
Profesor Departamento
Juan Ortiz Informática
Marta Díez Informática
Marta Díez Informática
Rosa López FOL
José Martínez Informática
José Martínez Informática
Marta Díez Informática
3) Con los datos del ejercicio anterior, compara el espacio ocupado por la tabla
inicial con el que ocupan las tablas obtenidas al final de la normalización,
suponiendo que:
En el centro educativo hay 100 alumnos, 6 cursos, 6 asignaturas, 6 profesores,
3 departamentos, 2 ciclos y 6 tutores. Cada atributo tiene la siguiente longitud:
4
Alumno 50, Curso 5, Asignatura 15, Profesor 25, Departamento 15, Ciclo 5 y
Tutor 25. Suponiendo que cada alumno se matricula en 4 asignaturas, ¿se
guarda más o menos información después de la normalización? ¿qué se añade
o qué se elimina?
Solución
Valoración de la normalización. Veamos cómo la normalización ha evitado la
redundancia de la información:
Supongamos que se va a representar la información relativa a:
100 alumnos,6 Cursos, 6 Asignaturas, 6 profesores, 3 departamentos, 2 ciclos, 6
tutores.
Cada campo ocupa la siguiente cantidad de bytes: Alumno 50, Curso 5, Asignatura
15, Profesor 25, Departamento 15, Ciclo 5, Tutor 25.
Si cada alumno se matricula en 4 asignaturas, la tabla única que teníamos al
principio ocuparía:
100 alumnos x 4 asignaturas x 140 bytes cada registro = 56000 bytes.
Sin embargo, con tablas separadas sería:
MATRICULAS= 100 alumnos x 4 asignaturas x 65 bytes cada registro= 26000
CURSOS = 6 cursos x (5+5+25) bytes cada registro = 210
PROFESORES = 6 profesores x (25+15) bytes cada registro=240
ASIGNATURAS = 6 asignaturas x (15+5+25) bytes por registro=270
Total 26720 -- O sea, un 48% de la cantidad de bytes necesitada para una tabla.
Normalización
1ªFN
Sí está en 1ªFN porque ningún atributo tiene valores múltiples.
5
MATRICULAPERMISO_CIRC, FECHA_COMPRA-> ID_POLIZA_SEGURO,
ENTIDAD_ASEGURADORA
ID_POLIZA_SEGUROENTIDAD_ASEGURADORA
Se crea otra tabla:
SEGUROS (ID_POLIZA_SEGURO, ENTIDAD_ASEGURADORA)
-----------------¿??????????????-----------------------------------------
Este es un ejemplo de fallo de diseño Inicial , ya que no hay una clave compuesta
sino una clave única de numero matricula.
6
CONDUCTORES (DNI_PROP, CARNET_PROP, FECHA_EXP)
COCHES (MATRICULA, PERMISO_CIRC,FECHA_COMPRA,ID_POLIZA_SEGURO)