Primera Forma Normal (1NF)
Guía sobre la Primera Forma Normal en bases de datos SQL
Cristian Escalante
Última actualización: 1 de mayo de 2025
Primera Forma Normal (1NF)
La Primera Forma Normal (1NF) es una propiedad de las relaciones en una base de datos relacional. La regla establece: cada columna debe contener valores atómicos y cada fila debe ser única. Esto significa que no se permiten grupos repetidos o columnas que contengan múltiples valores en una sola celda.
Ejemplo de una tabla que no cumple con la 1NF:
CREATE TABLE estudiantes (
id INT PRIMARY KEY,
nombre VARCHAR(50),
cursos VARCHAR(100) -- Contiene múltiples valores
);
En este caso, la columna cursos
puede contener múltiples valores (por ejemplo, "Matemáticas, Historia").
Para comprender mejor cuando una tabla no cumple con la 1NF, insertemos datos usando la tabla anterior:
-- Si se insertan los cursos separados por comas
INSERT INTO estudiantes (id, nombre, cursos) VALUES
(1, 'Juan', 'Matemáticas, Historia'),
(2, 'María', 'Ciencias, Literatura'),
(3, 'Pedro', 'Matemáticas, Ciencias');
Se tendría la siguiente tabla:
id | nombre | cursos |
---|---|---|
1 | Juan | Matemáticas, Historia |
2 | María | Ciencias, Literatura |
3 | Pedro | Matemáticas, Ciencias |
Para cumplir con la 1NF, debemos dividir los cursos en filas separadas:
CREATE TABLE estudiantes (
id INT PRIMARY KEY,
nombre VARCHAR(50),
curso VARCHAR(50) -- Cada curso en una fila separada
);
-- Si se crea un registro con un solo curso, pero en repetidas ocaciones
INSERT INTO estudiantes (id, nombre, cursos) VALUES
(4, 'Ana', 'Matemáticas'),
(5, 'Ana', 'Literatura'),
(6, 'Luis', 'Matemáticas'),
(7, 'Carlos', 'Matemáticas');
En este caso se tendría la siguiente tabla:
id | nombre | cursos |
---|---|---|
4 | Ana | Matemáticas |
5 | Ana | Literatura |
6 | Luis | Matemáticas |
7 | Carlos | Matemáticas |