Tema 2.2: Normalización de Bases de Datos
La normalización es un proceso fundamental en el diseño de bases de datos relacionales que busca eliminar redundancias y anomalías mediante la organización de datos en tablas siguiendo reglas específicas llamadas formas normales.
En este tema exploraremos las tres primeras formas normales (1FN, 2FN, 3FN), aprenderemos a identificar y corregir problemas de diseño, y comprenderemos cuándo la desnormalización puede ser beneficiosa para el rendimiento del sistema.
Videos de Aprendizaje
2.2.1 Normalización - Introducción
Video introductorio que explica el concepto de normalización, sus objetivos principales y los problemas que resuelve en el diseño de bases de datos.
2.2.2 Primera Forma Normal (1FN)
Explicación detallada de la primera forma normal, incluyendo los requisitos para cumplirla y ejemplos prácticos de su aplicación.
2.2.3 Segunda Forma Normal (2FN)
Estudio de la segunda forma normal, enfocándose en la eliminación de dependencias parciales y la importancia de las llaves primarias compuestas.
2.2.4 Tercera Forma Normal (3FN)
Análisis de la tercera forma normal y su objetivo de eliminar dependencias transitivas entre los atributos de una tabla.
2.2.5 Desnormalización de Bases de Datos
Explicación sobre cuándo y por qué puede ser beneficioso desnormalizar una base de datos, balanceando normalización con rendimiento.
Investigación Detallada
Primera Forma Normal (1FN)
Una tabla está en 1FN cuando: No contiene grupos repetitivos, Cada atributo contiene valores atómicos (indivisibles), y Cada registro es único. Se eliminan columnas con múltiples valores separados por comas o arrays, creando tablas separadas cuando sea necesario.
Segunda Forma Normal (2FN)
Requiere que la tabla esté en 1FN y que todos los atributos no clave dependan de toda la llave primaria. Si la llave es compuesta, se eliminan dependencias parciales moviendo los atributos que dependen solo de parte de la llave a nuevas tablas.
Tercera Forma Normal (3FN)
Exige que la tabla esté en 2FN y que ningún atributo no clave dependa transitivamente de la llave primaria. Se eliminan dependencias transitivas moviendo los atributos que dependen de otros atributos no clave a tablas separadas.
Forma Normal de Boyce-Codd (FNBC)
Versión más fuerte de la 3FN donde todos los determinantes son claves candidatas. Elimina todas las dependencias funcionales donde el determinante no es una superclave. Es particularmente útil en diseños complejos con múltiples claves candidatas.
Desnormalización Controlada
Proceso intencional de reintroducir redundancia controlada para mejorar el rendimiento en consultas frecuentes. Se aplica después de la normalización completa cuando el rendimiento es crítico y las operaciones de lectura superan a las de escritura.
Anomalías de Base de Datos
Problemas que la normalización busca eliminar: Anomalías de inserción (datos inconsistentes), Anomalías de actualización (modificaciones incompletas), y Anomalías de eliminación (pérdida accidental de información).
Beneficios de la Normalización
- Eliminación de redundancia: Los datos se almacenan una sola vez
- Integridad mejorada: Menos posibilidades de datos inconsistentes
- Mantenimiento simplificado: Cambios en un solo lugar
- Flexibilidad en consultas: Estructura más predecible
- Prevención de anomalías: Inserción, actualización y eliminación seguras
- Mejor diseño: Forza a pensar en relaciones y dependencias
- Escalabilidad: Estructura preparada para crecimiento
- Documentación implícita: El diseño refleja las reglas de negocio
Material de Lectura
Documento oficial con teoría detallada sobre normalización, ejemplos paso a paso de cada forma normal, ejercicios prácticos y casos de estudio para aplicar los conceptos aprendidos.