Segunda Forma Normal (2NF)
La Segunda Forma Normal (2NF) es una propiedad de las relaciones en una base de datos relacional.
Cristian Escalante
Última actualización: 10 de mayo de 2025
Segunda Forma Normal (2NF)
La Segunda Forma Normal (2NF) es una propiedad de las relaciones en una base de datos relacional. La regla establece: una relación está en 2NF si está en 1NF y todos los atributos no clave son completamente dependientes de la clave primaria. Esto significa que no debe haber dependencias parciales de la clave primaria.
Ejemplo de una tabla que no cumple con la 2NF:
CREATE TABLE estudiantes (
id_estudiante INT PRIMARY KEY,
nombre VARCHAR(50),
curso VARCHAR(50),
profesor VARCHAR(50) -- Dependencia parcial
);
Se tendría la siguiente tabla:
id_estudiante | nombre | curso | profesor |
---|---|---|---|
1 | Juan | Matemáticas | Juan Pérez |
2 | María | Historia | María López |
3 | Pedro | Matemáticas | Juan Pérez |
4 | Ana | Química | Ana García |
5 | Laura | Biología | María López |
6 | Juan | Biología | María López |
7 | Pedro | Biología | María López |
En este caso, la columna profesor
depende solo de curso
, no de id_estudiante
, lo que viola la 2NF.
Para cumplir con la 2NF, debemos dividir la tabla en dos:
-- Aquí se dividirá la tabla en dos para cumplir con la 2NF
CREATE TABLE estudiantes (
id_estudiante INT PRIMARY KEY,
nombre VARCHAR(50),
id_curso INT,
FOREIGN KEY (id_curso) REFERENCES cursos(id)
);
CREATE TABLE cursos (
id_curso INT PRIMARY KEY,
nombre_curso VARCHAR(50),
id_profesor INT,
profesor VARCHAR(50)
);