No es un bug, es una característica no documentada

lunes, 3 de noviembre de 2014

Bases de datos. Teoría de la normalización (I)

10:22 Posted by Inazio No comments
La teoría de la normalización se ocupa de comprobar si las tablas están correctamente diseñadas para soportar la información.

Primera forma normalizada

Esta forma se encarga de eliminar los valores repetidos dentro de una tabla.

Veamos un ejemplo. Supongamos que tenemos la siguiente tabla:



Escrita en notación, sería esto:

PEDIDOS(CodPed, FecPed, CodPro, NomPro, DirPro, [CodMat, DesMat, CanPed, PreUni])
à Entre corchetes indicamos los atributos multivaluados

En esta primera clase sólo hemos visto como normalizar los atributos multivaluados. En este caso la solución sería la siguiente:

PEDIDOS1(CodPed, FecPed, CodPro, NomPro, DirPro) à Clave + atributos de grupo no repetitivo

PEDIDOS2 (CodPed, CodMat, DesMat, CanPed, PreUni) à Clave + atributos de grupo repetitivo. En las tablas con grupos repetitivos SIEMPRE habrá que elegir una nueva clave (manteniendo la antigua, también).



Aún así, este ejemplo está sin normalizar completamente, aún faltarán ciertas cosas que mejorar, que veremos en próximas entradas.

De momento, dejo aquí dos ejercicios para realizar de normalización en su primera forma:

Ejercicio 1 (nº 34 de la hoja 1 de bases de datos)


Solución

Transcribiendo tal cuál la tabla, sería así:

Alumnos (IdAlumno, Nombre, Apellidos, [Teléfono], Dirección)

Aplicando la normalización vista hasta el momento, este el el resultado:
Alumnos1 (IdAlumno, Nombre, Apellidos, Dirección)
Alumnos2 (IdAlumno, Teléfono)

Ejercicio 2 (nº 35 de la hoja 1 de bases de datos)


Solución

Tabla transcrita

Notas (IdAlumno, Nombre, Dirección, [Asignatura, Aula, Nota])

Aplicando la normalización de primera forma

Notas1 (IdAlumno, Nombre, Dirección)
Notas2 (IdAlumno, Asignatura, Aula, Nota)


0 comentarios:

Publicar un comentario