En este tema, exploraremos las formas normales, un conjunto de reglas utilizadas en la normalización de bases de datos relacionales para reducir la redundancia y mejorar la integridad de los datos. La normalización es un proceso crucial en el diseño de bases de datos que ayuda a organizar los datos de manera eficiente y a evitar problemas comunes como la duplicación de datos y las anomalías de actualización.

Objetivos de Aprendizaje

Al finalizar este tema, deberías ser capaz de:

  1. Comprender qué son las formas normales y por qué son importantes.
  2. Identificar y aplicar las diferentes formas normales (1NF, 2NF, 3NF, BCNF).
  3. Reconocer cuándo una base de datos está en una forma normal específica.
  4. Transformar una base de datos a una forma normal superior.

  1. Primera Forma Normal (1NF)

Definición

Una tabla está en la Primera Forma Normal (1NF) si:

  • Todos los atributos contienen valores atómicos (indivisibles).
  • Todos los valores en una columna son del mismo tipo de datos.
  • Cada columna contiene solo un valor por fila.
  • Cada fila es única.

Ejemplo

Considera la siguiente tabla que no está en 1NF:

ID Nombre Teléfonos
1 Juan 123-456, 789-012
2 María 345-678
3 Pedro 901-234, 567-890

Para convertirla a 1NF, debemos asegurarnos de que cada celda contenga un solo valor:

ID Nombre Teléfono
1 Juan 123-456
1 Juan 789-012
2 María 345-678
3 Pedro 901-234
3 Pedro 567-890

  1. Segunda Forma Normal (2NF)

Definición

Una tabla está en la Segunda Forma Normal (2NF) si:

  • Está en 1NF.
  • Todos los atributos no clave dependen completamente de la clave primaria.

Ejemplo

Considera la siguiente tabla que está en 1NF pero no en 2NF:

ID Curso Profesor
1 Matemáticas Sr. Pérez
2 Historia Sra. López
1 Física Sr. Pérez

Para convertirla a 2NF, debemos eliminar las dependencias parciales:

Tabla Estudiantes:

ID Nombre
1 Juan
2 María

Tabla Cursos:

Curso Profesor
Matemáticas Sr. Pérez
Historia Sra. López
Física Sr. Pérez

Tabla Estudiantes_Cursos:

ID Curso
1 Matemáticas
2 Historia
1 Física

  1. Tercera Forma Normal (3NF)

Definición

Una tabla está en la Tercera Forma Normal (3NF) si:

  • Está en 2NF.
  • No existen dependencias transitivas entre los atributos no clave y la clave primaria.

Ejemplo

Considera la siguiente tabla que está en 2NF pero no en 3NF:

ID Curso Profesor Departamento
1 Matemáticas Sr. Pérez Ciencias
2 Historia Sra. López Humanidades
1 Física Sr. Pérez Ciencias

Para convertirla a 3NF, debemos eliminar las dependencias transitivas:

Tabla Cursos:

Curso Profesor
Matemáticas Sr. Pérez
Historia Sra. López
Física Sr. Pérez

Tabla Profesores:

Profesor Departamento
Sr. Pérez Ciencias
Sra. López Humanidades

  1. Forma Normal de Boyce-Codd (BCNF)

Definición

Una tabla está en la Forma Normal de Boyce-Codd (BCNF) si:

  • Está en 3NF.
  • Para cada dependencia funcional X -> Y, X es una superclave.

Ejemplo

Considera la siguiente tabla que está en 3NF pero no en BCNF:

Curso Profesor Aula
Matemáticas Sr. Pérez A101
Historia Sra. López B202
Física Sr. Pérez A101

Para convertirla a BCNF, debemos asegurarnos de que cada dependencia funcional tenga una superclave:

Tabla Cursos:

Curso Profesor
Matemáticas Sr. Pérez
Historia Sra. López
Física Sr. Pérez

Tabla Aulas:

Profesor Aula
Sr. Pérez A101
Sra. López B202

Ejercicios Prácticos

Ejercicio 1

Dada la siguiente tabla, identifique si está en 1NF, 2NF, 3NF o BCNF y justifique su respuesta:

ID Nombre Dirección Ciudad Estado
1 Juan Calle 123, Apt 4 Ciudad A Estado X
2 María Calle 456, Apt 5 Ciudad B Estado Y
3 Pedro Calle 789, Apt 6 Ciudad A Estado X

Solución

La tabla está en 1NF porque cada celda contiene un solo valor y todos los valores en una columna son del mismo tipo de datos. Sin embargo, no está en 2NF porque hay dependencias parciales entre la clave primaria (ID) y los atributos no clave (Ciudad, Estado). Para llevarla a 2NF, debemos crear tablas adicionales para eliminar estas dependencias parciales.

Ejercicio 2

Normalice la siguiente tabla hasta 3NF:

ID Nombre Curso Profesor Departamento
1 Juan Matemáticas Sr. Pérez Ciencias
2 María Historia Sra. López Humanidades
3 Pedro Física Sr. Pérez Ciencias

Solución

Tabla Estudiantes:

ID Nombre
1 Juan
2 María
3 Pedro

Tabla Cursos:

Curso Profesor
Matemáticas Sr. Pérez
Historia Sra. López
Física Sr. Pérez

Tabla Profesores:

Profesor Departamento
Sr. Pérez Ciencias
Sra. López Humanidades

Tabla Estudiantes_Cursos:

ID Curso
1 Matemáticas
2 Historia
3 Física

Conclusión

En este tema, hemos explorado las diferentes formas normales y su importancia en el diseño de bases de datos relacionales. La normalización ayuda a reducir la redundancia y mejorar la integridad de los datos. Hemos aprendido a identificar y aplicar las formas normales 1NF, 2NF, 3NF y BCNF, y hemos practicado con ejemplos y ejercicios prácticos. Con estos conocimientos, estás mejor preparado para diseñar bases de datos eficientes y bien estructuradas.

© Copyright 2024. Todos los derechos reservados