Normalización de Bases de Datos

Aprende y practica la Primera y Segunda Forma Normal

¿Qué es la Normalización?

La normalización es el proceso de organizar los datos en una base de datos para reducir la redundancia y mejorar la integridad de los datos. Se divide en varias formas normales, siendo las más comunes la Primera (1FN) y Segunda (2FN) Forma Normal.

Objetivos de la Normalización:

  • Eliminar redundancia - Evitar duplicación de datos
  • Garantizar integridad - Mantener la consistencia de los datos
  • Optimizar espacio - Reducir el almacenamiento necesario
  • Facilitar consultas - Hacer más eficiente el acceso a datos

Formas Normales Principales

Primera Forma Normal (1FN)

Elimina grupos repetitivos y asegura que cada campo contenga valores atómicos.

Segunda Forma Normal (2FN)

Elimina dependencias parciales y asegura que cada atributo no clave dependa completamente de la clave primaria.

Importante:

Para alcanzar la 2FN, primero debe cumplirse la 1FN. Cada forma normal se construye sobre la anterior.

Primera Forma Normal (1FN)

La Primera Forma Normal es el nivel más básico de normalización. Una tabla está en 1FN si cumple con las siguientes condiciones:

Reglas de la 1FN:

  1. Cada celda contiene un único valor (valores atómicos)
  2. No existen grupos repetitivos de columnas
  3. Cada fila es única (identificada por una clave primaria)

Ejemplo: Tabla no normalizada

Consideremos una tabla de estudiantes con cursos:

ID Estudiante Nombre Cursos
1 María García Matemáticas, Física, Química
2 Juan López Historia, Literatura

Aplicando 1FN

Para normalizar esta tabla a 1FN, debemos:

  1. Separar los valores múltiples en filas individuales
  2. Agregar una clave primaria única
ID ID Estudiante Nombre Curso
1 1 María García Matemáticas
2 1 María García Física
3 1 María García Química
4 2 Juan López Historia
5 2 Juan López Literatura

Nota:

Aunque ahora estamos en 1FN, tenemos redundancia de datos (el nombre del estudiante se repite). Esto se resolverá en la 2FN.

Segunda Forma Normal (2FN)

La Segunda Forma Normal se aplica a tablas que ya están en 1FN. Una tabla está en 2FN si cumple con:

Reglas de la 2FN:

  1. Debe estar en Primera Forma Normal (1FN)
  2. No existen dependencias parciales de atributos no clave sobre la clave primaria

¿Qué es una dependencia parcial?

Una dependencia parcial ocurre cuando un atributo no clave depende solo de una parte de la clave primaria compuesta.

Ejemplo: Tabla en 1FN pero no en 2FN

Tomemos la tabla anterior que ya está en 1FN:

ID ID Estudiante Nombre Curso
1 1 María García Matemáticas
2 1 María García Física
3 1 María García Química
4 2 Juan López Historia
5 2 Juan López Literatura

Aplicando 2FN

Para normalizar a 2FN, debemos:

  1. Separar la tabla en dos o más tablas
  2. Eliminar dependencias parciales

Tabla 1: Estudiantes

ID Estudiante Nombre
1 María García
2 Juan López

Tabla 2: Estudiantes_Cursos

ID ID Estudiante Curso
1 1 Matemáticas
2 1 Física
3 1 Química
4 2 Historia
5 2 Literatura

Ventajas de la 2FN:

  • Eliminación de redundancia de datos
  • Menor riesgo de inconsistencias
  • Actualizaciones más eficientes
  • Mejor organización de la información

Ejercicios Prácticos

A continuación, encontrarás 6 ejercicios clasificados por dificultad para practicar la normalización 1FN y 2FN. Analiza cada tabla propuesta y aplica las reglas aprendidas.

Dificultad Básica

Ejercicio 1: Lista de Contactos Básico

Tabla a normalizar

ID Contacto Nombre Teléfonos Email
001 Ana Martínez 555-1234, 555-5678 ana@email.com
002 Carlos Ruiz 555-9012 carlos@email.com
003 Laura Sánchez 555-3456, 555-7890 laura@email.com
Instrucciones:

Analiza la tabla anterior y aplica los procesos de normalización:

  1. Identifica los problemas que impiden que la tabla esté en 1FN
  2. Normaliza la tabla a Primera Forma Normal (1FN)
  3. Verifica si la tabla resultante está en Segunda Forma Normal (2FN)
  4. Si es necesario, aplica la normalización a 2FN

Ejercicio 2: Inventario de Productos Básico

Tabla a normalizar

ID Producto Nombre Categorías Precio
P001 Laptop Pro Electrónica, Computadoras 1200
P002 Mouse Inalámbrico Electrónica, Accesorios 25
P003 Teclado Mecánico Electrónica, Accesorios 80
Instrucciones:

