¿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:
- Cada celda contiene un único valor (valores atómicos)
- No existen grupos repetitivos de columnas
- 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 |
- La columna "Cursos" contiene múltiples valores (no atómicos)
- No hay una clave primaria única para cada curso
Aplicando 1FN
Para normalizar esta tabla a 1FN, debemos:
- Separar los valores múltiples en filas individuales
- 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 |
- Cada celda contiene un único valor
- No hay grupos repetitivos
- Cada fila tiene una clave primaria única (ID)
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:
- Debe estar en Primera Forma Normal (1FN)
- 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 |
- El atributo "Nombre" depende solo de "ID Estudiante" (dependencia parcial)
- Hay redundancia de datos (el nombre se repite)
Aplicando 2FN
Para normalizar a 2FN, debemos:
- Separar la tabla en dos o más tablas
- 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 |
- Se eliminó la redundancia (el nombre ya no se repite)
- No hay dependencias parciales
- Se estableció una relación entre las tablas mediante ID Estudiante
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.
Ejercicio 1: Lista de Contactos Básico
Tabla a normalizar
| ID Contacto | Nombre | Teléfonos | |
|---|---|---|---|
| 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:
- Identifica los problemas que impiden que la tabla esté en 1FN
- Normaliza la tabla a Primera Forma Normal (1FN)
- Verifica si la tabla resultante está en Segunda Forma Normal (2FN)
- 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:
- Identifica los problemas que impiden que la tabla esté en 1FN
- Normaliza la tabla a Primera Forma Normal (1FN)
- Verifica si la tabla resultante está en Segunda Forma Normal (2FN)
- Si es necesario, aplica la normalización a 2FN
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:
- Identifica todos los problemas de normalización (1FN y 2FN)
- Normaliza la tabla a Primera Forma Normal (1FN)
- Identifica las dependencias parciales en la tabla resultante
- 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:
- Identifica todos los problemas de normalización (1FN y 2FN)
- Normaliza la tabla a Primera Forma Normal (1FN)
- Identifica las dependencias parciales y redundancias
- Normaliza a Segunda Forma Normal (2FN) creando las tablas necesarias
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:
- Identifica todos los problemas de normalización (1FN y 2FN)
- Normaliza la tabla a Primera Forma Normal (1FN)
- Identifica todas las dependencias parciales y redundancias
- 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:
- Identifica todos los problemas de normalización (1FN y 2FN)
- Normaliza la tabla a Primera Forma Normal (1FN)
- Identifica todas las dependencias parciales y redundancias
- 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