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:
- Comprender qué son las formas normales y por qué son importantes.
- Identificar y aplicar las diferentes formas normales (1NF, 2NF, 3NF, BCNF).
- Reconocer cuándo una base de datos está en una forma normal específica.
- Transformar una base de datos a una forma normal superior.
- 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 |
- 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 |
- 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 |
- 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.
Fundamentos de Bases de Datos
Módulo 1: Introducción a las Bases de Datos
- Conceptos Básicos de Bases de Datos
- Tipos de Bases de Datos
- Historia y Evolución de las Bases de Datos
Módulo 2: Bases de Datos Relacionales
Módulo 3: Bases de Datos No Relacionales
- Introducción a NoSQL
- Tipos de Bases de Datos NoSQL
- Comparación entre Bases de Datos Relacionales y No Relacionales
Módulo 4: Diseño de Esquemas
- Principios de Diseño de Esquemas
- Diagramas Entidad-Relación (ER)
- Transformación de Diagramas ER a Esquemas Relacionales