Analiza la tabla anterior y aplica los procesos de normalización:

  1. Identifica los problemas que impiden que la tabla esté en 1FN
  2. Normaliza la tabla a Primera Forma Normal (1FN)
  3. Verifica si la tabla resultante está en Segunda Forma Normal (2FN)
  4. Si es necesario, aplica la normalización a 2FN
Dificultad Media

Ejercicio 3: Sistema de Ventas Medio

Tabla a normalizar

ID Venta Fecha Cliente Dirección Cliente Productos Cantidades
V001 2023-10-01 Juan Pérez Calle Principal 123 Laptop, Mouse 1, 2
V002 2023-10-02 María García Avenida Central 456 Monitor 1
V003 2023-10-03 Juan Pérez Calle Principal 123 Teclado, Webcam 1, 1
Instrucciones:

Analiza la tabla anterior y aplica los procesos de normalización:

  1. Identifica todos los problemas de normalización (1FN y 2FN)
  2. Normaliza la tabla a Primera Forma Normal (1FN)
  3. Identifica las dependencias parciales en la tabla resultante
  4. Normaliza a Segunda Forma Normal (2FN) creando las tablas necesarias

Ejercicio 4: Sistema de Biblioteca Medio

Tabla a normalizar

ID Libro Título Autores Género Editorial Año
L001 Programación Avanzada Juan Smith, Ana García Tecnología TechBooks 2022
L002 Bases de Datos Carlos Ruiz Tecnología DataPress 2021
L003 Algoritmos y Estructuras Juan Smith, María López Tecnología TechBooks 2023
Instrucciones:

Analiza la tabla anterior y aplica los procesos de normalización:

  1. Identifica todos los problemas de normalización (1FN y 2FN)
  2. Normaliza la tabla a Primera Forma Normal (1FN)
  3. Identifica las dependencias parciales y redundancias
  4. Normaliza a Segunda Forma Normal (2FN) creando las tablas necesarias
Dificultad Avanzada

Ejercicio 5: Sistema Médico Avanzado

Tabla a normalizar

ID Cita Fecha Hora Paciente Teléfono Paciente Médico Especialidad Consultorio Síntomas Diagnóstico
C001 2023-10-10 09:00 Laura Sánchez 555-1111 Dr. Pérez Cardiología 201 Dolor de pecho, Fatiga Hipertensión
C002 2023-10-10 10:30 Miguel Torres 555-2222 Dra. López Dermatología 305 Erupción cutánea Alergia
C003 2023-10-11 11:00 Laura Sánchez 555-1111 Dr. Pérez Cardiología 201 Mareos Vertigo
C004 2023-10-11 14:00 Ana Martínez 555-3333 Dr. Pérez Cardiología 201 Dolor de pecho Ansiedad
Instrucciones:

Analiza la tabla anterior y aplica los procesos de normalización:

  1. Identifica todos los problemas de normalización (1FN y 2FN)
  2. Normaliza la tabla a Primera Forma Normal (1FN)
  3. Identifica todas las dependencias parciales y redundancias
  4. Normaliza a Segunda Forma Normal (2FN) creando múltiples tablas relacionadas

Ejercicio 6: Sistema Educativo Avanzado

Tabla a normalizar

ID Inscripción Estudiante Email Estudiante Teléfono Estudiante Dirección Estudiante Cursos Profesores Horarios Aulas Calificaciones
I001 Carlos Ruiz carlos@email.com 555-1234 Calle A 123 Matemáticas, Física Dr. Smith, Dra. García 08:00-10:00, 10:30-12:30 A101, B205 85, 90
I002 Ana Martínez ana@email.com 555-5678 Calle B 456 Química Dr. López 14:00-16:00 C301 88
I003 Laura Sánchez laura@email.com 555-9012 Calle C 789 Matemáticas, Historia Dr. Smith, Dra. Pérez 08:00-10:00, 16:00-18:00 A101, D102 92, 87
Instrucciones:

Analiza la tabla anterior y aplica los procesos de normalización:

  1. Identifica todos los problemas de normalización (1FN y 2FN)
  2. Normaliza la tabla a Primera Forma Normal (1FN)
  3. Identifica todas las dependencias parciales y redundancias
  4. Normaliza a Segunda Forma Normal (2FN) creando múltiples tablas relacionadas

Consejos para resolver los ejercicios:

  • Comienza por los ejercicios básicos para entender los conceptos fundamentales
  • Recuerda que primero debes alcanzar la 1FN antes de pasar a la 2FN
  • Identifica todos los valores múltiples en las celdas para la 1FN
  • Busca redundancia de datos que indique dependencias parciales para la 2FN
  • No tengas miedo de crear múltiples tablas para eliminar redundancias
  • En los ejercicios avanzados, piensa en las relaciones entre las diferentes entidades