HDP115

Tercera Forma Normal (3NF)

La Tercera Forma Normal (3NF) es una propiedad de las relaciones en una base de datos relacional.

CE

Cristian Escalante

Última actualización: 1 de mayo de 2025

sql
programación
desarrollo

Tercera Forma Normal (3NF)

La Tercera Forma Normal (3NF) es una propiedad de las relaciones en una base de datos relacional. La regla establece: una relación está en 3NF si está en 2NF y no tiene dependencias transitivas. Esto significa que no debe haber atributos no clave que dependan de otros atributos no clave.

Lo siguiente se encuentra en su segunda forma normal (2NF):

-- 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,
    nombre_profesor VARCHAR(50)
);

La columna nombre_profesor depende de id_profesor y id_profesor depende de id_curso. Por lo que nombre_profesor depende transitivamente de id_curso, lo que no cumple la 3NF.

La tabla cursos se veria de la siguiente manera:

id_cursonombre_cursoid_profesornombre_profesor
1Matemáticas1Juan Pérez
2Historia2María López
3Química1Juan Pérez
4Física3Ana García
5Biología2María López

Para cumplir con la 3NF, debemos dividir la tabla cursos en dos:

CREATE TABLE profesores (
    id_profesor INT PRIMARY KEY,
    nombre_profesor VARCHAR(50)
);

CREATE TABLE cursos (
    id_curso INT PRIMARY KEY,
    nombre_curso VARCHAR(50),
    id_profesor INT,
    FOREIGN KEY (id_profesor) REFERENCES profesores(id_profesor)
);

CREATE TABLE estudiantes (
    id_estudiante INT PRIMARY KEY,
    nombre VARCHAR(50),
    id_curso INT,
    FOREIGN KEY (id_curso) REFERENCES cursos(id)
);

De esta manera, hemos eliminado la dependencia transitiva de nombre_profesor y id_profesor en la tabla cursos, cumpliendo así con la 3NF.

Segunda Forma Normal (2NF)
La Segunda Forma Normal (2NF) es una propiedad de las relaci...
Desnormalización de Base de Datos
La desnormalización es el proceso intencional de introducir ...
Referencias
Microsoft. (6 de junio del 2024). Fundamentos de la normalización de bases de datos. https://learn.microsoft.com/es-es/office/troubleshoot/access/database-normalization-description
Samuel Shalbu. (30 de julio del 2024). Normalización en SQL (1NF - 5NF): Guía para principiantes. https://www.datacamp.com/es/tutorial/normalization-in-sql

Conceptos Básicos de HTML

Aprende los conceptos básicos de HTML

Conceptos Básicos de CSS

Aprende los conceptos básicos de CSS

Conceptos Básicos de JavaScript

Aprende los conceptos básicos de JavaScript

Conceptos Básicos de GIT

Aprende los conceptos básicos de GIT

Conceptos Básicos de Python

Aprende los conceptos básicos de Python

Conceptos Básicos de UML

Aprende los conceptos básicos de UML

Refuerzo Academico de Herramientas de Productividad 2025