EJEMPLO TABLA NORMALIZADA
Supongamos que tenemos la siguiente tabla con datos de alumnado de un centro de
enseñanza secundaria.
Tabla 1 Alumnos sin normalizar
1. Primera Forma Normal: 1FN
Una Relación está en 1FN si cada atributo es atómico y la tabla contiene una clave
primaria que en este caso será la columna DNI.
Como se puede observar, esta tabla no está en 1FN puesto que el campo Teléfonos
contiene varios datos dentro de una misma celda y por tanto no es un campo cuyos
valores sean atómicos. La solución sería la siguiente:
Tabla 2 Alumnos
Tabla 3 Teléfonos
2. Segunda Forma Normal: 2FN
Una Relación está en 2FN si y sólo si está en 1FN y todos los atributos que no forman
parte de la Clave Principal tienen dependencia funcional completa de ella.
En la siguiente ilustración se logra observar las dependías que presenta la tabla en la que
siempre que aparece un DNI aparecerá el Nombre correspondiente y la LocalidadAlumno
correspondiente. Por tanto, DNI → Nombre y DNI → LocalidadAlumno. Por otro lado,
siempre que aparece un Curso aparecerá el Tutor correspondiente. Por tanto, Curso →
Tutor. Los atributos Nombre y LocalidadAlumno no dependen funcionalmente de Curso, y
el atributo Tutor no depende funcionalmente de DNI.
El único atributo que sí depende de forma completa de la clave compuesta DNI y Curso
es FechaMatrícula: (DNI, Curso) → FechaMatrícula.
Ilustración 1 Tabla alumnos
A la hora de establecer la Clave Primaria de una tabla debemos escoger un atributo o
conjunto de ellos de los que dependan funcionalmente el resto de atributos. Además,
debe ser una dependencia funcional completa. Si escogemos DNI como clave primaria,
tenemos un atributo (Tutor) que no depende funcionalmente de él. Si escogemos Curso
como clave primaria, tenemos otros atributos que no dependen de él.
Si escogemos la combinación (DNI, Curso) como clave primaria, entonces sí tenemos
todo el resto de atributos con dependencia funcional respecto a esta clave. Pero es una
dependencia parcial, no total (salvo FechaMatrícula, donde sí existe dependencia
completa). Por tanto, la solución sería las siguientes tablas:
Tabla 4 Alumnos
DNI Nombre Localidad Provincia
11111111A Eva Écija Sevilla
22222222B Ana Écija Sevilla
33333333C Susana El Villar Córdoba
44444444D Juan El Villar Córdoba
55555555E José Écija Sevilla
Tabla 5 Matrículas
Curso DNI FechaMatrícula
1ESO-A 11111111A 1-jul-16
1ESO-A 22222222B 9-jul-16
1ESO-B 33333333C 11-jul-16
2ESO-A 44444444D 5-jul-16
2ESO-A 55555555E 2-jul-16
Tabla 6 Cursos
Curso Tutor
1ESO-A Isabel
1ESO-B Roberto
2ESO-A Federico
3. Tercera Forma Normal: 3FN
Una Relación está en 3FN si y sólo si está en 2FN y no existen dependencias transitivas.
Todas las dependencias funcionales deben ser respecto a la clave principal.
Las dependencias funcionales existentes son las siguientes. Como podemos observar
existe una dependencia funcional transitiva: DNI → Localidad → Provincia
Ilustración 2 Dependencias funcionales
Para que la tabla esté en 3FN, no pueden existir dependencias funcionales transitivas.
Para solucionar el problema deberemos crear una nueva tabla. El resultado es:
Tabla 7Alumnos
Tabla 8 Localidades
4. Resultado final
Al realizar las 3 formas normales se llega a las siguientes tablas
Tabla 9 Resultado Final
5. Referencias
Dependencias funcionales en BD Relacionales. (s.f.). Obtenido de
https://www.fing.edu.uy/tecnoinf/paysandu/cursos/2do/bd1/material/bd1-6.pdf
Gestión de Bases de Datos. (s.f.). Obtenido de 2.1. INTRODUCCIÓN:
https://gestionbasesdatos.readthedocs.io/es/latest/Tema2/Teoria.html